mirror of
https://github.com/micropython/micropython.git
synced 2026-01-05 03:30:14 +01:00
tools/ci: Add UBSan to longlong CI build.
Also rewrite the sanitizer argument variables to not assume a variant. longlong variant currently fails in this config, due to a bug fixed in follow-up commit. Signed-off-by: Angus Gratton <angus@redyak.com.au>
This commit is contained in:
12
tools/ci.sh
12
tools/ci.sh
@@ -518,13 +518,11 @@ CI_UNIX_OPTS_QEMU_RISCV64=(
|
||||
)
|
||||
|
||||
CI_UNIX_OPTS_SANITIZE_ADDRESS=(
|
||||
VARIANT=coverage
|
||||
CFLAGS_EXTRA="-fsanitize=address --param asan-use-after-return=0"
|
||||
LDFLAGS_EXTRA="-fsanitize=address --param asan-use-after-return=0"
|
||||
)
|
||||
|
||||
CI_UNIX_OPTS_SANITIZE_UNDEFINED=(
|
||||
VARIANT=coverage
|
||||
CFLAGS_EXTRA="-fsanitize=undefined -fno-sanitize=nonnull-attribute"
|
||||
LDFLAGS_EXTRA="-fsanitize=undefined -fno-sanitize=nonnull-attribute"
|
||||
)
|
||||
@@ -699,7 +697,7 @@ function ci_unix_nanbox_run_tests {
|
||||
}
|
||||
|
||||
function ci_unix_longlong_build {
|
||||
ci_unix_build_helper VARIANT=longlong
|
||||
ci_unix_build_helper VARIANT=longlong "${CI_UNIX_OPTS_SANITIZE_UNDEFINED[@]}"
|
||||
}
|
||||
|
||||
function ci_unix_longlong_run_tests {
|
||||
@@ -765,23 +763,23 @@ function ci_unix_settrace_stackless_run_tests {
|
||||
function ci_unix_sanitize_undefined_build {
|
||||
make ${MAKEOPTS} -C mpy-cross
|
||||
make ${MAKEOPTS} -C ports/unix submodules
|
||||
make ${MAKEOPTS} -C ports/unix "${CI_UNIX_OPTS_SANITIZE_UNDEFINED[@]}"
|
||||
make ${MAKEOPTS} -C ports/unix VARIANT=coverage "${CI_UNIX_OPTS_SANITIZE_UNDEFINED[@]}"
|
||||
ci_unix_build_ffi_lib_helper gcc
|
||||
}
|
||||
|
||||
function ci_unix_sanitize_undefined_run_tests {
|
||||
MICROPY_TEST_TIMEOUT=60 ci_unix_run_tests_full_helper coverage "${CI_UNIX_OPTS_SANITIZE_UNDEFINED[@]}"
|
||||
MICROPY_TEST_TIMEOUT=60 ci_unix_run_tests_full_helper coverage VARIANT=coverage "${CI_UNIX_OPTS_SANITIZE_UNDEFINED[@]}"
|
||||
}
|
||||
|
||||
function ci_unix_sanitize_address_build {
|
||||
make ${MAKEOPTS} -C mpy-cross
|
||||
make ${MAKEOPTS} -C ports/unix submodules
|
||||
make ${MAKEOPTS} -C ports/unix "${CI_UNIX_OPTS_SANITIZE_ADDRESS[@]}"
|
||||
make ${MAKEOPTS} -C ports/unix VARIANT=coverage "${CI_UNIX_OPTS_SANITIZE_ADDRESS[@]}"
|
||||
ci_unix_build_ffi_lib_helper gcc
|
||||
}
|
||||
|
||||
function ci_unix_sanitize_address_run_tests {
|
||||
MICROPY_TEST_TIMEOUT=60 ci_unix_run_tests_full_helper coverage "${CI_UNIX_OPTS_SANITIZE_ADDRESS[@]}"
|
||||
MICROPY_TEST_TIMEOUT=60 ci_unix_run_tests_full_helper coverage VARIANT=coverage "${CI_UNIX_OPTS_SANITIZE_ADDRESS[@]}"
|
||||
}
|
||||
|
||||
function ci_unix_macos_build {
|
||||
|
||||
Reference in New Issue
Block a user