apply patch for bug 390 (regression tests can't open input files)

This commit is contained in:
mathieu.
2008-11-05 19:45:40 -08:00
parent eaf0526911
commit 83ac2144c0

30
wscript
View File

@@ -922,19 +922,29 @@ class Regression(object):
print "Cannot locate reference traces in " + refTestDirName
return 1
shutil.rmtree("traces");
os.mkdir("traces")
if refTestName is None:
traceDirName = testName + ".ref"
else:
traceDirName = refTestName
traceDirName = os.path.join ('traces', traceDirName)
try:
shutil.rmtree(traceDirName)
except OSError:
pass
os.mkdir(traceDirName)
#os.system("./waf --cwd regression/traces --run " +
# testName + " > /dev/null 2>&1")
if pyscript is None:
Params.g_options.cwd_launch = "traces"
Params.g_options.cwd_launch = traceDirName
run_program(testName, command_template=get_command_template(*arguments))
else:
argv = [self.env['PYTHON'], os.path.join('..', '..', *os.path.split(pyscript))] + arguments
argv = [self.env['PYTHON'], os.path.join('..', '..', '..', *os.path.split(pyscript))] + arguments
before = os.getcwd()
os.chdir("traces")
os.chdir(traceDirName)
try:
_run_argv(argv)
finally:
@@ -942,7 +952,7 @@ class Regression(object):
if verbose:
#diffCmd = "diff traces " + refTestDirName + " | head"
diffCmd = subprocess.Popen([self.env['DIFF'], "traces", refTestDirName],
diffCmd = subprocess.Popen([self.env['DIFF'], traceDirName, refTestDirName],
stdout=subprocess.PIPE)
headCmd = subprocess.Popen("head", stdin=diffCmd.stdout)
rc2 = headCmd.wait()
@@ -950,7 +960,7 @@ class Regression(object):
rc1 = diffCmd.wait()
rc = rc1 or rc2
else:
rc = subprocess.Popen([self.env['DIFF'], "traces", refTestDirName], stdout=dev_null()).wait()
rc = subprocess.Popen([self.env['DIFF'], traceDirName, refTestDirName], stdout=dev_null()).wait()
if rc:
print "----------"
print "Traces differ in test: test-" + testName
@@ -958,7 +968,7 @@ class Regression(object):
print "Traces in directory: traces"
print "Rerun regression test as: " + \
"\"./waf --regression --regression-tests=test-" + testName + "\""
print "Then do \"diff -u regression/" + refTestDirName + " regression/traces" \
print "Then do \"diff -u regression/" + refTestDirName + " regression/" + traceDirName +\
"\" for details"
print "----------"
return rc
@@ -1052,13 +1062,13 @@ def _run_regression_test(test):
Arguments:
test -- the name of the test
"""
if os.path.exists("traces"):
files = os.listdir("traces")
for file in files:
if file == '.' or file == '..':
continue
path = "traces" + os.sep + file
os.remove(path)
shutil.rmtree(os.path.join ("traces", file))
else:
os.mkdir("traces")