##// END OF EJS Templates
show: construct changeset templater during dispatch...
show: construct changeset templater during dispatch Previously, we constructed a formatter from a specific template topic. Then from show() we reached into the internals of the formatter to resolve a template string to be used to construct a changeset templater. A downside to this approach was it limited us to having the entire template defined in a single entry in the map file. You couldn't reference other entries in the map file and this would lead to long templates and redundancy in the map file. This commit teaches @showview how to instantiate a changeset templater so we can construct a templater with full access to the map file. To prove it works, we've split "showwork" into components.

File last commit:

r29231:b1b35a90 default
r33046:11f76825 default
Show More
hghave
69 lines | 1.8 KiB | text/plain | TextLexer
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881 #!/usr/bin/env python
"""Test the running system for features availability. Exit with zero
Patrick Mezard
hghave: feature absence can be checked by prefixing with 'no-'
r5084 if all features are there, non-zero otherwise. If a feature name is
prefixed with "no-", the absence of feature is tested.
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881 """
Gregory Szorc
hghave: use print function...
r28283
Pulkit Goyal
py3: make tests/hghave use absolute_import
r29161 from __future__ import absolute_import, print_function
Gregory Szorc
hghave: use print function...
r28283
Pulkit Goyal
py3: make tests/hghave use absolute_import
r29161 import hghave
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881 import optparse
Pulkit Goyal
py3: make tests/hghave use absolute_import
r29161 import os
import sys
Martin Geisler
test-gendoc: test documentation generation
r9446
Adrian Buehlmann
tests/hghave: extract hghave.py...
r16966 checks = hghave.checks
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881
def list_features():
timeless
hghave: switch from iteritems to items...
r29141 for name, feature in sorted(checks.items()):
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881 desc = feature[1]
Gregory Szorc
hghave: use print function...
r28283 print(name + ':', desc)
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881
Nicolas Dumazet
hghave: checking that all targets are Exception-free
r8059 def test_features():
failed = 0
timeless
hghave: switch from iteritems to items...
r29141 for name, feature in checks.items():
Nicolas Dumazet
hghave: checking that all targets are Exception-free
r8059 check, _ = feature
try:
check()
FUJIWARA Katsunori
misc: use modern exception syntax...
r28047 except Exception as e:
Gregory Szorc
hghave: use print function...
r28283 print("feature %s failed: %s" % (name, e))
Nicolas Dumazet
hghave: checking that all targets are Exception-free
r8059 failed += 1
return failed
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881 parser = optparse.OptionParser("%prog [options] [features]")
Nicolas Dumazet
hghave: checking that all targets are Exception-free
r8059 parser.add_option("--test-features", action="store_true",
help="test available features")
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881 parser.add_option("--list-features", action="store_true",
help="list available features")
Gregory Szorc
hghave: remove quiet option...
r26068 def _loadaddon():
FUJIWARA Katsunori
hghave: allow adding customized features at runtime...
r25732 if 'TESTDIR' in os.environ:
# loading from '.' isn't needed, because `hghave` should be
# running at TESTTMP in this case
path = os.environ['TESTDIR']
else:
path = '.'
if not os.path.exists(os.path.join(path, 'hghaveaddon.py')):
return
sys.path.insert(0, path)
try:
import hghaveaddon
Yuya Nishihara
hghave: silence future pyflakes warning of unused import
r29231 assert hghaveaddon # silence pyflakes
FUJIWARA Katsunori
misc: use modern exception syntax...
r28047 except BaseException as inst:
Gregory Szorc
hghave: remove quiet option...
r26068 sys.stderr.write('failed to import hghaveaddon.py from %r: %s\n'
% (path, inst))
FUJIWARA Katsunori
hghave: allow adding customized features at runtime...
r25732 sys.exit(2)
sys.path.pop(0)
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881 if __name__ == '__main__':
options, args = parser.parse_args()
Gregory Szorc
hghave: remove quiet option...
r26068 _loadaddon()
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881 if options.list_features:
list_features()
sys.exit(0)
Thomas Arendsen Hein
Remove trailing spaces
r5081
Nicolas Dumazet
hghave: checking that all targets are Exception-free
r8059 if options.test_features:
sys.exit(test_features())
Gregory Szorc
hghave: remove quiet option...
r26068 hghave.require(args)