- Minor improvements.

This commit is contained in:
ccremers 2006-03-13 16:26:53 +00:00
parent f7ee9743d2
commit f823399a73
2 changed files with 30 additions and 11 deletions

View File

@ -23,6 +23,7 @@ from tempfile import NamedTemporaryFile, gettempdir
CacheTimer = 0.1
ScytherProgram = "scyther"
RetrieveFromCache = True
LastArguments = ""
#----------------------------------------------------------------------------
# How to override Scyther program setting
@ -62,17 +63,28 @@ def scythercall (argumentstring, inputfile):
# argstring: a smaller string
def evaluate (argumentstring, inputstring):
def cacheid():
m = md5.new()
global LastArguments
def getversion():
# Determine scyther version
(status, scout) = scythercall ("--version", "")
if status == 1 or status < 0:
# some problem
print "Problem with determining scyther version!"
os.exit()
# Add version to hash
m.update (scout)
ll = scout.splitlines()
versionline = ll[1].split()
if versionline[0] != "Revision":
print "Could not find revision ID in:"
print scout
return versionline[1]
def cacheid():
m = md5.new()
# Determine scyther version
m.update (version)
# Add inputfile to hash
m.update (inputstring)
@ -96,9 +108,9 @@ def evaluate (argumentstring, inputstring):
# Determine name
def cachefilename(id):
fn = gettempdir() + "/scyther/"
fn = fn + slashcutter(id,"/",3,2)
fn = fn + ".txt"
fn = gettempdir() + "/scyther/" + version + "/"
fn += slashcutter(id,"/",3,2)
fn += ".txt"
return fn
# Ensure directory
@ -143,6 +155,12 @@ def evaluate (argumentstring, inputstring):
#print "Retrieved cached version for [%s]." % argumentstring
return (0,res)
# Retrieve version
version = getversion()
# Store for later refernce
LastArguments = argumentstring
# Determine the unique filename for this test
cachefile = cachefilename(cacheid())
if os.path.exists(cachefile) and RetrieveFromCache:

View File

@ -72,9 +72,10 @@ def add_extra_parameters(args):
global g_extra
if args != "":
if g_extra != "":
g_extra = g_extra + " "
g_extra = g_extra + args
if g_extra.find(args) == -1:
if g_extra != "":
g_extra = g_extra + " "
g_extra = g_extra + args
# Yield arguments, given a bound type:
# 0: fast