about summary refs log tree commit diff
path: root/test/test.sh
diff options
context:
space:
mode:
Diffstat (limited to 'test/test.sh')
-rwxr-xr-xtest/test.sh25
1 files changed, 25 insertions, 0 deletions
diff --git a/test/test.sh b/test/test.sh
index 781313a7..2cf5f534 100755
--- a/test/test.sh
+++ b/test/test.sh
@@ -379,6 +379,31 @@ test -e ../libdislocator.so && {
   rm -f test.out core test-compcov.core core.test-compcov
 } || $ECHO "$YELLOW[-] libdislocator is not compiled, cannot test"
 rm -f test-compcov
+test -e ../libradamsa.so && {
+  test -e test-instr.plain || ../afl-clang-fast -o test-instr.plain ../test-instr.c > /dev/null 2>&1
+  test -e test-instr.plain || ../afl-gcc-fast -o test-instr.plain ../test-instr.c > /dev/null 2>&1
+  test -e test-instr.plain || ../afl-gcc -o test-instr.plain ../test-instr.c > /dev/null 2>&1
+  test -e test-instr.plain && {
+    mkdir -p in
+    echo 0 > in/in
+    $ECHO "$GREY[*] running afl-fuzz with radamsa, this will take approx 10 seconds"
+    {
+      ../afl-fuzz -RR -V10 -m ${MEM_LIMIT} -i in -o out -- ./test-instr.plain >>errors 2>&1
+    } >>errors 2>&1
+    test -n "$( ls out/queue/id:000002* 2> /dev/null )" && {
+      $ECHO "$GREEN[+] libradamsa performs good - and very slow - mutations"
+    } || {
+      echo CUT------------------------------------------------------------------CUT
+      cat errors
+      echo CUT------------------------------------------------------------------CUT
+      $ECHO "$RED[!] libradamsa failed"
+      CODE=1
+    }
+    rm -rf in out errors test-instr.plain
+  } || {
+    $ECHO "$YELLOW[-] compilation of test target failed, cannot test libradamsa"
+  }
+} || $ECHO "$YELLOW[-] libradamsa is not compiled, cannot test"
 
 $ECHO "$BLUE[*] Testing: qemu_mode"
 test -e ../afl-qemu-trace && {