aboutsummaryrefslogtreecommitdiff
path: root/tests/fuzz
diff options
context:
space:
mode:
authorAlon Zakai <alonzakai@gmail.com>2014-02-20 15:10:28 -0800
committerAlon Zakai <alonzakai@gmail.com>2014-02-20 15:15:45 -0800
commit29d094cbba95e91962da4b295c4521ccef663710 (patch)
treef9b8b1b9b59cae4ab51b6bec12e91ac945127206 /tests/fuzz
parent50851c70efe445da8b56af1f59b5094845007bf1 (diff)
fuzzing improvements
Diffstat (limited to 'tests/fuzz')
-rwxr-xr-xtests/fuzz/test.sh3
-rwxr-xr-xtests/fuzz/testpp.sh51
2 files changed, 54 insertions, 0 deletions
diff --git a/tests/fuzz/test.sh b/tests/fuzz/test.sh
index af00e966..7e6b8966 100755
--- a/tests/fuzz/test.sh
+++ b/tests/fuzz/test.sh
@@ -45,4 +45,7 @@ diff fc-sh js | grep -v warning
echo "native/fc"
grep -v warning fc > fclean
diff n1 fclean | grep -v warning
+echo "native2/fc"
+grep -v warning fc > fclean
+diff n2 fclean | grep -v warning
diff --git a/tests/fuzz/testpp.sh b/tests/fuzz/testpp.sh
new file mode 100755
index 00000000..8e9f4185
--- /dev/null
+++ b/tests/fuzz/testpp.sh
@@ -0,0 +1,51 @@
+# e.g.
+# ~/Dev/emscripten/tests/fuzz$ CSMITH=~/Dev/csmith/src/csmith CSMITH_PATH=~/Dev/csmith python ./csmith_driver.py
+# to find failures, then check those out with this script
+
+echo "builds"
+rm *.out *.bc *.js
+g++ $@ -I/home/alon/Dev/csmith/runtime -o n1.out &> /dev/null
+/home/alon/Dev/fastcomp/build/Release/bin/clang++ $@ -I/home/alon/Dev/csmith/runtime -o n2.out &> /dev/null
+/home/alon/Dev/fastcomp/build/Release/bin/clang++ $@ -I/home/alon/Dev/csmith/runtime -emit-llvm -c -o bc.bc &> o
+~/Dev/emscripten/em++ $@ -I/home/alon/Dev/csmith/runtime -o js.out.js &> /dev/null
+~/Dev/emscripten/em++ $@ -s UNALIGNED_MEMORY=1 -I/home/alon/Dev/csmith/runtime -o ua.out.js &> /dev/null
+~/Dev/emscripten/em++ $@ -s SAFE_HEAP=1 -I/home/alon/Dev/csmith/runtime -o sh.out.js &> /dev/null
+EMCC_FAST_COMPILER=1 ~/Dev/emscripten/em++ $@ -I/home/alon/Dev/csmith/runtime -o fc.out.js &> /dev/null
+EMCC_FAST_COMPILER=1 ~/Dev/emscripten/em++ $@ -s SAFE_HEAP=1 -I/home/alon/Dev/csmith/runtime -o fc-sh.out.js &> /dev/null
+echo "run n1"
+./n1.out &> n1
+echo "run n2"
+./n2.out &> n2
+echo "run bc"
+/home/alon/Dev/fastcomp/build/Release/bin/lli bc.bc &> bc
+echo "run js"
+mozjs js.out.js &> js
+echo "run ua"
+mozjs ua.out.js &> ua
+echo "run sh"
+mozjs sh.out.js &> sh
+echo "run fc"
+mozjs fc.out.js &> fc
+echo "run fc-sh"
+mozjs fc-sh.out.js &> fc-sh
+echo "n/n"
+diff n1 n2
+echo "n/bc"
+diff n1 bc
+echo "n/js"
+diff n1 js | grep -v warning
+echo "n/js-ua"
+diff n1 ua | grep -v warning
+echo "n/js-sh"
+diff n1 sh | grep -v warning
+echo "js/fc"
+diff fc js | grep -v warning
+echo "js/fc-sh"
+diff fc-sh js | grep -v warning
+echo "native/fc"
+grep -v warning fc > fclean
+diff n1 fclean | grep -v warning
+echo "native2/fc"
+grep -v warning fc > fclean
+diff n2 fclean | grep -v warning
+