apply patch for bug 390 (regression tests can't open input files)
authormathieu.lacage@sophia.inria.fr
Wed Nov 05 19:45:40 2008 -0800 (15 months ago)
changeset 3845e45be3d9181b
parent 3844 df9b99bc768c
child 3846 265004d6dc15
apply patch for bug 390 (regression tests can't open input files)
wscript
     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