equal
deleted
inserted
replaced
188 def list_features(): |
188 def list_features(): |
189 for name, feature in checks.iteritems(): |
189 for name, feature in checks.iteritems(): |
190 desc = feature[1] |
190 desc = feature[1] |
191 print name + ':', desc |
191 print name + ':', desc |
192 |
192 |
|
193 def test_features(): |
|
194 failed = 0 |
|
195 for name, feature in checks.iteritems(): |
|
196 check, _ = feature |
|
197 try: |
|
198 check() |
|
199 except Exception, e: |
|
200 print "feature %s failed: %s" % (name, e) |
|
201 failed += 1 |
|
202 return failed |
|
203 |
193 parser = optparse.OptionParser("%prog [options] [features]") |
204 parser = optparse.OptionParser("%prog [options] [features]") |
|
205 parser.add_option("--test-features", action="store_true", |
|
206 help="test available features") |
194 parser.add_option("--list-features", action="store_true", |
207 parser.add_option("--list-features", action="store_true", |
195 help="list available features") |
208 help="list available features") |
196 parser.add_option("-q", "--quiet", action="store_true", |
209 parser.add_option("-q", "--quiet", action="store_true", |
197 help="check features silently") |
210 help="check features silently") |
198 |
211 |
200 options, args = parser.parse_args() |
213 options, args = parser.parse_args() |
201 if options.list_features: |
214 if options.list_features: |
202 list_features() |
215 list_features() |
203 sys.exit(0) |
216 sys.exit(0) |
204 |
217 |
|
218 if options.test_features: |
|
219 sys.exit(test_features()) |
|
220 |
205 quiet = options.quiet |
221 quiet = options.quiet |
206 |
222 |
207 failures = 0 |
223 failures = 0 |
208 |
224 |
209 def error(msg): |
225 def error(msg): |