diff --git a/test/rt/nodes/CMakeLists.txt b/test/rt/nodes/CMakeLists.txt index 2ac3b66..ab91816 100644 --- a/test/rt/nodes/CMakeLists.txt +++ b/test/rt/nodes/CMakeLists.txt @@ -61,7 +61,7 @@ nodes_rt_test(taskiter.c SORT) include(CheckPerfParanoid) if (PERF_PARANOID_KERNEL) message(STATUS "Enabling perf paranoid tests for NODES") - nodes_rt_test(fibonacci.c SORT LEVEL 3) + nodes_rt_test(fibonacci.c SORT LEVEL 3 DRIVER "fibonacci.driver.sh") elseif(ENABLE_ALL_TESTS) message(FATAL_ERROR "Cannot enable perf paranoid tests for NODES") else() diff --git a/test/rt/nodes/fibonacci.driver.sh b/test/rt/nodes/fibonacci.driver.sh new file mode 100644 index 0000000..e8cbbc5 --- /dev/null +++ b/test/rt/nodes/fibonacci.driver.sh @@ -0,0 +1,19 @@ +target=$OVNI_TEST_BIN + +$target 2>stderr.log + +# Ensure no nOS-V warnings at runtime +if grep -c "cannot enable kernel events" stderr.log; then + echo "cannot enable kernel events in all threads" >&2 + exit 1 +fi + +# We need to sort the trace as it has unsorted regions +ovnisort ovni + +# Ensure we have at least a pair of kernel CS events +ovnitop ovni | grep KCO +ovnitop ovni | grep KCI + +# Run the emulator +ovniemu -l ovni