--- a/regression.py Thu Apr 09 15:17:28 2009 +0100
+++ b/regression.py Mon Apr 13 23:10:37 2009 +0100
@@ -6,7 +6,6 @@
import errno
# WAF modules
-import Build
import Options
import Utils
import Task
@@ -66,9 +65,11 @@
after = 'cc cxx cc_link cxx_link'
color = 'BLUE'
- def __init__(self, env, test_name, test_scripts_dir, build_traces_dir, reference_traces):
- super(regression_test_task, self).__init__()
+ def __init__(self, bld, env, test_name, test_scripts_dir, build_traces_dir, reference_traces):
+ self.bld = bld
+ self.generator = self
self.env = env
+ super(regression_test_task, self).__init__(generator=self, env=env)
self.test_name = test_name
self.test_scripts_dir = test_scripts_dir
self.build_traces_dir = build_traces_dir
@@ -77,6 +78,9 @@
def __str__(self):
return 'regression-test (%s)\n' % self.test_name
+ def runnable_status(self):
+ return Task.RUN_ME
+
def run(self):
"""Run a single test"""
sys.path.insert(0, self.test_scripts_dir)
@@ -119,7 +123,7 @@
if Options.options.regression_generate:
# clean the target dir
try:
- shutil.rmtree(trace_output_path)
+ shutil.rmtree(reference_traces_path)
except OSError, ex:
if ex.errno not in [errno.ENOENT]:
raise
@@ -206,13 +210,17 @@
after = 'regression_test_task'
color = 'BLUE'
- def __init__(self, test_tasks):
- super(regression_test_collector_task, self).__init__()
+ def __init__(self, bld, test_tasks):
+ self.bld = bld
+ super(regression_test_collector_task, self).__init__(generator=self)
self.test_tasks = test_tasks
def __str__(self):
return 'regression-test-collector\n'
+ def runnable_status(self):
+ return Task.RUN_ME
+
def run(self):
failed_tests = [test for test in self.test_tasks if test.result is not None and test.result != 0]
skipped_tests = [test for test in self.test_tasks if test.result is None]
@@ -256,5 +264,7 @@
build_traces_dir = bld.path.find_or_declare('regression/traces').abspath(bld.env)
tasks = []
for test in tests:
- tasks.append(regression_test_task(bld.env, test, test_scripts_dir, build_traces_dir, reference_traces))
- regression_test_collector_task(tasks)
+ task = regression_test_task(bld, bld.env, test, test_scripts_dir, build_traces_dir, reference_traces)
+ #bld.task_manager.add_task(task)
+ tasks.append(task)
+ regression_test_collector_task(bld, tasks)