import sys
import os
+# Helper methods
+# Check the result in the log and print a summary
+def checkResult(logDirName):
+ extractResult = open(logDirName, "r")
+ result = "other errors--PLEASE CHECK!"
+
+ for line in extractResult:
+ if "no errors detected" in line:
+ result = "no conflict"
+ break
+ elif "java.lang.RuntimeException: Conflict between apps App1 and App2:" in line:
+ result = "conflict"
+ break
+
+ return result
+
+
# Input parameters:
# - JPF directory
# - JPF logs directory
appDir = sys.argv[3]
firstList = sys.argv[4]
+
# PART 1: Generate the permutations of app pairs
print "PHASE 1: Extracting the app pairs from the app lists ...\n"
appList1 = []
if appList1[i] == appList2[j]:
continue
appPairs.append((appList1[i], appList2[j]))
-
+
+
# PART 2:
print "PHASE 2: Running JPF ...\n"
# List down all the log file names
# Call JPF
print "==> Calling JPF and generate logs ...\n"
logName = item[0] + "--" + item[1] + ".log"
- writeLogList.write(logName + "\n")
os.system("cd " + jpfDir + ";./run.sh " + jpfLogDir + logName + " main.jpf")
-
+ result = checkResult(jpfLogDir + logName)
+ writeLogList.write(logName + "\t\t" + result + "\n")
+
writeLogList.close()
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+