##// END OF EJS Templates
tests: finally fix up test-fuzz-targets.t...
tests: finally fix up test-fuzz-targets.t It's been failing on my workstation for a while, since I have a new enough LLVM that I had the fuzzer goo, but not so new that I actually had FuzzedDataProvider. This is a better solution all around in my opinion. I _believe_ this should let us run these tests on most systems, even those using GCC instead of clang. That said, my one attempt to test this on my macOS laptop failed miserably, and I don't feel like doing more work on this right now. Differential Revision: https://phab.mercurial-scm.org/D7566

File last commit:

r43346:2372284d default
r44267:19da643d default
Show More
test-config-env.py
57 lines | 1.3 KiB | text/x-python | PythonLexer
/ tests / test-config-env.py
Jun Wu
rcutil: let environ override system configs (BC)...
r31685 # Test the config layer generated by environment variables
from __future__ import absolute_import, print_function
import os
from mercurial import (
encoding,
rcutil,
ui as uimod,
Matt Harbison
tests: print Unix style paths in *.py tests...
r31857 util,
Jun Wu
rcutil: let environ override system configs (BC)...
r31685 )
Augie Fackler
formatting: blacken the codebase...
r43346 from mercurial.utils import procutil
Yuya Nishihara
procutil: bulk-replace util.std* to point to new module
r37137
Yuya Nishihara
py3: byte-stringify test-config.t and test-config-env.py
r36748 testtmp = encoding.environ[b'TESTTMP']
Jun Wu
rcutil: let environ override system configs (BC)...
r31685
# prepare hgrc files
def join(name):
return os.path.join(testtmp, name)
Augie Fackler
formatting: blacken the codebase...
r43346
Yuya Nishihara
py3: byte-stringify test-config.t and test-config-env.py
r36748 with open(join(b'sysrc'), 'wb') as f:
f.write(b'[ui]\neditor=e0\n[pager]\npager=p0\n')
Jun Wu
rcutil: let environ override system configs (BC)...
r31685
Yuya Nishihara
py3: byte-stringify test-config.t and test-config-env.py
r36748 with open(join(b'userrc'), 'wb') as f:
f.write(b'[ui]\neditor=e1')
Jun Wu
rcutil: let environ override system configs (BC)...
r31685
# replace rcpath functions so they point to the files above
def systemrcpath():
Yuya Nishihara
py3: byte-stringify test-config.t and test-config-env.py
r36748 return [join(b'sysrc')]
Jun Wu
rcutil: let environ override system configs (BC)...
r31685
Augie Fackler
formatting: blacken the codebase...
r43346
Jun Wu
rcutil: let environ override system configs (BC)...
r31685 def userrcpath():
Yuya Nishihara
py3: byte-stringify test-config.t and test-config-env.py
r36748 return [join(b'userrc')]
Jun Wu
rcutil: let environ override system configs (BC)...
r31685
Augie Fackler
formatting: blacken the codebase...
r43346
Jun Wu
rcutil: let environ override system configs (BC)...
r31685 rcutil.systemrcpath = systemrcpath
rcutil.userrcpath = userrcpath
Augie Fackler
formatting: blacken the codebase...
r43346 os.path.isdir = lambda x: False # hack: do not load default.d/*.rc
Jun Wu
rcutil: let environ override system configs (BC)...
r31685
# utility to print configs
def printconfigs(env):
encoding.environ = env
Augie Fackler
formatting: blacken the codebase...
r43346 rcutil._rccomponents = None # reset cache
Jun Wu
rcutil: let environ override system configs (BC)...
r31685 ui = uimod.ui.load()
for section, name, value in ui.walkconfig():
source = ui.configsource(section, name)
Augie Fackler
formatting: blacken the codebase...
r43346 procutil.stdout.write(
b'%s.%s=%s # %s\n' % (section, name, value, util.pconvert(source))
)
Yuya Nishihara
procutil: bulk-replace util.std* to point to new module
r37137 procutil.stdout.write(b'\n')
Jun Wu
rcutil: let environ override system configs (BC)...
r31685
Augie Fackler
formatting: blacken the codebase...
r43346
Jun Wu
rcutil: let environ override system configs (BC)...
r31685 # environment variable overrides
printconfigs({})
Yuya Nishihara
py3: byte-stringify test-config.t and test-config-env.py
r36748 printconfigs({b'EDITOR': b'e2', b'PAGER': b'p2'})