Mercurial > hg
view tests/hghave @ 28338:9974b8236cac
tests: Solaris grep doesn't add a trailing newline when it's missing
The bad-extension tests emits a list of not-loaded extensions, and pipes
that output through grep. On Solaris, the test-output gets "(no-eol)"
appended because although the message has no trailing newline, GNU grep
adds it. If we simply add the newline to the message, the problem goes
away for both versions of grep.
author | Danek Duvall <danek.duvall@oracle.com> |
---|---|
date | Wed, 02 Mar 2016 15:01:41 -0800 |
parents | 544444991c83 |
children | ba8999547f81 |
line wrap: on
line source
#!/usr/bin/env python """Test the running system for features availability. Exit with zero if all features are there, non-zero otherwise. If a feature name is prefixed with "no-", the absence of feature is tested. """ from __future__ import print_function import optparse import os, sys import hghave checks = hghave.checks def list_features(): for name, feature in sorted(checks.iteritems()): desc = feature[1] print(name + ':', desc) def test_features(): failed = 0 for name, feature in checks.iteritems(): check, _ = feature try: check() except Exception as e: print("feature %s failed: %s" % (name, e)) failed += 1 return failed parser = optparse.OptionParser("%prog [options] [features]") parser.add_option("--test-features", action="store_true", help="test available features") parser.add_option("--list-features", action="store_true", help="list available features") def _loadaddon(): 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 except BaseException as inst: sys.stderr.write('failed to import hghaveaddon.py from %r: %s\n' % (path, inst)) sys.exit(2) sys.path.pop(0) if __name__ == '__main__': options, args = parser.parse_args() _loadaddon() if options.list_features: list_features() sys.exit(0) if options.test_features: sys.exit(test_features()) hghave.require(args)