summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFeideus <erwan.ulrich@gmail.com>2018-09-19 11:33:40 +0200
committerFeideus <erwan.ulrich@gmail.com>2018-09-19 11:33:40 +0200
commitf52f449f90e98e8fe50b29f94fe343ca245a12bc (patch)
tree096badf185e8bd101ed37ee64458d6f93ad0965d
parentec02a75317db983960d066606a552da6bd4e06a2 (diff)
downloadschemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.tar.gz
schemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.tar.bz2
schemafuzz-f52f449f90e98e8fe50b29f94fe343ca245a12bc.zip
Adding full reverting mech
-rwxr-xr-xCommandeSchemaSpy.sh2
-rwxr-xr-xsrc/main/java/org/schemaspy/DBFuzzer.java19
-rwxr-xr-xstackTraceCParser.sh2
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`;