1.1 --- a/wscript Wed Nov 05 17:35:15 2008 -0800
1.2 +++ b/wscript Wed Nov 05 19:45:40 2008 -0800
1.3 @@ -922,19 +922,29 @@
1.4 print "Cannot locate reference traces in " + refTestDirName
1.5 return 1
1.6
1.7 - shutil.rmtree("traces");
1.8 - os.mkdir("traces")
1.9 +
1.10 + if refTestName is None:
1.11 + traceDirName = testName + ".ref"
1.12 + else:
1.13 + traceDirName = refTestName
1.14 + traceDirName = os.path.join ('traces', traceDirName)
1.15 +
1.16 + try:
1.17 + shutil.rmtree(traceDirName)
1.18 + except OSError:
1.19 + pass
1.20 + os.mkdir(traceDirName)
1.21
1.22 #os.system("./waf --cwd regression/traces --run " +
1.23 # testName + " > /dev/null 2>&1")
1.24
1.25 if pyscript is None:
1.26 - Params.g_options.cwd_launch = "traces"
1.27 + Params.g_options.cwd_launch = traceDirName
1.28 run_program(testName, command_template=get_command_template(*arguments))
1.29 else:
1.30 - argv = [self.env['PYTHON'], os.path.join('..', '..', *os.path.split(pyscript))] + arguments
1.31 + argv = [self.env['PYTHON'], os.path.join('..', '..', '..', *os.path.split(pyscript))] + arguments
1.32 before = os.getcwd()
1.33 - os.chdir("traces")
1.34 + os.chdir(traceDirName)
1.35 try:
1.36 _run_argv(argv)
1.37 finally:
1.38 @@ -942,7 +952,7 @@
1.39
1.40 if verbose:
1.41 #diffCmd = "diff traces " + refTestDirName + " | head"
1.42 - diffCmd = subprocess.Popen([self.env['DIFF'], "traces", refTestDirName],
1.43 + diffCmd = subprocess.Popen([self.env['DIFF'], traceDirName, refTestDirName],
1.44 stdout=subprocess.PIPE)
1.45 headCmd = subprocess.Popen("head", stdin=diffCmd.stdout)
1.46 rc2 = headCmd.wait()
1.47 @@ -950,7 +960,7 @@
1.48 rc1 = diffCmd.wait()
1.49 rc = rc1 or rc2
1.50 else:
1.51 - rc = subprocess.Popen([self.env['DIFF'], "traces", refTestDirName], stdout=dev_null()).wait()
1.52 + rc = subprocess.Popen([self.env['DIFF'], traceDirName, refTestDirName], stdout=dev_null()).wait()
1.53 if rc:
1.54 print "----------"
1.55 print "Traces differ in test: test-" + testName
1.56 @@ -958,7 +968,7 @@
1.57 print "Traces in directory: traces"
1.58 print "Rerun regression test as: " + \
1.59 "\"./waf --regression --regression-tests=test-" + testName + "\""
1.60 - print "Then do \"diff -u regression/" + refTestDirName + " regression/traces" \
1.61 + print "Then do \"diff -u regression/" + refTestDirName + " regression/" + traceDirName +\
1.62 "\" for details"
1.63 print "----------"
1.64 return rc
1.65 @@ -1052,13 +1062,13 @@
1.66 Arguments:
1.67 test -- the name of the test
1.68 """
1.69 +
1.70 if os.path.exists("traces"):
1.71 files = os.listdir("traces")
1.72 for file in files:
1.73 if file == '.' or file == '..':
1.74 continue
1.75 - path = "traces" + os.sep + file
1.76 - os.remove(path)
1.77 + shutil.rmtree(os.path.join ("traces", file))
1.78 else:
1.79 os.mkdir("traces")
1.80