--- a/wscript Sat Oct 03 16:21:58 2009 -0700
+++ b/wscript Sun Oct 04 20:52:24 2009 -0700
@@ -177,6 +177,7 @@
help=("Enable regression testing; only used for the 'check' target"),
default=False, dest='regression', action="store_true")
opt.add_option('--check',
+ help=('DEPRECATED (run ./test.py)'),
help=("Enable unit testing"),
default=False, dest='check', action="store_true")
opt.add_option('--regression-generate',
@@ -566,11 +567,11 @@
" (--with-regression-traces configure option)")
regression.run_regression(bld, regression_traces)
- if Options.options.check:
- Options.options.compile_targets += ',run-tests'
- if env['ENABLE_PYTHON_BINDINGS']:
- Options.options.compile_targets += ',ns3module,pybindgen-command'
- _run_check(bld)
+# if Options.options.check:
+# Options.options.compile_targets += ',run-tests'
+# if env['ENABLE_PYTHON_BINDINGS']:
+# Options.options.compile_targets += ',ns3module,pybindgen-command'
+# _run_check(bld)
if Options.options.doxygen_no_build:
doxygen()
@@ -597,7 +598,10 @@
raise SystemExit(0)
if Options.options.shell:
- raise Utils.WafError("Run `./waf shell' now, instead of `./waf shell'")
+ raise Utils.WafError("Please run `./waf shell' now, instead of `./waf --shell'")
+
+ if Options.options.check:
+ raise Utils.WafError("Please run `./test.py' now, instead of `./waf --check'")
if Options.options.doxygen:
doxygen()
@@ -611,9 +615,10 @@
check_context = Build.BuildContext
+
def check(bld):
- """run the NS-3 unit tests (deprecated in favour of --check option)"""
- raise Utils.WafError("Please run `./waf --check' instead.")
+ """run the NS-3 unit tests (deprecated in favour of test.py)"""
+ raise Utils.WafError("Please run `./test.py' now, instead of './waf check'")
class print_introspected_doxygen_task(Task.TaskBase):
@@ -666,112 +671,110 @@
wutils.run_argv([self.bld.env['PYTHON'], os.path.join("..", "utils", "python-unit-tests.py")],
self.bld.env, proc_env, force_no_valgrind=True)
-
-class run_a_unit_test_task(Task.TaskBase):
- after = 'cc cxx cc_link cxx_link'
- color = 'BLUE'
-
- def __init__(self, bld, name_of_test):
- self.bld = bld
- super(run_a_unit_test_task, self).__init__(generator=self)
- self.name_of_test = name_of_test
- try:
- program_obj = wutils.find_program("run-tests", self.bld.env)
- except ValueError, ex:
- raise Utils.WafError(str(ex))
- program_node = program_obj.path.find_or_declare(ccroot.get_target_name(program_obj))
- self.program_path = program_node.abspath(self.bld.env)
-
- def __str__(self):
- return 'run-unit-test(%s)\n' % self.name_of_test
-
- def runnable_status(self):
- return Task.RUN_ME
-
- def run(self):
- #print repr([self.program_path, self.name_of_test])
- try:
- self.retval = wutils.run_argv([self.program_path, self.name_of_test], self.bld.env)
- except Utils.WafError:
- self.retval = 1
- #print "running test %s: exit with %i" % (self.name_of_test, retval)
- return 0
-
-class get_list_of_unit_tests_task(Task.TaskBase):
- after = 'cc cxx cc_link cxx_link'
- color = 'BLUE'
-
- def __init__(self, bld):
- self.bld = bld
- super(get_list_of_unit_tests_task, self).__init__(generator=self)
- self.tests = []
-
- def __str__(self):
- return 'get-unit-tests-list\n'
-
- def runnable_status(self):
- return Task.RUN_ME
-
- def run(self):
- try:
- program_obj = wutils.find_program("run-tests", self.bld.env)
- except ValueError, ex:
- raise Utils.WafError(str(ex))
- program_node = program_obj.path.find_or_declare(ccroot.get_target_name(program_obj))
- program_path = program_node.abspath(self.bld.env)
- proc = subprocess.Popen([program_path, "--ListTests"], stdout=subprocess.PIPE,
- env=wutils.get_proc_env())
- self.tests = [l.rstrip() for l in proc.stdout.readlines()]
- retval = proc.wait()
- if retval:
- return retval
- test_tasks = []
- for name_of_test in self.tests:
- test_tasks.append(run_a_unit_test_task(self.bld, name_of_test))
- collector = collect_unit_test_results_task(self.bld, list(test_tasks))
- collector.run_after = list(test_tasks)
- self.more_tasks = [collector] + test_tasks
-
-
-class collect_unit_test_results_task(Task.TaskBase):
- after = 'run_a_unit_test_task'
- color = 'BLUE'
-
- def __init__(self, bld, test_tasks):
- self.bld = bld
- super(collect_unit_test_results_task, self).__init__(generator=self)
- self.test_tasks = test_tasks
-
- def __str__(self):
- return 'collect-unit-tests-results\n'
-
- def runnable_status(self):
- for t in self.run_after:
- if not t.hasrun:
- return Task.ASK_LATER
- return Task.RUN_ME
-
- def run(self):
- failed_tasks = []
- for task in self.test_tasks:
- if task.retval:
- failed_tasks.append(task)
- if failed_tasks:
- print "C++ UNIT TESTS: %i tests passed, %i failed (%s)." % \
- (len(self.test_tasks) - len(failed_tasks), len(failed_tasks),
- ', '.join(t.name_of_test for t in failed_tasks))
- return 1
- else:
- print "C++ UNIT TESTS: all %i tests passed." % (len(self.test_tasks),)
- return 0
-
-
-def _run_check(bld):
- task = get_list_of_unit_tests_task(bld)
- print_introspected_doxygen_task(bld)
- if bld.env['ENABLE_PYTHON_BINDINGS']:
- run_python_unit_tests_task(bld)
-
+#class run_a_unit_test_task(Task.TaskBase):
+# after = 'cc cxx cc_link cxx_link'
+# color = 'BLUE'
+#
+# def __init__(self, bld, name_of_test):
+# self.bld = bld
+# super(run_a_unit_test_task, self).__init__(generator=self)
+# self.name_of_test = name_of_test
+# try:
+# program_obj = wutils.find_program("run-tests", self.bld.env)
+# except ValueError, ex:
+# raise Utils.WafError(str(ex))
+# program_node = program_obj.path.find_or_declare(ccroot.get_target_name(program_obj))
+# self.program_path = program_node.abspath(self.bld.env)
+#
+# def __str__(self):
+# return 'run-unit-test(%s)\n' % self.name_of_test
+#
+# def runnable_status(self):
+# return Task.RUN_ME
+#
+# def run(self):
+# #print repr([self.program_path, self.name_of_test])
+# try:
+# self.retval = wutils.run_argv([self.program_path, self.name_of_test], self.bld.env)
+# except Utils.WafError:
+# self.retval = 1
+# #print "running test %s: exit with %i" % (self.name_of_test, retval)
+# return 0
+#
+#class get_list_of_unit_tests_task(Task.TaskBase):
+# after = 'cc cxx cc_link cxx_link'
+# color = 'BLUE'
+#
+# def __init__(self, bld):
+# self.bld = bld
+# super(get_list_of_unit_tests_task, self).__init__(generator=self)
+# self.tests = []
+#
+# def __str__(self):
+# return 'get-unit-tests-list\n'
+#
+# def runnable_status(self):
+# return Task.RUN_ME
+#
+# def run(self):
+# try:
+# program_obj = wutils.find_program("run-tests", self.bld.env)
+# except ValueError, ex:
+# raise Utils.WafError(str(ex))
+# program_node = program_obj.path.find_or_declare(ccroot.get_target_name(program_obj))
+# program_path = program_node.abspath(self.bld.env)
+# proc = subprocess.Popen([program_path, "--ListTests"], stdout=subprocess.PIPE,
+# env=wutils.get_proc_env())
+# self.tests = [l.rstrip() for l in proc.stdout.readlines()]
+# retval = proc.wait()
+# if retval:
+# return retval
+# test_tasks = []
+# for name_of_test in self.tests:
+# test_tasks.append(run_a_unit_test_task(self.bld, name_of_test))
+# collector = collect_unit_test_results_task(self.bld, list(test_tasks))
+# collector.run_after = list(test_tasks)
+# self.more_tasks = [collector] + test_tasks
+#
+#
+#class collect_unit_test_results_task(Task.TaskBase):
+# after = 'run_a_unit_test_task'
+# color = 'BLUE'
+#
+# def __init__(self, bld, test_tasks):
+# self.bld = bld
+# super(collect_unit_test_results_task, self).__init__(generator=self)
+# self.test_tasks = test_tasks
+#
+# def __str__(self):
+# return 'collect-unit-tests-results\n'
+#
+# def runnable_status(self):
+# for t in self.run_after:
+# if not t.hasrun:
+# return Task.ASK_LATER
+# return Task.RUN_ME
+#
+# def run(self):
+# failed_tasks = []
+# for task in self.test_tasks:
+# if task.retval:
+# failed_tasks.append(task)
+# if failed_tasks:
+# print "C++ UNIT TESTS: %i tests passed, %i failed (%s)." % \
+# (len(self.test_tasks) - len(failed_tasks), len(failed_tasks),
+# ', '.join(t.name_of_test for t in failed_tasks))
+# return 1
+# else:
+# print "C++ UNIT TESTS: all %i tests passed." % (len(self.test_tasks),)
+# return 0
+#
+#
+#def _run_check(bld):
+# task = get_list_of_unit_tests_task(bld)
+# print_introspected_doxygen_task(bld)
+# if bld.env['ENABLE_PYTHON_BINDINGS']:
+# run_python_unit_tests_task(bld)
def check_shell(bld):
if 'NS3_MODULE_PATH' not in os.environ: