本文整理汇总了Python中sut.safely函数的典型用法代码示例。如果您正苦于以下问题:Python safely函数的具体用法?Python safely怎么用?Python safely使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了safely函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: mutate
def mutate(test,failureNum,start,timeout,running):
tcopy = list(test)
i = rgen.randint(0,len(tcopy))
sut.replay(tcopy[:i],catchUncaught = True)
e = sut.randomEnabled(rgen)
ok = sut.safely(e)
ifRunning((time.time()-start),running,e)
if not ok:
f1_mutate = sut.test()
failureNum = Failure(failureNum,f1_mutate)
trest = [e]
for s in tcopy[i+1:]:
if time.time()-start > timeout:
break
if s[1]():
trest.append(s)
ok=sut.safely(s)
newCovBran, newCovStat = ifRunning((time.time()-start),running,action)
if not ok:
f1_mutate = sut.test()
failureNum = Failure(failureNum,f1_mutate)
if newCovBran or newCovStat:
BFSstartState = sut.state()
failureNum = BFS(BFSstartState,failureNum,depthNum,lastCovTime,newCovTime)
break
tcopy = test[:i]+trest
return tcopy,failureNum
示例2: mutate
def mutate(test):
tcopy = list(test)
i = rgen.randint(0,len(tcopy))
sut.replay(tcopy[i:])
e = sut.randomEnabled(rgen)
ok = sut.safely(e)
elapsed = time.time() - start
if RUNNING: #should branch coverage be produced
if sut.newBranches() != set([]):
for b in sut.newBranches():
print elapsed,len(sut.allBranches()),"New branch",b
if not ok: #found a bug, report it
bugs+=1
print "Found a FAILURE"
#sut.prettyPrintTest(sut.test())
print sut.failure()
print "REDUCING"
R = sut.reduce(sut.test(), sut.fails, True, True)
sut.prettyPrintTest(R)
print sut.failure()
if FAULT: #save test to a file if FAULT is enabled
filename = "failure" + str(bugs) + ".test"
sut.saveTest(R,filename)
trest = [e]
for s in tcopy[i+1:]:
if s[1]():
trest.append(s)
ok = sut.safely(s)
if not ok: #found a bug, report it
bugs+=1
print "Found a FAILURE"
#sut.prettyPrintTest(sut.test())
print sut.failure()
print "REDUCING"
R = sut.reduce(sut.test(), sut.fails, True, True)
sut.prettyPrintTest(R)
print sut.failure()
if FAULT: #save test to a file if FAULT is enabled
filename = "failure" + str(bugs) + ".test"
sut.saveTest(R,filename)
tcopy = test[i:] +trest
return tcopy
示例3: action
def action():
global actCount, bugs, failPool
act = sut.randomEnabled(rgen)
actCount += 1
ok = sut.safely(act)
if running == 1:
if len(sut.newBranches()) > 0:
print "ACTION:", act[0]
for b in sut.newBranches():
print time.time() - start, len(sut.allBranches()), "New branch", b
for s in sut.newStatements():
print time.time() - start, len(sut.allStatements()),"New statement",s
if not ok:
if faults:
bugs += 1
print "FOUND A FAILURE"
print sut.failure()
print "REDUCING"
failPool.append(sut.test())
collectCoverage()
R = sut.reduce(sut.test(),sut.fails, True, True)
sut.prettyPrintTest(R)
print sut.failure()
fname="failure" + str(bugs) + ".test"
sut.saveTest(sut.test(),fname)
errorSeqs.append(sut.currStatements())
sut.restart()
else:
expand()
return ok
示例4: randomAction
def randomAction():
global actCount,bugs,j,running,actCount,r
test = False
for b in xrange(0,depth):
act = sut.randomEnabled(r)
# actCount += 1
ok = sut.safely(act)
Scheck = sut.check()
if len(sut.newBranches()) > 0:
Stest = sut.state()
test = True
if (not test) and (LCov != None) and (LCov in sut.currBranches()):
Stest = sut.start()
test = True
actCount += 1
if running == 1:
if sut.newBranches() != set([]):
print "ACTIONS:", act[0]
for b in sut.newBranches():
print time.time()-start,len(sut.allBranches()),"New branch",b
if faults == 1:
if not ok:
print "FOUND A FAILURE"
j += 1
bugs += 1
fault = sut.failure()
failurename = 'failure' + str(bugs) + '.test'
sut.saveTest(sut.test(), failurename)
print"the bugs is ",j
sut.restart()
示例5: appendAndExecuteSeq
def appendAndExecuteSeq(seq, n, eseqs, nseqs):
ok = False
propok = False
classTable = dict.fromkeys(sut.actionClasses(), 0)
timeover = time.time() - start >= timeout
while n > 0:
n -= 1
a = sut.randomEnabled(rgen)
seq.append(a)
if equal(seq, eseqs) or equal(seq, nseqs):
continue
ok = sut.safely(a)
propok = sut.check()
classTable[sut.actionClass(a)] += 1
if running:
argRunning(a)
if contract(ok, propok, seq, eseqs):
break
timeover = time.time() - start >= timeout
if timeover:
return (ok, propok, classTable, timeover)
return (ok, propok, classTable, timeover)
示例6: action
def action():
global actCount, bugs, failPool
act = sut.randomEnabled(rgen)
actCount += 1
ok = sut.safely(act)
if running == 1:
if len(sut.newBranches()) > 0:
print "ACTION:", act[0]
for b in sut.newBranches():
print time.time() - start, len(sut.allBranches()), "New branch", b
if faults:
if not ok:
bugs += 1
print "FOUND A FAILURE"
print sut.failure()
print "REDUCING"
failPool.append(sut.test())
collectCoverage()
R = sut.reduce(sut.test(),sut.fails, True, True)
sut.prettyPrintTest(R)
print sut.failure()
f = open(("failure" + str(bugs) + ".test"),"w")
f.writelines(str(sut.failure()))
f.close()
sut.restart()
else:
expand()
return ok
示例7: appendAndExecuteSeq
def appendAndExecuteSeq(seq, n, eseqs, nseqs):
global config, rgen, start
ok = False
propok = False
timeover = time.time() - start >= config.timeout
while n > 0:
n -= 1
a = rgen.choice(getComponent())
seq.append(a)
if equal(seq, eseqs) or equal(seq, nseqs):
continue
ok = sut.safely(a)
propok = sut.check()
if config.running:
argRunning(a)
if contract(ok, propok, seq, eseqs):
break
timeover = time.time() - start >= config.timeout
if timeover:
return (ok, propok, timeover)
return (ok, propok, timeover)
示例8: crossover
def crossover(test,test2):
global bugs
tcopy = list(test)
#randomly choose part of test
i = rgen.randint(0,len(tcopy))
#replay to be the chosen state
sut.replay(tcopy[:i],catchUncaught = True)
trest = []
for s in test2[i:]:
if s[1]():
trest.append(s)
#check whether it is correct
ok = sut.safely(s)
if not ok:
bugs = bugs+1
errors.append(sut.currStatements())
fault_collection()
#to do crossover
tcopy = test[:i]+trest
#if we find new branches
if len(sut.newCurrBranches()) != 0:
print "NEW BRANCHES DUE TO CROSSOVER:",sut.newCurrBranches()
return tcopy
示例9: randomAction
def randomAction():
global actCount, bugs, visited
act = sut.randomEnabled(rgen)
actCount += 1
ok = sut.safely(act)
elapsed = time.time() - start
if not ok:
bugs += 1
if FAULTS:
name = "failure"+str(bugs)+".test"
f = sut.test()
sut.saveTest(f,name)
else:
if RUNNING:
if sut.newBranches() != set([]):
print "ACTION:",act[0]
for d in sut.newBranches():
print elapsed,len(sut.allBranches()),"New branch",d
sawNew = True
else:
sawNew = False
if sut.newStatements() != set([]):
print "ACTION:",act[0]
for s in sut.newStatements():
print elapsed,len(sut.allStatements()),"New statement",s
sawNew = True
else:
sawNew = False
if len(sut.newStatements()) != 0:
visited.append((list(sut.test()), set(sut.currStatements())))
return ok
示例10: randomAction
def randomAction():
global bug_no, time_start, allAction, ii
action = sut.randomEnabled(rand)
ok = sut.safely(action)
elapsed = time.time() - time_start
if RUNNING_DETAIL:
if len(sut.newBranches()) > 0:
print "ACTION:", action[0]
for b in sut.newBranches():
print elapsed, len(sut.allBranches()), "New branch", b
if not ok: # found a bug
bug_no += 1
print "FOUND A BUG! #", bug_no
print sut.failure()
print("REDUCING")
reduce = sut.reduce(sut.test(), sut.fails, True, True)
sut.prettyPrintTest(reduce)
print(sut.failure())
# write the bug to file if FAULT_ARGUMENT is enabled
if (FAULT_CHECK):
f = open((failure_file + str(bug_no) + ".test"), "w")
print >> f, sut.failure()
# print sequence that causes failure
j = 0
for (s_reduces, _, _) in reduce:
steps_reduce = "# STEP " + str(j)
print >> f, sut.prettyName(s_reduces).ljust(80 - len(steps_reduce), ' '), steps_reduce
j += 1
f.close()
print "time: ", time.time() - time_start
return ok
示例11: randomAction
def randomAction():
global actCount, bugs, failPool, faults, start, failureFiles
act = sut.randomEnabled(rgen)
actCount += 1
ok = sut.safely(act)
elapsed = time.time() - start
if running:
if len(sut.newBranches()) > 0:
print "ACTION:", act[0]
for branch in sut.newBranches():
print elapsed, len(sut.allBranches()), "New branch", branch
if not ok:
bugs += 1
print "FOUND A FAILURE, REDUCING..."
failPool.append(sut.test())
collectCoverage()
R = sut.reduce(sut.test(),sut.fails, True, True)
if faults:
print "SAVING INTO FILE NAMED failurefile"+str(bugs)
failureFile = "failure" + str(bugs) + ".test"
sut.saveTest(sut.test(), failureFile)
failureFiles.append(failureFile)
sut.restart()
else:
expandPool()
return ok
示例12: tester
def tester():
global sut,act,n,test,para,lCovered,actNum,bugs,M,flag, filename
act = sut.randomEnabled(rgen)
flag = 0
n = sut.safely(act)
if running:
if sut.newBranches() != set([]):
for d in sut.newBranches():
print time.time() - start, len(sut.allBranches()),"New branch",d
if len(sut.newStatements()) > 0:
test = sut.state()
para = True
print sut.newStatements()
if (para == False):
if (lCovered != None):
if (lCovered in sut.currStatements()):
test = sut.state()
para = True
actNum += 1
if (n == 0):
bugs += 1
print "A failure has been found!", bugs
print sut.failure()
M = sut.reduce(sut.test(),sut.fails, True, True)
sut.prettyPrintTest(M)
print sut.failure()
filename ='failure%d.test'%bugs
sut.saveTest(M,filename)
flag = 1
示例13: Find_bugs
def Find_bugs(list_actions):
# print "Find_bugs"
global coverage_counter
global bugs
global Record
global string
safe = sut.safely(list_actions)
running_oh()
if not safe:
bugs = bugs + 1
print " *** find a bug: ",bugs
# bugs = bugs + 1
for t in sut.currStatements():
if t not in coverage_counter:
coverage_counter[t]=0
coverage_counter[t] = coverage_counter[t] + 1
# Collect_coverage()
print sut.failure()
# string = str(sut.failure)
Record = True
print "reducing..."
R = sut.reduce(sut.test(),sut.fails, True, True)
sut.prettyPrintTest(R)
# record_failures(R)
if FAULTS:
print"create file"
# for x in xrange(1,bugs):
# print "save"
sut.saveTest(R, failure + str(bugs)+ ".test")
# filename = "failure" + str(bugs) + ".test"
# sut.saveTest(sut.test(), filename)
# sut.restart()
return safe
示例14: randomAction
def randomAction():
global actCount, bugs, coverageCount, belowMean,lastAddCoverage
act = sut.randomEnabled(random.Random())
actCount += 1
ok = sut.safely(act)
if running:
if len(sut.newBranches()) > 0:
print "ACTION:",sut.randomEnabled(random.Random(seed))[0]
for b in sut.newBranches():
print time.time() - start, len(sut.allBranches()),"New branch",b
for s1 in sut.newStatements():
print time.time() - start, len(sut.allStatements()),"New statement",b
if not ok or not sut.check():
bugs += 1
print "FOUND A FAILURE"
if faults:
print("SHOW FAULT")
print sut.failure()
error.append(sut.test())
R = sut.reduce(sut.test(),sut.fails, True, True)
sut.prettyPrintTest(R)
print sut.failure()
sut.restart()
return ok
示例15: newState
def newState():
global rgen,sut,collected_test,storedTest,action_cnt,bugfound
for i in xrange(0,DEPTH):
action = sut.randomEnabled(rgen)
no_bug_found = sut.safely(action)
if RUNNING:
if sut.newBranches() != set([]):
for d in sut.newBranches():
print time.time() - start,len(sut.allBranches()),"New Branches",d
if len(sut.newStatements()) > 0:
collected_test = sut.state()
storedTest = True
print "new statement:",sut.newStatements()
if (not storedTest) and (lst_coverage != None) and (lst_coverage in sut.currStatements()):
collected_test = sut.state()
storedTest = True
action_cnt += 1
if not no_bug_found:
bugfound += 1
print "A failure happened here."
rds = sut.reduce(sut.test(),sut.fails, True, True)
sut.prettyPrintTest(rds)
print sut.failure()
break