mirror of
				https://github.com/cuberite/polarssl.git
				synced 2025-11-03 20:22:59 -05: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
							
								
									3abbcedc68
								
							
						
					
					
						commit
						adcde5e997
					
				@ -832,9 +832,21 @@ component_test_no_use_psa_crypto_full_cmake_asan() {
 | 
			
		||||
    if_build_succeeded env OPENSSL_CMD="$OPENSSL_NEXT" tests/compat.sh -e '^$' -f 'ARIA\|CHACHA'
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
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 () {
 | 
			
		||||
    msg "build+test: MBEDTLS_CHECK_PARAMS without MBEDTLS_PLATFORM_C"
 | 
			
		||||
    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_BUFFER_ALLOC_C
 | 
			
		||||
    scripts/config.pl unset MBEDTLS_PLATFORM_EXIT_ALT
 | 
			
		||||
@ -852,6 +864,7 @@ component_test_check_params_silent () {
 | 
			
		||||
    msg "build+test: MBEDTLS_CHECK_PARAMS with alternative MBEDTLS_PARAM_FAILED()"
 | 
			
		||||
    scripts/config.pl full # includes CHECK_PARAMS
 | 
			
		||||
    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"
 | 
			
		||||
    make CC=gcc CFLAGS='-Werror -O1' all test
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user