commit 8ea550135fbca0b90f6811996ce8c905cad5248f Author: Arturo Filastò art@fuffa.org Date: Wed Nov 27 22:23:28 2013 +0100
Add support for listing available nettests. --- ooni/director.py | 1 + ooni/nettest.py | 2 +- ooni/oonicli.py | 17 ++++++++++++++--- 3 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/ooni/director.py b/ooni/director.py index 7a81815..46dd962 100644 --- a/ooni/director.py +++ b/ooni/director.py @@ -106,6 +106,7 @@ class Director(object): if is_nettest(filename): net_test_file = os.path.join(dirname, filename) nettest = getNetTestInformation(net_test_file) + nettest['category'] = category.replace('/', '')
if nettest['id'] in nettests: log.err("Found a two tests with the same name %s, %s" % diff --git a/ooni/nettest.py b/ooni/nettest.py index 7049ad1..b421252 100644 --- a/ooni/nettest.py +++ b/ooni/nettest.py @@ -166,7 +166,7 @@ def getNetTestInformation(net_test_file): 'description': test_class.description, 'version': test_class.version, 'arguments': getArguments(test_class), - 'path': net_test_file + 'path': net_test_file, } return information
diff --git a/ooni/oonicli.py b/ooni/oonicli.py index c722c52..c5e7c53 100644 --- a/ooni/oonicli.py +++ b/ooni/oonicli.py @@ -30,7 +30,8 @@ class Options(usage.Options):
optFlags = [["help", "h"], ["resume", "r"], - ["no-collector", "n"] + ["no-collector", "n"], + ["list", "s"], ]
optParameters = [["reportfile", "o", None, "report file name"], @@ -72,7 +73,7 @@ class Options(usage.Options): sys.settrace(spewer)
def parseArgs(self, *args): - if self['testdeck']: + if self['testdeck'] or self['list']: return try: self['test_file'] = args[0] @@ -112,7 +113,7 @@ def runWithDirector(): config.read_config_file()
log.start(global_options['logfile']) - + if config.privacy.includepcap: try: checkForRoot() @@ -127,6 +128,16 @@ def runWithDirector(): director = Director() d = director.start()
+ if global_options['list']: + print "# Installed nettests" + for net_test_id, net_test in director.netTests.items(): + print "* %s (%s/%s)" % (net_test['name'], + net_test['category'], + net_test['id']) + print " %s" % net_test['description'] + + sys.exit(0) + #XXX: This should mean no bouncer either! if global_options['no-collector']: log.msg("Not reporting using a collector")
tor-commits@lists.torproject.org