diff --git a/runtime/libia2/include/test_fault_handler.h b/runtime/libia2/include/test_fault_handler.h index 817928889..329442cc5 100644 --- a/runtime/libia2/include/test_fault_handler.h +++ b/runtime/libia2/include/test_fault_handler.h @@ -29,7 +29,7 @@ asm volatile("" : : : "memory"); \ volatile typeof(expr) _tmp = expr; \ printf("CHECK_VIOLATION: did not seg fault as expected\n"); \ - _exit(0); \ + _exit(1); \ _tmp; \ }) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index a6260d2f4..22a52fd02 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -40,7 +40,6 @@ endif() set_target_properties(check PROPERTIES FOLDER "tests") add_subdirectory(abi) -add_subdirectory(destructors) # add_subdirectory(ffmpeg) add_subdirectory(header_includes) # add_subdirectory(libusb) @@ -52,21 +51,26 @@ add_subdirectory(minimal_no_criterion) # TODO: support C++ namespaces #add_subdirectory(namespaces) add_subdirectory(recursion) -add_subdirectory(ro_sharing) # We don't actually compile the `omit_wrappers` test, but it is picked up by LIT. add_subdirectory(shared_data) -add_subdirectory(should_segfault) -add_subdirectory(trusted_direct) -add_subdirectory(untrusted_indirect) -add_subdirectory(two_keys_minimal) -add_subdirectory(two_shared_ranges) add_subdirectory(global_fn_ptr) add_subdirectory(rewrite_macros) add_subdirectory(sighandler) -add_subdirectory(heap_two_keys) -add_subdirectory(three_keys_minimal) + # The following tests are not supported on ARM64 yet if (NOT LIBIA2_AARCH64) + # Expected to have compartment violations, but we aren't enforcing yet: + add_subdirectory(destructors) + add_subdirectory(ro_sharing) + add_subdirectory(should_segfault) + add_subdirectory(trusted_direct) + add_subdirectory(untrusted_indirect) + add_subdirectory(two_keys_minimal) + add_subdirectory(two_shared_ranges) + # TODO(#413): Fix these tests + # add_subdirectory(heap_two_keys) + # add_subdirectory(three_keys_minimal) + # strange bug with indirect calls add_subdirectory(read_config) # ARM does not support threads yet diff --git a/tests/lit.cfg.py b/tests/lit.cfg.py index e0db9b906..6ce04be15 100644 --- a/tests/lit.cfg.py +++ b/tests/lit.cfg.py @@ -22,7 +22,8 @@ config.excludes = [entry.name for entry in os.scandir(os.path.dirname(os.path.abspath(__file__))) if entry.name not in [ 'global_fn_ptr', 'header_includes', - 'heap_two_keys', +# TODO(#413) +# 'heap_two_keys', 'macro_attr', 'minimal', 'mmap_loop',