1.. _tfm_regression_test: 2 3TF-M Regression Test Sample 4########################### 5 6Overview 7******** 8 9Run both the Secure and Non-secure TF-M Regression tests using the Zephyr build system. 10 11The build system will replace the Zephyr application with the Non-Secure TF-M test application, 12while the Secure tests will be included in the TF-M build itself. 13 14The TF-M regression tests are implemented in the tf-m-tests repo: https://git.trustedfirmware.org/TF-M/tf-m-tests.git/ 15 16This sample is available for platforms that are supported in the trusted-firmware-m repo: https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git/ 17See sample.yaml for a list of supported platforms. 18 19Building and Running 20******************** 21 22Tests for both the secure and non-secure domain are enabled by default, controlled via the CONFIG_TFM_REGRESSION_S and CONFIG_TFM_REGRESSION_NS configs. 23 24On Target 25========= 26 27Refer to :ref:`tfm_ipc` for detailed instructions. 28 29On QEMU: 30======== 31 32Refer to :ref:`tfm_ipc` for detailed instructions. 33Following is an example based on ``west build`` 34 35 .. code-block:: bash 36 37 $ west build samples/tfm_integration/tfm_regression_test/ -p -b mps2_an521_ns -t run 38 39Sample Output 40============= 41 42 .. code-block:: console 43 44 Non-Secure system starting... 45 46 #### Execute test suites for the Secure area #### 47 48 [...] 49 50 Running Test Suite PS reliability tests (TFM_PS_TEST_3XXX)... 51 > Executing 'TFM_PS_TEST_3001' 52 Description: 'repetitive sets and gets in/from an asset' 53 > Iteration 15 of 15 54 TEST: TFM_PS_TEST_3001 - PASSED! 55 > Executing 'TFM_PS_TEST_3002' 56 Description: 'repetitive sets, gets and removes' 57 > Iteration 15 of 15 58 TEST: TFM_PS_TEST_3002 - PASSED! 59 TESTSUITE PASSED! 60 61 [...] 62 63 *** Secure test suites summary *** 64 Test suite 'PSA protected storage S interface tests (TFM_PS_TEST_2XXX)' has PASSED 65 Test suite 'PS reliability tests (TFM_PS_TEST_3XXX)' has PASSED 66 Test suite 'PS rollback protection tests (TFM_PS_TEST_4XXX)' has PASSED 67 Test suite 'PSA internal trusted storage S interface tests (TFM_ITS_TEST_2XXX)' has PASSED 68 Test suite 'ITS reliability tests (TFM_ITS_TEST_3XXX)' has PASSED 69 Test suite 'Crypto secure interface tests (TFM_CRYPTO_TEST_5XXX)' has PASSED 70 Test suite 'Initial Attestation Service secure interface tests(TFM_ATTEST_TEST_1XXX)' has PASSED 71 Test suite 'Platform Service Secure interface tests(TFM_PLATFORM_TEST_1XXX)' has PASSED 72 Test suite 'IPC secure interface test (TFM_IPC_TEST_1XXX)' has PASSED 73 74 *** End of Secure test suites *** 75 76 #### Execute test suites for the Non-secure area #### 77 78 [...] 79 80 Running Test Suite Core non-secure positive tests (TFM_CORE_TEST_1XXX)... 81 > Executing 'TFM_CORE_TEST_1001' 82 Description: 'Test service request from NS thread mode' 83 TEST: TFM_CORE_TEST_1001 - PASSED! 84 > Executing 'TFM_CORE_TEST_1003' 85 Description: 'Test the success of service init' 86 TEST: TFM_CORE_TEST_1003 - PASSED! 87 > Executing 'TFM_CORE_TEST_1007' 88 Description: 'Test secure service buffer accesses' 89 TEST: TFM_CORE_TEST_1007 - PASSED! 90 > Executing 'TFM_CORE_TEST_1008' 91 Description: 'Test secure service to service call' 92 TEST: TFM_CORE_TEST_1008 - PASSED! 93 > Executing 'TFM_CORE_TEST_1010' 94 Description: 'Test secure service to service call with buffer handling' 95 TEST: TFM_CORE_TEST_1010 - PASSED! 96 > Executing 'TFM_CORE_TEST_1015' 97 Description: 'Test service parameter sanitization' 98 TEST: TFM_CORE_TEST_1015 - PASSED! 99 > Executing 'TFM_CORE_TEST_1016' 100 Description: 'Test outvec write' 101 TEST: TFM_CORE_TEST_1016 - PASSED! 102 TESTSUITE PASSED! 103 104 [...] 105 106 *** Non-secure test suites summary *** 107 Test suite 'PSA protected storage NS interface tests (TFM_PS_TEST_1XXX)' has PASSED 108 Test suite 'PSA internal trusted storage NS interface tests (TFM_ITS_TEST_1XXX)' has PASSED 109 Test suite 'Crypto non-secure interface test (TFM_CRYPTO_TEST_6XXX)' has PASSED 110 Test suite 'Platform Service Non-Secure interface tests(TFM_PLATFORM_TEST_2XXX)' has PASSED 111 Test suite 'Initial Attestation Service non-secure interface tests(TFM_ATTEST_TEST_2XXX)' has PASSED 112 Test suite 'QCBOR regression test(TFM_QCBOR_TEST_7XXX)' has PASSED 113 Test suite 'T_COSE regression test(TFM_T_COSE_TEST_8XXX)' has PASSED 114 Test suite 'Core non-secure positive tests (TFM_CORE_TEST_1XXX)' has PASSED 115 Test suite 'IPC non-secure interface test (TFM_IPC_TEST_1XXX)' has PASSED 116 117 *** End of Non-secure test suites *** 118