diff options
author | Felix Domke <tmbinc@elitedvb.net> | 2007-03-26 16:39:09 (GMT) |
---|---|---|
committer | Felix Domke <tmbinc@elitedvb.net> | 2007-03-26 16:39:09 (GMT) |
commit | 0f1babbcbccc7dcec4332d665aa1e6d1d426a0ae (patch) | |
tree | 8a179beeffccfd710700da3453903ec2ae7b16a5 /tests | |
parent | a531f1ddfcd4707e75f3425faebbc277466691d5 (diff) |
compare results
Diffstat (limited to 'tests')
-rw-r--r-- | tests/events.py | 42 |
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) |