Skip to content

Commit b3ab8b5

Browse files
authored
Merge pull request #370 from avinaw01-arm/main
psa-arch-tests v1.6 release changes.
2 parents bae1add + 5e72bf9 commit b3ab8b5

File tree

323 files changed

+7687
-4768
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

323 files changed

+7687
-4768
lines changed

api-tests/CMakeLists.txt

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#/** @file
2-
# * Copyright (c) 2019-2023, Arm Limited or its affiliates. All rights reserved.
2+
# * Copyright (c) 2019-2024, Arm Limited or its affiliates. All rights reserved.
33
# * SPDX-License-Identifier : Apache-2.0
44
# * Copyright 2023 NXP
55
# *
@@ -153,6 +153,9 @@ list(APPEND PSA_SPEC_VERSION
153153
1.0-BETA1
154154
1.0-BETA2
155155
1.0-BETA3
156+
1.0.0
157+
1.0.1
158+
1.1.0
156159
)
157160
elseif("${SUITE}" STREQUAL "INITIAL_ATTESTATION")
158161
list(APPEND PSA_SPEC_VERSION
@@ -290,6 +293,15 @@ else()
290293
endif()
291294
if(${SPEC_VERSION} STREQUAL "1.0-BETA3")
292295
set(TESTSUITE_DB ${PSA_SUITE_DIR}/1.0-beta3_testsuite.db)
296+
endif()
297+
if(${SPEC_VERSION} STREQUAL "1.0.0")
298+
set(TESTSUITE_DB ${PSA_SUITE_DIR}/1.0.0_testsuite.db)
299+
endif()
300+
if(${SPEC_VERSION} STREQUAL "1.0.1")
301+
set(TESTSUITE_DB ${PSA_SUITE_DIR}/1.0.1_testsuite.db)
302+
endif()
303+
if(${SPEC_VERSION} STREQUAL "1.1.0")
304+
set(TESTSUITE_DB ${PSA_SUITE_DIR}/1.1.0_testsuite.db)
293305
endif()
294306
elseif(${SUITE} STREQUAL "INITIAL_ATTESTATION")
295307
if(${SPEC_VERSION} STREQUAL "1.0-BETA0")

api-tests/dev_apis/README.md

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -14,12 +14,12 @@ This test suite is not a substitute for design verification. To review the test
1414
For more information on the architecture test suite framework and methodology to run the tests, refer to the [Validation Methodology](../docs/Arm_PSA_APIs_Arch_Test_Validation_Methodology.pdf) document.
1515

1616
## This release
17-
- Code Quality : REL v1.4
17+
- Code Quality : REL v1.6
1818
- This release contains following API tests: <br />
1919

2020
| Test Category | Specification Version |
2121
|--------------------------|--------------------------------------|
22-
| Crypto | [Crypto API 1.0.1](https://arm-software.github.io/psa-api/crypto/) |
22+
| Crypto | [Crypto API 1.1.0](https://arm-software.github.io/psa-api/crypto/) |
2323
| Storage (PS and ITS) | [Storage API 1.0.0](https://arm-software.github.io/psa-api/storage/) |
2424
| Attestation | [Attestation API 1.0.2](https://arm-software.github.io/psa-api/attestation/) |
2525

@@ -30,6 +30,7 @@ For more information on the architecture test suite framework and methodology to
3030

3131
| Release version | Release tag | Crypto API | Storage API | Attestation API |
3232
|-----------------|---------------|----------------|-----------------|---------------------|
33+
| REL v1.6 | [v24.03_API1.6_CRYPTO_1.1.0](https://github.com/ARM-software/psa-arch-tests/tree/v24.03_API1.6_CRYPTO_1.1.0/api-tests/dev_apis) | 1.1.0 | 1.0.0 | 1.0.2 |
3334
| REL v1.5 | [v23.06_API1.5_ADAC_EAC](https://github.com/ARM-software/psa-arch-tests/tree/v23.06_API1.5_ADAC_EAC/api-tests/dev_apis) | 1.0.1 | 1.0.0 | 1.0.2 |
3435
| REL v1.4 | [v22.01_API1.4_ADAC_BETA](https://github.com/ARM-software/psa-arch-tests/tree/v22.01_API1.4_ADAC_BETA/api-tests/dev_apis) | 1.0.1 | 1.0.0 | 1.0.2 |
3536
| REL v1.3 | [v21.10_API1.3_ADAC_ALPHA-1](https://github.com/ARM-software/psa-arch-tests/tree/v21.10_API1.3_ADAC_ALPHA-1/api-tests/dev_apis) | 1.0.0 | 1.0.0 | 1.0.2 |
@@ -41,8 +42,13 @@ For more information on the architecture test suite framework and methodology to
4142

4243
## Test scenarios
4344

44-
The mapping of the rules in the specification to the test cases and the steps followed in the tests are mentioned in the [Scenario Document](../docs/) that is present in the **docs/** folder.
45+
The mapping of the rules in the specification to the test cases and the steps followed in the tests are mentioned in the [Scenario Documents](../docs/) that is present in the **docs/** folder.
4546

47+
| Scenario Documents | |
48+
|--------------------------|---------------------------------------------------------|
49+
| Crypto | [psa_crypto_testlist.md](../docs/psa_crypto_testlist.md) |
50+
| Storage (PS and ITS) | [psa_storage_testlist.md](../docs/psa_storage_testlist.md) |
51+
| Attestation | [psa_attestation_testlist.md](../docs/psa_attestation_testlist.md) |
4652

4753
## Getting started
4854

@@ -66,25 +72,25 @@ To build the test suite for your target platform, execute the following commands
6672
<br />Options information:<br />
6773

6874
- -G"<generator_name>" : "Unix Makefiles" to generate Makefiles for Linux and Cygwin. "MinGW Makefiles" to generate Makefiles for cmd.exe on Windows <br />
69-
- -DTARGET=<platform_name> is the same as the name of the target-specific directory created in the **platform/targets/** directory. The current release has been tested on **tgt_dev_apis_tfm_an521**, **tgt_dev_apis_tfm_musca_b1** and **tgt_dev_apis_tfm_musca_a** platforms. Refer [Test_failure analysis](../docs/test_failure_analysis.md) document to know the reason for any known test fail.<br />
70-
- -DTOOLCHAIN=<tool_chain> Compiler toolchain to be used for test suite compilation. Supported values are GNUARM (GNU Arm Embedded), ARMCLANG (ARM Compiler 6.x) , HOST_GCC and GCC_LINUX . Default is GNUARM.<br />
75+
- -DTARGET=<platform_name> is the same as the name of the target-specific directory created in the **platform/targets/** directory. The current release has been tested on **tgt_dev_apis_tfm_an521** platform. Refer [Test_failure analysis](../docs/test_failure_analysis.md) document to know the reason for any known test fail.<br />
7176
- -DCPU_ARCH=<cpu_architecture_version> is the Arm Architecture version name for which the tests should be compiled. Supported CPU arch are armv8m_ml, armv8m_bl, armv7m and armv8a. Default is empty. This option is unused when TOOLCHAIN type is HOST_GCC.<br />
7277
- -DSUITE=<suite_name> is the test suite name. Supported values are CRYPTO, INITIAL_ATTESTATION, STORAGE(INTERNAL_TRUSTED_STORAGE and PROTECTED_STORAGE), INTERNAL_TRUSTED_STORAGE and PROTECTED_STORAGE .<br />
78+
- -DPSA_INCLUDE_PATHS="<include_path1>;<include_path2>;...;<include_pathn>" is an additional directory to be included into the compiler search path.You must provide API header files implementation to the test suite build system using this option. For example, to compile Crypto tests, the include path must point to the path where **psa/crypto.h** is located in your build system. Bydefault, PSA_INCLUDE_PATHS accepts absolute path. However, relative path can be provided using below format:<br />
79+
```
80+
-DPSA_INCLUDE_PATHS=`readlink -f <relative_include_path>`
81+
```
82+
- -DTOOLCHAIN=<tool_chain> Compiler toolchain to be used for test suite compilation. Supported values are GNUARM (GNU Arm Embedded), ARMCLANG (ARM Compiler 6.x) , HOST_GCC and GCC_LINUX . Default is GNUARM.<br />
7383
- -DVERBOSE=<verbose_level>. Print verbosity level. Default is 3. Supported print levels are 1(INFO & above), 2(DEBUG & above), 3(TEST & above), 4(WARN & ERROR) and 5(ERROR).
7484
- -DBUILD=<BUILD_DIR> : To select the build directory to keep output files. Default is BUILD/ inside current directory.
7585
- -DWATCHDOG_AVAILABLE=<0|1>: Test harness may require to access watchdog timer to recover system hang. 0 means skip watchdog programming in the test suite and 1 means program the watchdog. Default is 1. Note, watchdog must be available for the tests which check the API behaviour on the system reset.
7686
- -DSUITE_TEST_RANGE="<test_start_number>;<test_end_number>" is to select range of tests for build. All tests under -DSUITE are considered by default if not specified.
77-
- -DTFM_PROFILE=<profile_small/profile_medium> is to work with TFM defined Pofile Small/Medium definitions. Supported values are profile_small and profile_medium. Unless specified Default Profile is used.
78-
- -DSPEC_VERSION=<spec_version> is test suite specification version. Which will build for given specified spec_version. Supported values for CRYPTO test suite are 1.0-BETA1, 1.0-BETA2, 1.0-BETA3 , for INITIAL_ATTESATATION test suite are 1.0-BETA0, 1.0.0, 1.0.1, 1.0.2, for STORAGE, INTERNAL_TRUSTED_STORAGE, PROTECTED_STORAGE test suite are 1.0-BETA2, 1.0 . Default is empty. <br/>
87+
- -DTFM_PROFILE=<profile_small/profile_medium> is to work with TFM defined Profile Small/Medium definitions. Supported values are profile_small and profile_medium. Default profile is profile_large.
88+
- -DSPEC_VERSION=<spec_version> is test suite specification version. Which will build for given specified spec_version. Supported values for CRYPTO test suite are 1.0-BETA1, 1.0-BETA2, 1.0-BETA3 , 1.0.0, 1.0.1, 1.1.0, for INITIAL_ATTESATATION test suite are 1.0-BETA0, 1.0.0, 1.0.1, 1.0.2, for STORAGE, INTERNAL_TRUSTED_STORAGE, PROTECTED_STORAGE test suite are 1.0-BETA2, 1.0 . Default is empty. <br />
7989
If -DSPEC_VERSION option is not given it will build for latest version of testsuite.
8090
For every spec version corresponds test list will be in spec_version_testsuite.db file in api-tests/dev_apis/test_suite_name/ folder.
81-
- -DCOMPILER_NAME=<compiler_name> Compiler name to be use for selecting compiler. Supported values are gcc. By defualt it will take gcc if not specified.
91+
- -DCOMPILER_NAME=<compiler_name> Name to be used for selecting a compiler. It defaults to gcc. <br />
8292
Note: -DCOMPILER_NAME only applicable for linux i.e. -DTOOLCHAIN=GCC_LINUX and DTARGET=tgt_dev_apis_linux.
83-
- -DPSA_INCLUDE_PATHS="<include_path1>;<include_path2>;...;<include_pathn>" is an additional directory to be included into the compiler search path.You must provide API header files implementation to the test suite build system using this option. For example, to compile Crypto tests, the include path must point to the path where **psa/crypto.h** is located in your build system. Bydefault, PSA_INCLUDE_PATHS accepts absolute path. However, relative path can be provided using below format:<br />
84-
- -DPSA_TARGET_QCBOR=<path for pre-fetched cbor folder, this is option used where no network connectivity is possible during the build:<br />
85-
```
86-
-DPSA_INCLUDE_PATHS=`readlink -f <relative_include_path>`
87-
```
93+
- -DPSA_TARGET_QCBOR=< path > for pre-fetched cbor folder, this is option used where no network connectivity is possible during the build.<br />
8894
- -DTESTS_COVERAGE=<tests_coverage_value> is used to skip known failure tests by selecting value PASS. Supported values are ALL and PASS. ALL value will include all the tests and PASS value will skip the known failure tests and will include pass tests. Default is ALL.
8995

9096
- -DBESPOKE_SUITE_TESTS=<testsuite_db_file> should be placed in target specific directory, if this option is enabled, the mentioned database file will be picked up for compilation. if not default location database file will be used. This option is enabled only for CRYPTO suite at the moment.
@@ -121,7 +127,7 @@ The following steps describe the execution flow before the test execution: <br /
121127
3. Upon booting firmware and Non-secure OS, the SUT boot software gives control to the test suite entry point **int32_t val_entry(void);** as an Non-secure application entry point returning test status code. <br />
122128
4. The tests are executed sequentially in a loop in the test_dispatcher function. <br />
123129

124-
For details on test suite integration, refer to the **Integrating the test suite with the SUT** section of [Validation Methodology](../docs/Arm_PSA_APIs_Arch_Test_Validation_Methodology.pdf).
130+
For details on test suite integration, refer to the **Integrating the test suite with the SUT** section of [Validation Methodology](../docs/Arm_PSA-M_Functional_API_Test_Suite_Validation_Methodology.pdf).
125131

126132
## Security implication
127133

@@ -140,4 +146,4 @@ Arm PSA test suite is distributed under Apache v2.0 License.
140146

141147
--------------
142148

143-
*Copyright (c) 2018-2023, Arm Limited and Contributors. All rights reserved.*
149+
*Copyright (c) 2018-2024, Arm Limited and Contributors. All rights reserved.*
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
#/** @file
2+
# * Copyright (c) 2024, Arm Limited or its affiliates. All rights reserved.
3+
# * SPDX-License-Identifier : Apache-2.0
4+
# *
5+
# * Licensed under the Apache License, Version 2.0 (the "License");
6+
# * you may not use this file except in compliance with the License.
7+
# * You may obtain a copy of the License at
8+
# *
9+
# * http://www.apache.org/licenses/LICENSE-2.0
10+
# *
11+
# * Unless required by applicable law or agreed to in writing, software
12+
# * distributed under the License is distributed on an "AS IS" BASIS,
13+
# * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# * See the License for the specific language governing permissions and
15+
# * limitations under the License.
16+
#**/
17+
18+
19+
#List of tests to be compiled and run as part of crypto suite
20+
21+
(START)
22+
23+
test_c001
24+
test_c002
25+
test_c003
26+
test_c004
27+
test_c005
28+
test_c006
29+
test_c007
30+
test_c008
31+
test_c009
32+
test_c010
33+
test_c011
34+
test_c012
35+
test_c013
36+
test_c014
37+
test_c015
38+
test_c016
39+
test_c017
40+
test_c018
41+
test_c019
42+
test_c020
43+
test_c021
44+
test_c022
45+
test_c023
46+
test_c024
47+
test_c025
48+
test_c026
49+
test_c027
50+
test_c028
51+
test_c029
52+
test_c030
53+
test_c031
54+
test_c032
55+
test_c033
56+
test_c034
57+
test_c035
58+
test_c036
59+
test_c037
60+
test_c038
61+
test_c039
62+
test_c040
63+
test_c041
64+
test_c042
65+
test_c043
66+
test_c044
67+
test_c045
68+
test_c046
69+
test_c047
70+
test_c048
71+
test_c049
72+
test_c050
73+
test_c051
74+
test_c052
75+
test_c053
76+
test_c054
77+
test_c055
78+
test_c056
79+
test_c057
80+
test_c058
81+
test_c059
82+
test_c060
83+
test_c061
84+
test_c062
85+
test_c063
86+
test_c064, skip
87+
test_c065, skip
88+
test_c066
89+
test_c067, skip
90+
test_c068, skip
91+
92+
(END)

0 commit comments

Comments
 (0)