Skip to content

Commit f8d4e58

Browse files
committed
abort on eror
1 parent 623a556 commit f8d4e58

File tree

1 file changed

+16
-8
lines changed

1 file changed

+16
-8
lines changed

luzer/tests/CMakeLists.txt

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,14 @@ make_lua_path(LUA_PATH
1414

1515
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
1616
SetClangLibPath("libclang_rt.asan_osx_dynamic.dylib" ASAN_LIBRARY_PATH)
17+
# By default, `abort_on_error` is set to 0 on Linux (disabled),
18+
# but on macOS it is set to 1 (enabled) by default. When
19+
# `abort_on_error` is enabled, the AddressSanitizer calls
20+
# `abort()` instead of `_exit()` after printing the error report
21+
# and CTest considers such tests to be failed.
22+
string(JOIN ":" ASAN_OPTIONS
23+
abort_on_error=0
24+
)
1725
endif()
1826

1927
add_test(
@@ -238,7 +246,7 @@ string(JOIN ";" TEST_ENVIRONMENT
238246
LD_PRELOAD=${ASAN_DSO_PATH}
239247
LIB_NAME=luac_asan
240248
ERR_INJECTION=HEAP_BUFFER_OVERFLOW
241-
ASAN_OPTIONS=abort_on_error=0
249+
ASAN_OPTIONS=${ASAN_OPTIONS}
242250
)
243251
generate_luac_test(luzer_luac_asan_heap_buffer_overflow
244252
"${TEST_ENVIRONMENT}"
@@ -249,7 +257,7 @@ string(JOIN ";" TEST_ENVIRONMENT
249257
LD_PRELOAD=${ASAN_DSO_PATH}
250258
LIB_NAME=luac_asan
251259
ERR_INJECTION=STACK_BUFFER_OVERFLOW
252-
ASAN_OPTIONS=abort_on_error=0
260+
ASAN_OPTIONS=${ASAN_OPTIONS}
253261
)
254262
generate_luac_test(luzer_luac_asan_stack_buffer_overflow
255263
"${TEST_ENVIRONMENT}"
@@ -260,7 +268,7 @@ string(JOIN ";" TEST_ENVIRONMENT
260268
LD_PRELOAD=${ASAN_DSO_PATH}
261269
LIB_NAME=luac_asan
262270
ERR_INJECTION=DYNAMIC_STACK_BUFFER_OVERFLOW
263-
ASAN_OPTIONS=abort_on_error=0
271+
ASAN_OPTIONS=${ASAN_OPTIONS}
264272
)
265273
generate_luac_test(luzer_luac_asan_dynamic_stack_buffer_overflow
266274
"${TEST_ENVIRONMENT}"
@@ -271,7 +279,7 @@ string(JOIN ";" TEST_ENVIRONMENT
271279
LD_PRELOAD=${ASAN_DSO_PATH}
272280
LIB_NAME=luac_asan
273281
ERR_INJECTION=GLOBAL_BUFFER_OVERFLOW
274-
ASAN_OPTIONS=abort_on_error=0
282+
ASAN_OPTIONS=${ASAN_OPTIONS}
275283
)
276284
generate_luac_test(luzer_luac_asan_global_buffer_overflow
277285
"${TEST_ENVIRONMENT}"
@@ -282,7 +290,7 @@ string(JOIN ";" TEST_ENVIRONMENT
282290
LD_PRELOAD=${ASAN_DSO_PATH}
283291
LIB_NAME=luac_asan
284292
ERR_INJECTION=MEMSET_BUFFER_OVERFLOW
285-
ASAN_OPTIONS=abort_on_error=0
293+
ASAN_OPTIONS=${ASAN_OPTIONS}
286294
)
287295
generate_luac_test(luzer_luac_asan_memset_buffer_overflow
288296
"${TEST_ENVIRONMENT}"
@@ -293,7 +301,7 @@ string(JOIN ";" TEST_ENVIRONMENT
293301
LD_PRELOAD=${ASAN_DSO_PATH}
294302
LIB_NAME=luac_asan
295303
ERR_INJECTION=MEMCPY_BUFFER_OVERFLOW
296-
ASAN_OPTIONS=abort_on_error=0
304+
ASAN_OPTIONS=${ASAN_OPTIONS}
297305
)
298306
generate_luac_test(luzer_luac_asan_memcpy_buffer_overflow
299307
"${TEST_ENVIRONMENT}"
@@ -383,7 +391,7 @@ if (LUA_HAS_JIT)
383391
LD_PRELOAD=${ASAN_DSO_PATH}
384392
FFI_LIB_NAME=testlib_asan${CMAKE_SHARED_LIBRARY_SUFFIX}
385393
ERR_INJECTION=HEAP_BUFFER_OVERFLOW
386-
ASAN_OPTIONS=abort_on_error=0
394+
ASAN_OPTIONS=${ASAN_OPTIONS}
387395
)
388396
generate_ffi_test(luzer_ffi_asan_heap_overflow
389397
"${TEST_ENVIRONMENT}"
@@ -394,7 +402,7 @@ if (LUA_HAS_JIT)
394402
LD_PRELOAD=${UBSAN_DSO_PATH}
395403
FFI_LIB_NAME=testlib_ubsan${CMAKE_SHARED_LIBRARY_SUFFIX}
396404
ERR_INJECTION=NULL_POINTER_DEREF
397-
ASAN_OPTIONS=abort_on_error=0
405+
ASAN_OPTIONS=${ASAN_OPTIONS}
398406
)
399407
generate_ffi_test(luzer_ffi_ubsan_null_pointer_deref
400408
"${TEST_ENVIRONMENT}"

0 commit comments

Comments
 (0)