##// END OF EJS Templates
rcutil: drop the `defaultrcpath()` method (API)...
rcutil: drop the `defaultrcpath()` method (API) The resource based code can service py2, py3 and an oxidized executable, so there's no reason to leave this around. It was flagged as an API change when it was introduced, so flagging it again. Differential Revision: https://phab.mercurial-scm.org/D7777

File last commit:

r44484:2d4cad94 default
r44484:2d4cad94 default
Show More
test-config-env.py
59 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,
Martin von Zweigbergk
tests: make test-config-env.py a little less hacky...
r44324 extensions,
Jun Wu
rcutil: let environ override system configs (BC)...
r31685 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
Matt Harbison
ui: add the ability to apply `defaultrc` configs from resources...
r44483 extensions.wrapfunction(rcutil, 'default_rc_resources', lambda orig: [])
Martin von Zweigbergk
tests: make test-config-env.py a little less hacky...
r44324
Jun Wu
rcutil: let environ override system configs (BC)...
r31685 rcutil.systemrcpath = systemrcpath
rcutil.userrcpath = userrcpath
# 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'})