[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]
[or-cvs] r18509: {torflow} Minor changes to analysis scripts. (torflow/trunk/NetworkScanners)
Author: mikeperry
Date: 2009-02-12 12:12:10 -0500 (Thu, 12 Feb 2009)
New Revision: 18509
Modified:
torflow/trunk/NetworkScanners/libsoat.py
torflow/trunk/NetworkScanners/snakeinspector.py
torflow/trunk/NetworkScanners/soat.py
torflow/trunk/NetworkScanners/soatstats.py
Log:
Minor changes to analysis scripts.
Modified: torflow/trunk/NetworkScanners/libsoat.py
===================================================================
--- torflow/trunk/NetworkScanners/libsoat.py 2009-02-12 16:21:20 UTC (rev 18508)
+++ torflow/trunk/NetworkScanners/libsoat.py 2009-02-12 17:12:10 UTC (rev 18509)
@@ -872,13 +872,13 @@
new.append(str(node))
if missing:
ret += "\nMissing: "
- for node in missing: ret += node
+ for node in missing: ret += node+" "
if new:
ret += "\nNew: "
- for node in new: ret += node
+ for node in new: ret += node+" "
if miscount:
ret += "\nMiscount: "
- for node in miscount: ret += node
+ for node in miscount: ret += node+" "
return ret
def prune_differences(self, other_string):
Modified: torflow/trunk/NetworkScanners/snakeinspector.py
===================================================================
--- torflow/trunk/NetworkScanners/snakeinspector.py 2009-02-12 16:21:20 UTC (rev 18508)
+++ torflow/trunk/NetworkScanners/snakeinspector.py 2009-02-12 17:12:10 UTC (rev 18509)
@@ -22,9 +22,16 @@
TorCtl.TorUtil.loglevel="NOTICE"
-def usage():
- # TODO: Don't be a jerk.
- print "Use teh src, luke."
+def usage(argv):
+ print "Usage: "+argv[0]+" with 0 or more of the following filters: "
+ print " --dir <datadir>"
+ print " --file <.result file>"
+ print " --exit <idhex>"
+ print " --reason <soat failure reason>"
+ print " --proto <protocol>"
+ print " --resultfilter <TestResult class name>"
+ print " --statuscode <'Failure' or 'Inconclusive'>"
+ print " --verbose"
sys.exit(1)
def getargs(argv):
@@ -34,7 +41,7 @@
"verbose", "statuscode="])
except getopt.GetoptError,err:
print str(err)
- usage()
+ usage(argv)
use_dir="./data/"
use_file=None
node=None
@@ -83,7 +90,10 @@
(not reason or r.reason == reason) and \
(not proto or r.proto == proto) and \
(not resultfilter or r.__class__.__name__ == resultfilter):
- print r
+ try:
+ print r
+ except IOError, e:
+ traceback.print_exc()
print "\n-----------------------------\n"
if __name__ == "__main__":
Modified: torflow/trunk/NetworkScanners/soat.py
===================================================================
--- torflow/trunk/NetworkScanners/soat.py 2009-02-12 16:21:20 UTC (rev 18508)
+++ torflow/trunk/NetworkScanners/soat.py 2009-02-12 17:12:10 UTC (rev 18509)
@@ -946,8 +946,7 @@
content_prefix = http_content_dir+address_file
failed_prefix = http_failed_dir+address_file
- exit_content_file = open(DataHandler.uniqueFilename(failed_prefix+'.'+exit_node[1:]+'.dyn-content'),
- 'w')
+ exit_content_file = open(DataHandler.uniqueFilename(failed_prefix+'.'+exit_node[1:]+'.dyn-content'), 'w')
exit_content_file.write(tor_js)
exit_content_file.close()
Modified: torflow/trunk/NetworkScanners/soatstats.py
===================================================================
--- torflow/trunk/NetworkScanners/soatstats.py 2009-02-12 16:21:20 UTC (rev 18508)
+++ torflow/trunk/NetworkScanners/soatstats.py 2009-02-12 17:12:10 UTC (rev 18509)
@@ -35,6 +35,7 @@
dh = DataHandler()
data = dh.getAll()
+ reason_counts = {}
nodeResults = {}
tests = Set([])
@@ -60,6 +61,10 @@
elif result.status == TEST_FAILURE:
rn.total.bad += 1
rn.counts[result.__class__.__name__].bad += 1
+ if result.reason not in reason_counts:
+ reason_counts[result.reason] = 1
+ else:
+ reason_counts[result.reason] += 1
# Sort by total counts, print out nodes with highest counts first
failed_nodes = nodeResults.values()
@@ -82,10 +87,10 @@
if node.total.bad != 0:
print `node.idhex` + "\t" + `node.total.bad`
- print "\nInconclusive test results"
- for node in inconclusive_nodes:
- if node.total.inconclusive != 0:
- print `node.idhex` + "\t" + `node.total.inconclusive`
+ #print "\nInconclusive test results"
+ #for node in inconclusive_nodes:
+ # if node.total.inconclusive != 0:
+ # print `node.idhex` + "\t" + `node.total.inconclusive`
for test in tests:
print "\n" + test[:(-6)] + " failures"
@@ -93,13 +98,19 @@
if node.counts[test].bad != 0:
print `node.idhex` + "\t" + `node.counts[test].bad`
- for test in tests:
- print "\n" + test[:(-6)] + " inconclusive results"
- for node in inconclusive_nodes_specific[test]:
- if node.counts[test].inconclusive != 0:
- print `node.idhex` + "\t" + `node.counts[test].inconclusive`
+ #for test in tests:
+ # print "\n" + test[:(-6)] + " inconclusive results"
+ # for node in inconclusive_nodes_specific[test]:
+ # if node.counts[test].inconclusive != 0:
+ # print `node.idhex` + "\t" + `node.counts[test].inconclusive`
print ""
+ reasons = sorted(reason_counts.iterkeys(), lambda x, y:
+cmp(reason_counts[x], reason_counts[y]))
+
+ for r in reasons:
+ print r+": "+str(reason_counts[r])
+
if __name__ == "__main__":
main(sys.argv)