tests/run-tests.py
changeset 25034 af6e6a0781d7
parent 25033 2bdd9e442bcc
child 25035 1203ca7005fa
equal deleted inserted replaced
25033:2bdd9e442bcc 25034:af6e6a0781d7
   428         py3kwarnings enables Py3k warnings.
   428         py3kwarnings enables Py3k warnings.
   429 
   429 
   430         shell is the shell to execute tests in.
   430         shell is the shell to execute tests in.
   431         """
   431         """
   432 
   432 
   433         self.path = path
   433         self.path = path.encode('utf-8')
   434         self.name = os.path.basename(path)
   434         self.name = os.path.basename(path)
   435         self._testdir = os.path.dirname(path)
   435         self._testdir = os.path.dirname(path)
   436         self.errpath = os.path.join(self._testdir, '%s.err' % self.name)
   436         self.errpath = os.path.join(self._testdir, '%s.err' % self.name)
   437 
   437 
   438         self._threadtmp = tmpdir
   438         self._threadtmp = tmpdir.encode('utf-8')
   439         self._keeptmpdir = keeptmpdir
   439         self._keeptmpdir = keeptmpdir
   440         self._debug = debug
   440         self._debug = debug
   441         self._timeout = timeout
   441         self._timeout = timeout
   442         self._startport = startport
   442         self._startport = startport
   443         self._extraconfigopts = extraconfigopts or []
   443         self._extraconfigopts = extraconfigopts or []
   687         env['TESTTMP'] = self._testtmp
   687         env['TESTTMP'] = self._testtmp
   688         env['HOME'] = self._testtmp
   688         env['HOME'] = self._testtmp
   689         env["HGPORT"] = str(self._startport)
   689         env["HGPORT"] = str(self._startport)
   690         env["HGPORT1"] = str(self._startport + 1)
   690         env["HGPORT1"] = str(self._startport + 1)
   691         env["HGPORT2"] = str(self._startport + 2)
   691         env["HGPORT2"] = str(self._startport + 2)
   692         env["HGRCPATH"] = os.path.join(self._threadtmp, '.hgrc')
   692         env["HGRCPATH"] = os.path.join(self._threadtmp, b'.hgrc')
   693         env["DAEMON_PIDS"] = os.path.join(self._threadtmp, 'daemon.pids')
   693         env["DAEMON_PIDS"] = os.path.join(self._threadtmp, b'daemon.pids')
   694         env["HGEDITOR"] = ('"' + sys.executable + '"'
   694         env["HGEDITOR"] = ('"' + sys.executable + '"'
   695                            + ' -c "import sys; sys.exit(0)"')
   695                            + ' -c "import sys; sys.exit(0)"')
   696         env["HGMERGE"] = "internal:merge"
   696         env["HGMERGE"] = "internal:merge"
   697         env["HGUSER"]   = "test"
   697         env["HGUSER"]   = "test"
   698         env["HGENCODING"] = "ascii"
   698         env["HGENCODING"] = "ascii"
   719         return env
   719         return env
   720 
   720 
   721     def _createhgrc(self, path):
   721     def _createhgrc(self, path):
   722         """Create an hgrc file for this test."""
   722         """Create an hgrc file for this test."""
   723         hgrc = open(path, 'wb')
   723         hgrc = open(path, 'wb')
   724         hgrc.write('[ui]\n')
   724         hgrc.write(b'[ui]\n')
   725         hgrc.write('slash = True\n')
   725         hgrc.write(b'slash = True\n')
   726         hgrc.write('interactive = False\n')
   726         hgrc.write(b'interactive = False\n')
   727         hgrc.write('mergemarkers = detailed\n')
   727         hgrc.write(b'mergemarkers = detailed\n')
   728         hgrc.write('promptecho = True\n')
   728         hgrc.write(b'promptecho = True\n')
   729         hgrc.write('[defaults]\n')
   729         hgrc.write(b'[defaults]\n')
   730         hgrc.write('backout = -d "0 0"\n')
   730         hgrc.write(b'backout = -d "0 0"\n')
   731         hgrc.write('commit = -d "0 0"\n')
   731         hgrc.write(b'commit = -d "0 0"\n')
   732         hgrc.write('shelve = --date "0 0"\n')
   732         hgrc.write(b'shelve = --date "0 0"\n')
   733         hgrc.write('tag = -d "0 0"\n')
   733         hgrc.write(b'tag = -d "0 0"\n')
   734         hgrc.write('[devel]\n')
   734         hgrc.write(b'[devel]\n')
   735         hgrc.write('all = true\n')
   735         hgrc.write(b'all = true\n')
   736         hgrc.write('[largefiles]\n')
   736         hgrc.write(b'[largefiles]\n')
   737         hgrc.write('usercache = %s\n' %
   737         hgrc.write(b'usercache = %s\n' %
   738                    (os.path.join(self._testtmp, '.cache/largefiles')))
   738                    (os.path.join(self._testtmp, b'.cache/largefiles')))
   739 
   739 
   740         for opt in self._extraconfigopts:
   740         for opt in self._extraconfigopts:
   741             section, key = opt.split('.', 1)
   741             section, key = opt.split('.', 1)
   742             assert '=' in key, ('extra config opt %s must '
   742             assert '=' in key, ('extra config opt %s must '
   743                                 'have an = for assignment' % opt)
   743                                 'have an = for assignment' % opt)
   744             hgrc.write('[%s]\n%s\n' % (section, key))
   744             hgrc.write(b'[%s]\n%s\n' % (section, key))
   745         hgrc.close()
   745         hgrc.close()
   746 
   746 
   747     def fail(self, msg):
   747     def fail(self, msg):
   748         # unittest differentiates between errored and failed.
   748         # unittest differentiates between errored and failed.
   749         # Failed is denoted by AssertionError (by default at least).
   749         # Failed is denoted by AssertionError (by default at least).