README.rst
1.. _tfm_psa_test:
2
3TF-M Platform Security Architecture Test Sample
4###############################################
5
6Overview
7********
8
9Run PSA test suites tests with Zephyr and TFM.
10
11The PSA tests are implemented in the psa-arch-tests repo: https://github.com/ARM-software/psa-arch-tests
12
13This sample is supported for platforms that have a port in psa-arch-tests.
14See sample.yaml for a list of supported platforms.
15
16Building and Running
17********************
18
19You must choose a suite via the CONFIG_TFM_PSA_TEST_* configs.
20
21Only one of these suites can be run at a time, with the test suite set via one
22of the following kconfig options:
23
24* ``CONFIG_TFM_PSA_TEST_CRYPTO``
25* ``CONFIG_TFM_PSA_TEST_PROTECTED_STORAGE``
26* ``CONFIG_TFM_PSA_TEST_INTERNAL_TRUSTED_STORAGE``
27* ``CONFIG_TFM_PSA_TEST_STORAGE``
28* ``CONFIG_TFM_PSA_TEST_INITIAL_ATTESTATION``
29
30You can indicate the desired test suite at build time via a config flag:
31
32 .. code-block:: bash
33
34 $ west build samples/tfm_integration/tfm_psa_test/ \
35 -p -b mps2_an521_ns -t run -- \
36 -DCONFIG_TFM_PSA_TEST_STORAGE=y
37
38Note that not all test suites are valid on all boards.
39
40On Target
41=========
42
43Refer to :ref:`tfm_ipc` for detailed instructions.
44
45On QEMU:
46========
47
48Refer to :ref:`tfm_ipc` for detailed instructions.
49Following is an example based on ``west build``
50
51 .. code-block:: bash
52
53 $ west build samples/tfm_integration/tfm_psa_test/ -p -b mps2_an521_ns -t run -- -DCONFIG_TFM_PSA_TEST_STORAGE=y
54
55Sample Output
56=============
57
58 .. code-block:: console
59
60 *** Booting Zephyr OS build zephyr-v2.5.0-456-g06f4da459a99 ***
61
62 ***** PSA Architecture Test Suite - Version 1.0 *****
63
64 Running.. Storage Suite
65 ******************************************
66
67 TEST: 401 | DESCRIPTION: UID not found check
68 [Info] Executing tests from non-secure
69
70 [Info] Executing ITS tests
71 [Check 1] Call get API for UID 6 which is not set
72 [Check 2] Call get_info API for UID 6 which is not set
73 [Check 3] Call remove API for UID 6 which is not set
74 [Check 4] Call get API for UID 6 which is removed
75 [Check 5] Call get_info API for UID 6 which is removed
76 [Check 6] Call remove API for UID 6 which is removed
77 Set storage for UID 6
78 [Check 7] Call get API for different UID 5
79 [Check 8] Call get_info API for different UID 5
80 [Check 9] Call remove API for different UID 5
81
82 [Info] Executing PS tests
83 [Check 1] Call get API for UID 6 which is not set
84 [Check 2] Call get_info API for UID 6 which is not set
85 [Check 3] Call remove API for UID 6 which is not set
86 [Check 4] Call get API for UID 6 which is removed
87 [Check 5] Call get_info API for UID 6 which is removed
88 [Check 6] Call remove API for UID 6 which is removed
89 Set storage for UID 6
90 [Check 7] Call get API for different UID 5
91 [Check 8] Call get_info API for different UID 5
92 [Check 9] Call remove API for different UID 5
93
94 TEST RESULT: PASSED
95
96 ******************************************
97
98 [...]
99
100 TEST: 417 | DESCRIPTION: Storage assest capacity modification check
101 [Info] Executing tests from non-secure
102
103 [Info] Executing PS tests
104 Test Case skipped as Optional PS APIs not are supported.
105
106 TEST RESULT: SKIPPED (Skip Code=0x0000002B)
107
108 ******************************************
109
110 ************ Storage Suite Report **********
111 TOTAL TESTS : 17
112 TOTAL PASSED : 11
113 TOTAL SIM ERROR : 0
114 TOTAL FAILED : 0
115 TOTAL SKIPPED : 6
116 ******************************************
117
118 Entering standby..
119