diff --git a/tests/hghave b/tests/hghave index a0555ae394b3b3d955b10f056fc9a4b03b7c882b_dGVzdHMvaGdoYXZl..41a2c5cbcb6a9afc95ec045026b9cdda34088b89_dGVzdHMvaGdoYXZl 100755 --- a/tests/hghave +++ b/tests/hghave @@ -190,4 +190,15 @@ desc = feature[1] print name + ':', desc +def test_features(): + failed = 0 + for name, feature in checks.iteritems(): + check, _ = feature + try: + check() + except Exception, e: + print "feature %s failed: %s" % (name, e) + failed += 1 + return failed + parser = optparse.OptionParser("%prog [options] [features]") @@ -193,4 +204,6 @@ 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") parser.add_option("-q", "--quiet", action="store_true", @@ -202,6 +215,9 @@ list_features() sys.exit(0) + if options.test_features: + sys.exit(test_features()) + quiet = options.quiet failures = 0 diff --git a/tests/test-hghave b/tests/test-hghave new file mode 100755 index 0000000000000000000000000000000000000000..41a2c5cbcb6a9afc95ec045026b9cdda34088b89_dGVzdHMvdGVzdC1oZ2hhdmU= --- /dev/null +++ b/tests/test-hghave @@ -0,0 +1,4 @@ +#!/bin/sh +# Testing that hghave does not crash when checking features + +"$TESTDIR/hghave" --test-features 2>/dev/null diff --git a/tests/test-hghave.out b/tests/test-hghave.out new file mode 100644