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 |