From f52f449f90e98e8fe50b29f94fe343ca245a12bc Mon Sep 17 00:00:00 2001 From: Feideus Date: Wed, 19 Sep 2018 11:33:40 +0200 Subject: Adding full reverting mech --- CommandeSchemaSpy.sh | 2 +- src/main/java/org/schemaspy/DBFuzzer.java | 19 ++++++++++++++++++- stackTraceCParser.sh | 2 +- 3 files changed, 20 insertions(+), 3 deletions(-) diff --git a/CommandeSchemaSpy.sh b/CommandeSchemaSpy.sh index 48d6528..7142d15 100755 --- a/CommandeSchemaSpy.sh +++ b/CommandeSchemaSpy.sh @@ -1 +1 @@ -java -jar target/schemaspy-6.0.0-rc2.jar -t pgsql -db sample_database2 -hostOptionalPort 127.0.0.1 -o sample_database/result_from_exec -dp postgresql-42.2.2.jar -u $USER -p $USER +java -jar target/schemaspy-6.0.0-rc2.jar -t pgsql -db sample_database2 -hostOptionalPort 127.0.0.1 -o sample_database/result_from_exec -dp postgresql-42.2.2.jar -u feideus -p feideus -mx 10 --target test_c_crash.exe diff --git a/src/main/java/org/schemaspy/DBFuzzer.java b/src/main/java/org/schemaspy/DBFuzzer.java index 26839ec..64ca58e 100755 --- a/src/main/java/org/schemaspy/DBFuzzer.java +++ b/src/main/java/org/schemaspy/DBFuzzer.java @@ -12,6 +12,7 @@ import org.schemaspy.model.Table; import org.schemaspy.model.GenericTree; import org.schemaspy.model.GenericTreeNode; import org.schemaspy.service.DatabaseService; +import org.schemaspy.service.SqlService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.io.BufferedReader; @@ -253,7 +254,8 @@ public class DBFuzzer } } } - System.out.println("ending process"); + boolean tmp = revertToOriginalDatabaseState(mutationTree); + System.out.println(" reverting to original state ended up in "+tmp+"ending process"); return returnStatus; } @@ -469,6 +471,21 @@ public class DBFuzzer } } + public boolean revertToOriginalDatabaseState(GenericTree mutationTree) + { + int max = mutationTree.getLastId(); + boolean res= true; + int tmp; + + for (int i = max; i > 0; i--) + { + tmp = mutationTree.find(i).undo(analyzer.getSqlService(),analyzer.getDb(),mutationTree); + if(tmp == 0) + res = false; + } + return res; + } + public int nextId() { return mutationTree.getLastId()+1; diff --git a/stackTraceCParser.sh b/stackTraceCParser.sh index f7f8fb6..7f9258a 100755 --- a/stackTraceCParser.sh +++ b/stackTraceCParser.sh @@ -16,7 +16,7 @@ echo "saving result in : "$binaryWithoutExtention; ulimit -c 9999 echo "--------------------------" -./$1 -c $3 ## -c SHOULD BE IN THE JAVA CODE AS A NESTED ARGUMENT. This is for manual testing +./$1 ## -c $3 -c SHOULD BE IN THE JAVA CODE AS A NESTED ARGUMENT. This is for manual testing echo "--------------------------" checkCoreGen=`ls | grep core`; -- cgit v1.2.3