tests/run-tests.py
changeset 21369 1d0aa8bccc87
parent 21368 a884548f5421
child 21370 97475f27bebe
equal deleted inserted replaced
21368:a884548f5421 21369:1d0aa8bccc87
  1017     def run(self, tests):
  1017     def run(self, tests):
  1018         """Run the test suite."""
  1018         """Run the test suite."""
  1019         return self._run(tests)
  1019         return self._run(tests)
  1020 
  1020 
  1021     def _run(self, tests):
  1021     def _run(self, tests):
       
  1022         if self.options.tmpdir:
       
  1023             self.options.keep_tmpdir = True
       
  1024             tmpdir = self.options.tmpdir
       
  1025             if os.path.exists(tmpdir):
       
  1026                 # Meaning of tmpdir has changed since 1.3: we used to create
       
  1027                 # HGTMP inside tmpdir; now HGTMP is tmpdir.  So fail if
       
  1028                 # tmpdir already exists.
       
  1029                 print "error: temp dir %r already exists" % tmpdir
       
  1030                 return 1
       
  1031 
       
  1032                 # Automatically removing tmpdir sounds convenient, but could
       
  1033                 # really annoy anyone in the habit of using "--tmpdir=/tmp"
       
  1034                 # or "--tmpdir=$HOME".
       
  1035                 #vlog("# Removing temp dir", tmpdir)
       
  1036                 #shutil.rmtree(tmpdir)
       
  1037             os.makedirs(tmpdir)
       
  1038         else:
       
  1039             d = None
       
  1040             if os.name == 'nt':
       
  1041                 # without this, we get the default temp dir location, but
       
  1042                 # in all lowercase, which causes troubles with paths (issue3490)
       
  1043                 d = os.getenv('TMP')
       
  1044             tmpdir = tempfile.mkdtemp('', 'hgtests.', d)
       
  1045         self.hgtmp = os.environ['HGTMP'] = os.path.realpath(tmpdir)
       
  1046 
  1022         if self.options.with_hg:
  1047         if self.options.with_hg:
  1023             self.inst = None
  1048             self.inst = None
  1024             self.bindir = os.path.dirname(os.path.realpath(
  1049             self.bindir = os.path.dirname(os.path.realpath(
  1025                                           self.options.with_hg))
  1050                                           self.options.with_hg))
  1026             self.tmpbindir = os.path.join(self.hgtmp, 'install', 'bin')
  1051             self.tmpbindir = os.path.join(self.hgtmp, 'install', 'bin')
  1435         # use a random python hash seed all the time
  1460         # use a random python hash seed all the time
  1436         # we do the randomness ourself to know what seed is used
  1461         # we do the randomness ourself to know what seed is used
  1437         os.environ['PYTHONHASHSEED'] = str(random.getrandbits(32))
  1462         os.environ['PYTHONHASHSEED'] = str(random.getrandbits(32))
  1438 
  1463 
  1439     runner.testdir = os.environ['TESTDIR'] = os.getcwd()
  1464     runner.testdir = os.environ['TESTDIR'] = os.getcwd()
  1440     if options.tmpdir:
       
  1441         options.keep_tmpdir = True
       
  1442         tmpdir = options.tmpdir
       
  1443         if os.path.exists(tmpdir):
       
  1444             # Meaning of tmpdir has changed since 1.3: we used to create
       
  1445             # HGTMP inside tmpdir; now HGTMP is tmpdir.  So fail if
       
  1446             # tmpdir already exists.
       
  1447             print "error: temp dir %r already exists" % tmpdir
       
  1448             return 1
       
  1449 
       
  1450             # Automatically removing tmpdir sounds convenient, but could
       
  1451             # really annoy anyone in the habit of using "--tmpdir=/tmp"
       
  1452             # or "--tmpdir=$HOME".
       
  1453             #vlog("# Removing temp dir", tmpdir)
       
  1454             #shutil.rmtree(tmpdir)
       
  1455         os.makedirs(tmpdir)
       
  1456     else:
       
  1457         d = None
       
  1458         if os.name == 'nt':
       
  1459             # without this, we get the default temp dir location, but
       
  1460             # in all lowercase, which causes troubles with paths (issue3490)
       
  1461             d = os.getenv('TMP')
       
  1462         tmpdir = tempfile.mkdtemp('', 'hgtests.', d)
       
  1463     runner.hgtmp = os.environ['HGTMP'] = os.path.realpath(tmpdir)
       
  1464 
  1465 
  1465     return runner.run(tests)
  1466     return runner.run(tests)
  1466 
  1467 
  1467 if __name__ == '__main__':
  1468 if __name__ == '__main__':
  1468     sys.exit(main(sys.argv[1:]))
  1469     sys.exit(main(sys.argv[1:]))