tests/run-tests.py
changeset 46723 a6553ba1c598
parent 46668 fb2368598281
child 46724 78e6700ab009
equal deleted inserted replaced
46722:08a35cec14d4 46723:a6553ba1c598
   965         shell=None,
   965         shell=None,
   966         hgcommand=None,
   966         hgcommand=None,
   967         slowtimeout=None,
   967         slowtimeout=None,
   968         usechg=False,
   968         usechg=False,
   969         chgdebug=False,
   969         chgdebug=False,
   970         rhg_fallback_exe=None,
       
   971         useipv6=False,
   970         useipv6=False,
   972     ):
   971     ):
   973         """Create a test from parameters.
   972         """Create a test from parameters.
   974 
   973 
   975         path is the full path to the file defining the test.
   974         path is the full path to the file defining the test.
  1023         self._extraconfigopts = extraconfigopts or []
  1022         self._extraconfigopts = extraconfigopts or []
  1024         self._shell = _sys2bytes(shell)
  1023         self._shell = _sys2bytes(shell)
  1025         self._hgcommand = hgcommand or b'hg'
  1024         self._hgcommand = hgcommand or b'hg'
  1026         self._usechg = usechg
  1025         self._usechg = usechg
  1027         self._chgdebug = chgdebug
  1026         self._chgdebug = chgdebug
  1028         self._rhg_fallback_exe = rhg_fallback_exe
       
  1029         self._useipv6 = useipv6
  1027         self._useipv6 = useipv6
  1030 
  1028 
  1031         self._aborted = False
  1029         self._aborted = False
  1032         self._daemonpids = []
  1030         self._daemonpids = []
  1033         self._finished = None
  1031         self._finished = None
  1505             )
  1503             )
  1506             hgrc.write(b'[web]\n')
  1504             hgrc.write(b'[web]\n')
  1507             hgrc.write(b'address = localhost\n')
  1505             hgrc.write(b'address = localhost\n')
  1508             hgrc.write(b'ipv6 = %r\n' % self._useipv6)
  1506             hgrc.write(b'ipv6 = %r\n' % self._useipv6)
  1509             hgrc.write(b'server-header = testing stub value\n')
  1507             hgrc.write(b'server-header = testing stub value\n')
  1510 
       
  1511             if self._rhg_fallback_exe:
       
  1512                 hgrc.write(b'[rhg]\n')
       
  1513                 hgrc.write(
       
  1514                     b'fallback-executable = %s\n' % self._rhg_fallback_exe
       
  1515                 )
       
  1516 
  1508 
  1517             for opt in self._extraconfigopts:
  1509             for opt in self._extraconfigopts:
  1518                 section, key = _sys2bytes(opt).split(b'.', 1)
  1510                 section, key = _sys2bytes(opt).split(b'.', 1)
  1519                 assert b'=' in key, (
  1511                 assert b'=' in key, (
  1520                     'extra config opt %s must ' 'have an = for assignment' % opt
  1512                     'extra config opt %s must ' 'have an = for assignment' % opt
  2997         self._tmpbindir = None
  2989         self._tmpbindir = None
  2998         self._pythondir = None
  2990         self._pythondir = None
  2999         self._coveragefile = None
  2991         self._coveragefile = None
  3000         self._createdfiles = []
  2992         self._createdfiles = []
  3001         self._hgcommand = None
  2993         self._hgcommand = None
  3002         self._rhg_fallback_exe = None
       
  3003         self._hgpath = None
  2994         self._hgpath = None
  3004         self._portoffset = 0
  2995         self._portoffset = 0
  3005         self._ports = {}
  2996         self._ports = {}
  3006 
  2997 
  3007     def run(self, args, parser=None):
  2998     def run(self, args, parser=None):
  3138             self._hgcommand = b'chg'
  3129             self._hgcommand = b'chg'
  3139         elif self.options.with_chg:
  3130         elif self.options.with_chg:
  3140             chgbindir = os.path.dirname(os.path.realpath(self.options.with_chg))
  3131             chgbindir = os.path.dirname(os.path.realpath(self.options.with_chg))
  3141             self._hgcommand = os.path.basename(self.options.with_chg)
  3132             self._hgcommand = os.path.basename(self.options.with_chg)
  3142 
  3133 
  3143         # set fallback executable path, then replace "hg" command by "rhg"
  3134         # configure fallback and replace "hg" command by "rhg"
  3144         rhgbindir = self._bindir
  3135         rhgbindir = self._bindir
  3145         if self.options.rhg or self.options.with_rhg:
  3136         if self.options.rhg or self.options.with_rhg:
  3146             self._rhg_fallback_exe = os.path.join(self._bindir, self._hgcommand)
  3137             # Affects configuration. Alternatives would be setting configuration through
       
  3138             # `$HGRCPATH` but some tests override that, or changing `_hgcommand` to include
       
  3139             # `--config` but that disrupts tests that print command lines and check expected
       
  3140             # output.
       
  3141             osenvironb[b'RHG_ON_UNSUPPORTED'] = b'fallback'
       
  3142             osenvironb[b'RHG_FALLBACK_EXECUTABLE'] = os.path.join(
       
  3143                 self._bindir, self._hgcommand
       
  3144             )
  3147         if self.options.rhg:
  3145         if self.options.rhg:
  3148             self._hgcommand = b'rhg'
  3146             self._hgcommand = b'rhg'
  3149         elif self.options.with_rhg:
  3147         elif self.options.with_rhg:
  3150             rhgbindir = os.path.dirname(os.path.realpath(self.options.with_rhg))
  3148             rhgbindir = os.path.dirname(os.path.realpath(self.options.with_rhg))
  3151             self._hgcommand = os.path.basename(self.options.with_rhg)
  3149             self._hgcommand = os.path.basename(self.options.with_rhg)
  3475             extraconfigopts=self.options.extra_config_opt,
  3473             extraconfigopts=self.options.extra_config_opt,
  3476             shell=self.options.shell,
  3474             shell=self.options.shell,
  3477             hgcommand=self._hgcommand,
  3475             hgcommand=self._hgcommand,
  3478             usechg=bool(self.options.with_chg or self.options.chg),
  3476             usechg=bool(self.options.with_chg or self.options.chg),
  3479             chgdebug=self.options.chg_debug,
  3477             chgdebug=self.options.chg_debug,
  3480             rhg_fallback_exe=self._rhg_fallback_exe,
       
  3481             useipv6=useipv6,
  3478             useipv6=useipv6,
  3482             **kwds
  3479             **kwds
  3483         )
  3480         )
  3484         t.should_reload = True
  3481         t.should_reload = True
  3485         return t
  3482         return t