mirror of
https://github.com/yuzu-emu/mbedtls.git
synced 2024-11-22 23:45:49 +01:00
Add all.sh component that exercises invalid_param checks
With the change to the full config, there were no longer any tests that exercise invalid-parameter behavior. The test suite exercises invalid-parameter behavior by calling TEST_INVALID_PARAM and friends, relying on the test suite's mbedtls_check_param function. This function is only enabled if MBEDTLS_CHECK_PARAMS is defined but not MBEDTLS_CHECK_PARAMS_ASSERT. Add a component to all.sh that enables MBEDTLS_CHECK_PARAMS but disables MBEDTLS_CHECK_PARAMS_ASSERT and doesn't define MBEDTLS_PARAM_FAILED. This way, the xxx_invalid_param() tests do run. Since sample programs don't provide a mbedtls_check_param function, this component doesn't build the sample programs.
This commit is contained in:
parent
0b87412ac5
commit
dcab202368
@ -794,9 +794,21 @@ component_build_default_make_gcc_and_cxx () {
|
|||||||
make TEST_CPP=1
|
make TEST_CPP=1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
component_test_check_params_functionality () {
|
||||||
|
msg "build+test: MBEDTLS_CHECK_PARAMS functionality"
|
||||||
|
scripts/config.pl full # includes CHECK_PARAMS
|
||||||
|
# Make MBEDTLS_PARAM_FAILED call mbedtls_param_failed().
|
||||||
|
scripts/config.pl unset MBEDTLS_CHECK_PARAMS_ASSERT
|
||||||
|
scripts/config.pl unset MBEDTLS_MEMORY_BUFFER_ALLOC_C
|
||||||
|
# Only build and run tests. Do not build sample programs, because
|
||||||
|
# they don't have a mbedtls_param_failed() function.
|
||||||
|
make CC=gcc CFLAGS='-Werror -O1' lib test
|
||||||
|
}
|
||||||
|
|
||||||
component_test_check_params_without_platform () {
|
component_test_check_params_without_platform () {
|
||||||
msg "build+test: MBEDTLS_CHECK_PARAMS without MBEDTLS_PLATFORM_C"
|
msg "build+test: MBEDTLS_CHECK_PARAMS without MBEDTLS_PLATFORM_C"
|
||||||
scripts/config.pl full # includes CHECK_PARAMS
|
scripts/config.pl full # includes CHECK_PARAMS
|
||||||
|
# Keep MBEDTLS_PARAM_FAILED as assert.
|
||||||
scripts/config.pl unset MBEDTLS_MEMORY_BACKTRACE # too slow for tests
|
scripts/config.pl unset MBEDTLS_MEMORY_BACKTRACE # too slow for tests
|
||||||
scripts/config.pl unset MBEDTLS_MEMORY_BUFFER_ALLOC_C
|
scripts/config.pl unset MBEDTLS_MEMORY_BUFFER_ALLOC_C
|
||||||
scripts/config.pl unset MBEDTLS_PLATFORM_EXIT_ALT
|
scripts/config.pl unset MBEDTLS_PLATFORM_EXIT_ALT
|
||||||
@ -814,6 +826,7 @@ component_test_check_params_silent () {
|
|||||||
msg "build+test: MBEDTLS_CHECK_PARAMS with alternative MBEDTLS_PARAM_FAILED()"
|
msg "build+test: MBEDTLS_CHECK_PARAMS with alternative MBEDTLS_PARAM_FAILED()"
|
||||||
scripts/config.pl full # includes CHECK_PARAMS
|
scripts/config.pl full # includes CHECK_PARAMS
|
||||||
scripts/config.pl unset MBEDTLS_MEMORY_BACKTRACE # too slow for tests
|
scripts/config.pl unset MBEDTLS_MEMORY_BACKTRACE # too slow for tests
|
||||||
|
# Set MBEDTLS_PARAM_FAILED to nothing.
|
||||||
sed -i 's/.*\(#define MBEDTLS_PARAM_FAILED( cond )\).*/\1/' "$CONFIG_H"
|
sed -i 's/.*\(#define MBEDTLS_PARAM_FAILED( cond )\).*/\1/' "$CONFIG_H"
|
||||||
make CC=gcc CFLAGS='-Werror -O1' all test
|
make CC=gcc CFLAGS='-Werror -O1' all test
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user