aboutsummaryrefslogtreecommitdiff
path: root/test/test-nyx-mode.sh
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-04-02 23:01:51 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-04-02 23:01:51 +0000
commited571409f237cb19b9d6b91112e001c3385dbb59 (patch)
treeae0e5e5f1bc5b1b1362b14eadd2649868dc7cdf9 /test/test-nyx-mode.sh
parent697be1f19f10657358cb3eed96393042ca683b91 (diff)
parent5c891e9c31cf7e1148e73150ad8008d5d2606686 (diff)
downloadAFLplusplus-ed571409f237cb19b9d6b91112e001c3385dbb59.tar.gz
Snap for 11662267 from 5c891e9c31cf7e1148e73150ad8008d5d2606686 to sdk-releasesdk-release
Change-Id: I68d8d5a8b7a7ba4926b365534131eaa30d997f42
Diffstat (limited to 'test/test-nyx-mode.sh')
-rwxr-xr-xtest/test-nyx-mode.sh79
1 files changed, 79 insertions, 0 deletions
diff --git a/test/test-nyx-mode.sh b/test/test-nyx-mode.sh
new file mode 100755
index 00000000..6de63f1b
--- /dev/null
+++ b/test/test-nyx-mode.sh
@@ -0,0 +1,79 @@
+#!/bin/sh
+
+. ./test-pre.sh
+
+$ECHO "$BLUE[*] Testing: nyx_mode"
+
+test "$CI" = "true" && {
+ $ECHO "$YELLOW[-] nyx_mode cannot be tested in the Github CI, skipping ..."
+ exit 0
+}
+
+unset AFL_CC
+
+test -e ../libnyx.so && {
+ ../afl-cc -o test-instr ../test-instr.c > errors 2>&1
+ test -e test-instr && {
+ {
+ rm -rf nyx-test in out
+ $ECHO "$GREY[*] running nyx_packer"
+ python3 ../nyx_mode/packer/packer/nyx_packer.py \
+ ./test-instr \
+ nyx-test \
+ afl \
+ instrumentation \
+ --fast_reload_mode \
+ --purge > /dev/null 2>&1
+
+ test -e nyx-test/test-instr && {
+
+ $ECHO "$GREY[*] running nyx_config_gen"
+ python3 ../nyx_mode/packer/packer/nyx_config_gen.py nyx-test Kernel > /dev/null 2>&1
+
+ test -e nyx-test/config.ron && {
+ sudo modprobe -r kvm-intel
+ sudo modprobe -r kvm
+ sudo modprobe kvm enable_vmware_backdoor=y
+ sudo modprobe kvm-intel
+ #cat /sys/module/kvm/parameters/enable_vmware_backdoor
+
+ mkdir -p in
+ echo 00000 > in/in
+ $ECHO "$GREY[*] running afl-fuzz for nyx_mode, this will take approx 10 seconds"
+ {
+ AFL_DEBUG=1 ../afl-fuzz -i in -o out -V05 -X -- ./nyx-test >>errors 2>&1
+ } >>errors 2>&1
+ test -n "$( ls out/default/queue/id:000002* 2>/dev/null )" && {
+ $ECHO "$GREEN[+] afl-fuzz is working correctly with nyx_mode"
+ RUNTIME=`grep execs_done out/default/fuzzer_stats | awk '{print$3}'`
+ rm -rf errors nyx-test test-instr in out
+ } || {
+ echo CUT------------------------------------------------------------------CUT
+ cat errors
+ echo CUT------------------------------------------------------------------CUT
+ $ECHO "$RED[!] afl-fuzz is not working correctly with nyx_mode"
+ CODE=1
+ }
+ } || {
+ $ECHO "$RED[!] nyx_packer failed, likely install requirements not met."
+ CODE=1
+ }
+ } || {
+ $ECHO "$RED[!] nyx_packer failed, likely install requirements not met."
+ CODE=1
+ }
+ #rm -rf test-instr in out errors nyx-test
+ }
+ } || {
+ echo CUT------------------------------------------------------------------CUT
+ cat errors
+ echo CUT------------------------------------------------------------------CUT
+ $ECHO "$RED[!] afl-cc compilation of test targets failed - what is going on??"
+ CODE=1
+ }
+} || {
+ $ECHO "$YELLOW[-] nyx_mode is not compiled, cannot test"
+ INCOMPLETE=1
+}
+
+. ./test-post.sh