Mercurial > hg > mercurial-crew-with-dirclash
comparison tests/hghave @ 5125:80309fa23cdb
hghave: feature absence can be checked by prefixing with 'no-'
author | Patrick Mezard <pmezard@gmail.com> |
---|---|
date | Wed, 08 Aug 2007 23:07:39 +0200 |
parents | ea7b982b6c08 |
children | bf60e4bd6672 |
comparison
equal
deleted
inserted
replaced
5123:f94dbc6c7eaf | 5125:80309fa23cdb |
---|---|
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 """Test the running system for features availability. Exit with zero | 2 """Test the running system for features availability. Exit with zero |
3 if all features are there, non-zero otherwise. | 3 if all features are there, non-zero otherwise. If a feature name is |
4 prefixed with "no-", the absence of feature is tested. | |
4 """ | 5 """ |
5 import optparse | 6 import optparse |
6 import os | 7 import os |
7 import sys | 8 import sys |
8 import tempfile | 9 import tempfile |
65 if not quiet: | 66 if not quiet: |
66 sys.stderr.write(msg + '\n') | 67 sys.stderr.write(msg + '\n') |
67 failures += 1 | 68 failures += 1 |
68 | 69 |
69 for feature in args: | 70 for feature in args: |
71 negate = feature.startswith('no-') | |
72 if negate: | |
73 feature = feature[3:] | |
74 | |
70 if feature not in checks: | 75 if feature not in checks: |
71 error('hghave: unknown feature: ' + feature) | 76 error('hghave: unknown feature: ' + feature) |
72 continue | 77 continue |
73 | 78 |
74 check, desc = checks[feature] | 79 check, desc = checks[feature] |
75 if not check(): | 80 if not negate and not check(): |
76 error('hghave: missing feature: ' + desc) | 81 error('hghave: missing feature: ' + desc) |
82 elif negate and check(): | |
83 error('hghave: unexpected feature: ' + desc) | |
77 | 84 |
78 if failures != 0: | 85 if failures != 0: |
79 sys.exit(1) | 86 sys.exit(1) |
80 | 87 |
81 | 88 |