##// END OF EJS Templates
tests: use pyflakes as a tool, not a python module...
tests: use pyflakes as a tool, not a python module The usage of pyflakes as a Python module was introduced in e397c6d74652, to work around issue between Python 2 and Python 3. This issues are long behind us now and we can get beck to using pyflakes as a tool, giving us more flexibility about how we install it. The `hghave` requirements is modified to check that we have a tool available, instead of a python module.

File last commit:

r49730:6000f5b2 default
r52956:43602c67 default
Show More
hghave
77 lines | 1.8 KiB | text/plain | TextLexer
run-tests: stop writing a `python3` symlink pointing to python2...
r48294 #!/usr/bin/env python
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881 """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 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
Gregory Szorc
black: blacken scripts...
r44089
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
Gregory Szorc
black: blacken scripts...
r44089
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
Gregory Szorc
black: blacken scripts...
r44089
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881 parser = optparse.OptionParser("%prog [options] [features]")
Gregory Szorc
black: blacken scripts...
r44089 parser.add_option(
"--test-features", action="store_true", help="test available features"
)
parser.add_option(
"--list-features", action="store_true", help="list available features"
)
Patrick Mezard
Add hghave utility and run-tests.py support....
r4881
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
Gregory Szorc
black: blacken scripts...
r44089
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
black: blacken scripts...
r44089 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)
Gregory Szorc
black: blacken scripts...
r44089
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)