@@ -30,16 +30,27 @@ if [ "${BUILD_ONLY:-}" = "1" ]; then
3030 echo " no tests to run for build-only targets"
3131else
3232 test_builtins=(cargo test --package builtins-test --no-fail-fast --target " $target " )
33- " ${test_builtins[@]} "
33+ if [[ ! " $target " =~ ^sbf && ! " $target " =~ ^sbpf- && ! " $target " =~ ^sbpfv3- ]]; then
34+ # Not using release mode causes a stack overflow in SBPFv0
35+ # There is a bug in SBPFv3 whereby we were not adding returns to -O0 code
36+ " ${test_builtins[@]} "
37+ " ${test_builtins[@]} " --features c
38+ " ${test_builtins[@]} " --features no-asm
39+ " ${test_builtins[@]} " --features no-f16-f128
40+ fi
41+
3442 " ${test_builtins[@]} " --release
35- " ${test_builtins[@]} " --features c
3643 " ${test_builtins[@]} " --features c --release
37- " ${test_builtins[@]} " --features no-asm
3844 " ${test_builtins[@]} " --features no-asm --release
39- " ${test_builtins[@]} " --features no-f16-f128
4045 " ${test_builtins[@]} " --features no-f16-f128 --release
41- " ${test_builtins[@]} " --benches
42- " ${test_builtins[@]} " --benches --release
46+
47+ if [[ ! " $target " =~ ^sbf && ! " $target " =~ ^sbpf ]]; then
48+ # Benches require criterion, which is not compatible with SBPF
49+ " ${test_builtins[@]} " --benches
50+ " ${test_builtins[@]} " --benches --release
51+ " ${test_builtins[@]} " --benches
52+ " ${test_builtins[@]} " --benches --release
53+ fi
4354
4455 if [ " ${TEST_VERBATIM:- } " = " 1" ]; then
4556 verb_path=$( cmd.exe //C echo \\\\ ? \\ %cd%\\ builtins-test\\ target2)
0 commit comments