Cleanup and restructuring of testing directory setup.
This commit is contained in:
69
gui/Protocols/multi-NSL/test-heuristics.py
Executable file
69
gui/Protocols/multi-NSL/test-heuristics.py
Executable file
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/python
|
||||
#
|
||||
#
|
||||
# Idea:
|
||||
#
|
||||
# We test all options for the heuristics [0..31] to compare,
|
||||
# and sincerely hope on gives a complete proof.
|
||||
# we slowly refine the tests.
|
||||
#
|
||||
import commands
|
||||
|
||||
def startset():
|
||||
mainlist = [11, 15]
|
||||
print "Starting with", mainlist
|
||||
return mainlist
|
||||
|
||||
def tuplingchoice(heur,variant,P,runs,latupling):
|
||||
# variant is in range [0..64>,
|
||||
# where we use the highest bid to signify the
|
||||
# associativity of the tupling.
|
||||
|
||||
extraflags = ""
|
||||
if latupling:
|
||||
extraflags += " --la-tupling"
|
||||
|
||||
# Choose heuristics
|
||||
extraflags += " --goal-select=%i" % (heur)
|
||||
|
||||
# Time limit
|
||||
extraflags += " --timer=20"
|
||||
|
||||
s = "./multinsl-generator.py"
|
||||
s += " %i %i" % (P,variant)
|
||||
s += " | scyther -a -r%i -m2 --summary %s" % (runs, extraflags)
|
||||
|
||||
## Old stuff
|
||||
#s += " | scyther -a -r%i --summary" % runs
|
||||
|
||||
# Show what we're doing
|
||||
print s
|
||||
|
||||
#s += " | grep \"complete\""
|
||||
out = commands.getoutput(s)
|
||||
if out == "":
|
||||
#print "Okay"
|
||||
return False
|
||||
else:
|
||||
print out
|
||||
return True
|
||||
|
||||
def testvariant(h,v,p,r):
|
||||
if tuplingchoice (h,v,p,r, False):
|
||||
return True
|
||||
else:
|
||||
return tuplingchoice (h,v,p,r, True)
|
||||
|
||||
def scan(testlist, P, runs):
|
||||
print "Testing using P %i and %i runs." % (P,runs)
|
||||
for i in testlist:
|
||||
print "Testing protocol %i." % (i)
|
||||
for h in range (0,32):
|
||||
print "Heuristic %i:" % (h)
|
||||
testvariant (h,i,P,runs)
|
||||
|
||||
def main():
|
||||
candidates = startset()
|
||||
scan(candidates,3,5)
|
||||
|
||||
main()
|
||||
Reference in New Issue
Block a user