|
|
| 878 |
print "Cannot locate reference traces in " + refTestDirName |
878 |
print "Cannot locate reference traces in " + refTestDirName |
| 879 |
return 1 |
879 |
return 1 |
| 880 |
|
880 |
|
| 881 |
shutil.rmtree("traces"); |
881 |
|
| 882 |
os.mkdir("traces") |
882 |
if refTestName is None: |
|
|
883 |
traceDirName = testName + ".ref" |
| 884 |
else: |
| 885 |
traceDirName = refTestName |
| 886 |
traceDirName = os.path.join ('traces', traceDirName) |
| 887 |
|
| 888 |
try: |
| 889 |
shutil.rmtree(traceDirName) |
| 890 |
except OSError: |
| 891 |
pass |
| 892 |
os.mkdir(traceDirName) |
| 883 |
|
893 |
|
| 884 |
#os.system("./waf --cwd regression/traces --run " + |
894 |
#os.system("./waf --cwd regression/traces --run " + |
| 885 |
# testName + " > /dev/null 2>&1") |
895 |
# testName + " > /dev/null 2>&1") |
| 886 |
|
896 |
|
| 887 |
if pyscript is None: |
897 |
if pyscript is None: |
| 888 |
Params.g_options.cwd_launch = "traces" |
898 |
Params.g_options.cwd_launch = traceDirName |
| 889 |
run_program(testName, command_template=get_command_template(*arguments)) |
899 |
run_program(testName, command_template=get_command_template(*arguments)) |
| 890 |
else: |
900 |
else: |
| 891 |
argv = [self.env['PYTHON'], os.path.join('..', '..', *os.path.split(pyscript))] + arguments |
901 |
argv = [self.env['PYTHON'], os.path.join('..', '..', '..', *os.path.split(pyscript))] + arguments |
| 892 |
before = os.getcwd() |
902 |
before = os.getcwd() |
| 893 |
os.chdir("traces") |
903 |
os.chdir(traceDirName) |
| 894 |
try: |
904 |
try: |
| 895 |
_run_argv(argv) |
905 |
_run_argv(argv) |
| 896 |
finally: |
906 |
finally: |
|
|
| 898 |
|
908 |
|
| 899 |
if verbose: |
909 |
if verbose: |
| 900 |
#diffCmd = "diff traces " + refTestDirName + " | head" |
910 |
#diffCmd = "diff traces " + refTestDirName + " | head" |
| 901 |
diffCmd = subprocess.Popen([self.env['DIFF'], "traces", refTestDirName], |
911 |
diffCmd = subprocess.Popen([self.env['DIFF'], traceDirName, refTestDirName], |
| 902 |
stdout=subprocess.PIPE) |
912 |
stdout=subprocess.PIPE) |
| 903 |
headCmd = subprocess.Popen("head", stdin=diffCmd.stdout) |
913 |
headCmd = subprocess.Popen("head", stdin=diffCmd.stdout) |
| 904 |
rc2 = headCmd.wait() |
914 |
rc2 = headCmd.wait() |
|
|
| 906 |
rc1 = diffCmd.wait() |
916 |
rc1 = diffCmd.wait() |
| 907 |
rc = rc1 or rc2 |
917 |
rc = rc1 or rc2 |
| 908 |
else: |
918 |
else: |
| 909 |
rc = subprocess.Popen([self.env['DIFF'], "traces", refTestDirName], stdout=dev_null()).wait() |
919 |
rc = subprocess.Popen([self.env['DIFF'], traceDirName, refTestDirName], stdout=dev_null()).wait() |
| 910 |
if rc: |
920 |
if rc: |
| 911 |
print "----------" |
921 |
print "----------" |
| 912 |
print "Traces differ in test: test-" + testName |
922 |
print "Traces differ in test: test-" + testName |
|
|
| 914 |
print "Traces in directory: traces" |
924 |
print "Traces in directory: traces" |
| 915 |
print "Rerun regression test as: " + \ |
925 |
print "Rerun regression test as: " + \ |
| 916 |
"\"./waf --regression --regression-tests=test-" + testName + "\"" |
926 |
"\"./waf --regression --regression-tests=test-" + testName + "\"" |
| 917 |
print "Then do \"diff -u regression/" + refTestDirName + " regression/traces" \ |
927 |
print "Then do \"diff -u regression/" + refTestDirName + " regression/" + traceDirName +\ |
| 918 |
"\" for details" |
928 |
"\" for details" |
| 919 |
print "----------" |
929 |
print "----------" |
| 920 |
return rc |
930 |
return rc |
|
|
| 1013 |
for file in files: |
1023 |
for file in files: |
| 1014 |
if file == '.' or file == '..': |
1024 |
if file == '.' or file == '..': |
| 1015 |
continue |
1025 |
continue |
| 1016 |
path = "traces" + os.sep + file |
1026 |
shutil.rmtree(os.path.join ("traces", file)) |
| 1017 |
os.remove(path) |
|
|
| 1018 |
else: |
1027 |
else: |
| 1019 |
os.mkdir("traces") |
1028 |
os.mkdir("traces") |
| 1020 |
|
1029 |
|