mirror of
				https://github.com/Mbed-TLS/mbedtls.git
				synced 2025-11-03 20:33:16 +03:00 
			
		
		
		
	
		
			
				
	
	
		
			100 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			100 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
# components-psasim.sh
 | 
						|
#
 | 
						|
# Copyright The Mbed TLS Contributors
 | 
						|
# SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later
 | 
						|
 | 
						|
# This file contains test components that are executed by all.sh
 | 
						|
 | 
						|
################################################################
 | 
						|
#### Remote Procedure Call PSA Testing
 | 
						|
################################################################
 | 
						|
 | 
						|
# Helper function for controlling (start & stop) the psasim server.
 | 
						|
helper_psasim_server() {
 | 
						|
    OPERATION=$1
 | 
						|
    if [ "$OPERATION" == "start" ]; then
 | 
						|
        msg "start server in tests"
 | 
						|
        (
 | 
						|
            cd tests
 | 
						|
            ../$PSASIM_PATH/test/start_server.sh
 | 
						|
        )
 | 
						|
        msg "start server in tf-psa-crypto/tests"
 | 
						|
        (
 | 
						|
            cd tf-psa-crypto/tests
 | 
						|
            ../../$PSASIM_PATH/test/start_server.sh
 | 
						|
        )
 | 
						|
    else
 | 
						|
        msg "terminate server in tests"
 | 
						|
        (
 | 
						|
            # This will kill both servers and clean up all the message queues,
 | 
						|
            # and clear temporary files in tests
 | 
						|
            cd tests
 | 
						|
            ../$PSASIM_PATH/test/kill_servers.sh
 | 
						|
        )
 | 
						|
        msg "terminate server in tf-psa-crypto/tests"
 | 
						|
        (
 | 
						|
            # This just clears temporary files in tf-psa-crypto/tests
 | 
						|
            cd tf-psa-crypto/tests
 | 
						|
            ../../$PSASIM_PATH/test/kill_servers.sh
 | 
						|
        )
 | 
						|
    fi
 | 
						|
}
 | 
						|
 | 
						|
component_test_psasim() {
 | 
						|
    msg "build server library and application"
 | 
						|
    scripts/config.py crypto
 | 
						|
    helper_psasim_config server
 | 
						|
    helper_psasim_build server
 | 
						|
 | 
						|
    helper_psasim_cleanup_before_client
 | 
						|
 | 
						|
    msg "build library for client"
 | 
						|
    helper_psasim_config client
 | 
						|
    helper_psasim_build client
 | 
						|
 | 
						|
    msg "build basic psasim client"
 | 
						|
    make -C $PSASIM_PATH CFLAGS="$ASAN_CFLAGS" LDFLAGS="$ASAN_CFLAGS" test/psa_client_base
 | 
						|
    msg "test basic psasim client"
 | 
						|
    $PSASIM_PATH/test/run_test.sh psa_client_base
 | 
						|
 | 
						|
    msg "build full psasim client"
 | 
						|
    make -C $PSASIM_PATH CFLAGS="$ASAN_CFLAGS" LDFLAGS="$ASAN_CFLAGS" test/psa_client_full
 | 
						|
    msg "test full psasim client"
 | 
						|
    $PSASIM_PATH/test/run_test.sh psa_client_full
 | 
						|
 | 
						|
    helper_psasim_server kill
 | 
						|
    make -C $PSASIM_PATH clean
 | 
						|
}
 | 
						|
 | 
						|
component_test_suite_with_psasim()
 | 
						|
{
 | 
						|
    msg "build server library and application"
 | 
						|
    helper_psasim_config server
 | 
						|
    # Modify server's library configuration here (if needed)
 | 
						|
    helper_psasim_build server
 | 
						|
 | 
						|
    helper_psasim_cleanup_before_client
 | 
						|
 | 
						|
    msg "build client library"
 | 
						|
    helper_psasim_config client
 | 
						|
    # PAKE functions are still unsupported from PSASIM
 | 
						|
    scripts/config.py -f $CRYPTO_CONFIG_H unset PSA_WANT_ALG_JPAKE
 | 
						|
    scripts/config.py unset MBEDTLS_KEY_EXCHANGE_ECJPAKE_ENABLED
 | 
						|
    helper_psasim_build client
 | 
						|
 | 
						|
    msg "build test suites"
 | 
						|
    make PSASIM=1 CFLAGS="$ASAN_CFLAGS" LDFLAGS="$ASAN_CFLAGS" tests
 | 
						|
 | 
						|
    helper_psasim_server start
 | 
						|
 | 
						|
    # psasim takes an extremely long execution time on some test suites so we
 | 
						|
    # exclude them from the list.
 | 
						|
    SKIP_TEST_SUITES="constant_time_hmac,lmots,lms"
 | 
						|
    export SKIP_TEST_SUITES
 | 
						|
 | 
						|
    msg "run test suites"
 | 
						|
    make PSASIM=1 test
 | 
						|
 | 
						|
    helper_psasim_server kill
 | 
						|
}
 |