[conduit: 16/138] Wrappers for test data sets
- From: John Carr <johncarr src gnome org>
- To: svn-commits-list gnome org
- Subject: [conduit: 16/138] Wrappers for test data sets
- Date: Thu, 21 May 2009 03:28:17 -0400 (EDT)
commit dc25a653a863a28328388eeec54564f5a911958b
Author: John Carr <john carr unrouted co uk>
Date: Mon Apr 20 07:11:44 2009 -0700
Wrappers for test data sets
---
test/soup/__init__.py | 1 +
test/soup/data/__init__.py | 33 +++++++++++++++++++++++++++++++++
test/soup/data/file.py | 5 +++++
3 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/test/soup/__init__.py b/test/soup/__init__.py
index 557b471..1f2c5ce 100644
--- a/test/soup/__init__.py
+++ b/test/soup/__init__.py
@@ -6,6 +6,7 @@ sys.path.insert(0, os.path.abspath(os.path.join(cwd, '..', '..')))
import unittest
import modules
+import data
CHANGE_ADD = 1
CHANGE_REPLACE = 2
diff --git a/test/soup/data/__init__.py b/test/soup/data/__init__.py
new file mode 100644
index 0000000..2b8ca46
--- /dev/null
+++ b/test/soup/data/__init__.py
@@ -0,0 +1,33 @@
+import os, sys
+
+class DataWrapper(object):
+ """
+ This class provides a wrapper around some test data.
+ """
+
+ def get_all(self):
+ raise NotImplementedError
+
+
+def load_all_data():
+ basepath = os.path.dirname(__file__)
+ for root, dirs, files in os.walk(basepath):
+ for dir in dirs:
+ if dir[:1] != ".":
+ load_data(dir)
+ for file in files:
+ if file.endswith(".py") and not file.startswith("__"):
+ load_data(file[:-3])
+ break
+
+def load_data(dw):
+ if sys.modules.has_key(dw):
+ reload(sys.modules[dw])
+ else:
+ __import__("soup.data", {}, {}, [dw])
+
+def get_all():
+ if len(DataWrapper.__subclasses__()) == 0:
+ load_all_data()
+ return DataWrapper.__subclasses__()
+
diff --git a/test/soup/data/file.py b/test/soup/data/file.py
new file mode 100644
index 0000000..0e53163
--- /dev/null
+++ b/test/soup/data/file.py
@@ -0,0 +1,5 @@
+import soup.data
+
+class FileWrapper(soup.data.DataWrapper):
+ pass
+
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]