summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorFelix Domke <tmbinc@elitedvb.net>2007-03-26 16:39:09 (GMT)
committerFelix Domke <tmbinc@elitedvb.net>2007-03-26 16:39:09 (GMT)
commit0f1babbcbccc7dcec4332d665aa1e6d1d426a0ae (patch)
tree8a179beeffccfd710700da3453903ec2ae7b16a5 /tests
parenta531f1ddfcd4707e75f3425faebbc277466691d5 (diff)
compare results
Diffstat (limited to 'tests')
-rw-r--r--tests/events.py42
1 files changed, 37 insertions, 5 deletions
diff --git a/tests/events.py b/tests/events.py
index 60dd4a5..83d7f2b 100644
--- a/tests/events.py
+++ b/tests/events.py
@@ -1,4 +1,5 @@
import time
+import tests
recorded_events = [ ]
@@ -24,15 +25,46 @@ def start_log():
global base_time
base_time = time.time()
-def end_log():
+def end_log(test_name):
global base_time
+
+ results = ""
+
for (t, self, method, args, kwargs) in get_events():
- print "%s T+%f: %s::%s(%s, *%s, *%s)" % (time.ctime(t), t - base_time, str(self.__class__), method, self, args, kwargs)
+ results += "%s T+%f: %s::%s(%s, *%s, *%s)\n" % (time.ctime(t), t - base_time, str(self.__class__), method, self, args, kwargs)
-def log(fnc, base_time = 0, *args, **kwargs):
+ expected = None
+
+ try:
+ f = open(test_name + ".results", "rb")
+ expected = f.read()
+ f.close()
+ except:
+ print "NO TEST RESULT FOUND, creating new"
+ f = open(test_name + ".new_results", "wb")
+ f.write(results)
+ f.close()
+
+ print expected, results
+
+ if expected is not None:
+ print "expected:"
+ if expected != results:
+ open(test_name + ".bogus_results", "wb").write(results)
+ raise tests.TestError("test data does not match")
+ else:
+ print "test compared ok"
+ else:
+ print "no test data to compare with."
+
+def log(fnc, base_time = 0, test_name = "test", *args, **kwargs):
import fake_time
fake_time.setTime(base_time)
start_log()
- fnc(*args, **kwargs)
- end_log()
+ try:
+ fnc(*args, **kwargs)
+ event(None, "test_completed", [], {"test_name": test_name})
+ except tests.TestError,c:
+ event(None, "test_failed", [], {"test_name": test_name, "reason": str(c)})
+ end_log(test_name)