diff --git a/bin/deepstate/reducer.py b/bin/deepstate/reducer.py index 85094c7..9f8589d 100644 --- a/bin/deepstate/reducer.py +++ b/bin/deepstate/reducer.py @@ -105,6 +105,18 @@ def main(): changed = True currentTest = newTest break + for b in range(0, len(currentTest)): + for v in range(b+1, len(currentTest)): + newTest = currentTest[:b] + currentTest[v:] + with open(".candidate.test", 'wb') as outf: + outf.write(newTest) + r = runCandidate(".candidate.test") + if checks(r): + print "BYTE RANGE REMOVAL REDUCED TEST TO", len(newTest), "BYTES" + s = structure(r) + changed = True + currentTest = newTest + break for b in range(0, len(currentTest)): for v in range(0, currentTest[b]): newTest = bytearray(currentTest) @@ -117,7 +129,7 @@ def main(): s = structure(r) changed = True currentTest = newTest - break + break if not changed: print "NO REDUCTIONS FOUND"