##// END OF EJS Templates
histedit: improve error when run on nodes with children (issue5056)
histedit: improve error when run on nodes with children (issue5056)

File last commit:

r28283:54444499 default
r28294:89e04a33 default
Show More
hghave
67 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
from __future__ import print_function
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881 import optparse
FUJIWARA Katsunori
hghave: allow adding customized features at runtime...
r25732 import os, sys
Adrian Buehlmann
tests/hghave: extract hghave.py...
r16966 import hghave
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():
Yuya Nishihara
tests: make hghave list features alphabetically
r22762 for name, feature in sorted(checks.iteritems()):
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
for name, feature in checks.iteritems():
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
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)