blob: 2e2eb1755c88cad4fe97ff3f5533a33ad9065ae4 [file] [log] [blame]
Kevin Peng62a87112020-07-07 15:07:46 +08001/*
2 * Copyright (c) 2017-2020, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8#include "test_framework_integ_test.h"
9#include "test_framework_integ_test_helper.h"
10#include "test_framework.h"
11
12/* Service specific includes */
Raef Coles652bb8a2020-09-24 11:27:38 +010013#ifdef TFM_PARTITION_PROTECTED_STORAGE
14#include "ps_tests.h"
15#endif
16#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
17#include "its_s_tests.h"
18#endif
19#ifdef TFM_PARTITION_INITIAL_ATTESTATION
20#include "attest_s_tests.h"
21#endif
22#ifdef TFM_PARTITION_CRYPTO
23#include "crypto_s_tests.h"
24#endif
25#ifdef TFM_PARTITION_PLATFORM
26#include "platform_s_tests.h"
27#endif
28#ifdef TFM_PSA_API
29#include "ipc_s_tests.h"
30#else
31#ifdef TFM_PARTITION_AUDIT_LOG
32#include "audit_s_tests.h"
33#endif
34#endif /* TFM_PSA_API */
Kevin Peng62a87112020-07-07 15:07:46 +080035
36static struct test_suite_t test_suites[] = {
Kevin Peng62a87112020-07-07 15:07:46 +080037
Raef Coles652bb8a2020-09-24 11:27:38 +010038#ifdef TFM_PARTITION_PROTECTED_STORAGE
Kevin Peng62a87112020-07-07 15:07:46 +080039 {&register_testsuite_s_psa_ps_interface, 0, 0, 0},
40 {&register_testsuite_s_psa_ps_reliability, 0, 0, 0},
41
42#ifdef PS_TEST_NV_COUNTERS
43 {&register_testsuite_s_rollback_protection, 0, 0, 0},
44#endif
45#endif
46
Raef Coles652bb8a2020-09-24 11:27:38 +010047#ifdef TFM_PARTITION_INTERNAL_TRUSTED_STORAGE
Kevin Peng62a87112020-07-07 15:07:46 +080048 /* Secure ITS test cases */
49 {&register_testsuite_s_psa_its_interface, 0, 0, 0},
50 {&register_testsuite_s_psa_its_reliability, 0, 0, 0},
51#endif
52
Raef Coles652bb8a2020-09-24 11:27:38 +010053#ifdef TFM_PARTITION_CRYPTO
Kevin Peng62a87112020-07-07 15:07:46 +080054 /* Crypto test cases */
55 {&register_testsuite_s_crypto_interface, 0, 0, 0},
56#endif
57
Raef Coles652bb8a2020-09-24 11:27:38 +010058#ifdef TFM_PARTITION_INITIAL_ATTESTATION
Kevin Peng62a87112020-07-07 15:07:46 +080059 /* Secure initial attestation service test cases */
60 {&register_testsuite_s_attestation_interface, 0, 0, 0},
61#endif
62
Raef Coles652bb8a2020-09-24 11:27:38 +010063#ifdef TFM_PARTITION_PLATFORM
Kevin Peng62a87112020-07-07 15:07:46 +080064 /* Secure platform service test cases */
65 {&register_testsuite_s_platform_interface, 0, 0, 0},
66#endif
67
Raef Coles652bb8a2020-09-24 11:27:38 +010068#ifdef TFM_PARTITION_AUDIT_LOG
Kevin Peng62a87112020-07-07 15:07:46 +080069 /* Secure Audit Logging test cases */
70 {&register_testsuite_s_audit_interface, 0, 0, 0},
71#endif
72
73#ifdef ENABLE_IPC_TEST
74 /* Secure IPC test cases */
75 {&register_testsuite_s_ipc_interface, 0, 0, 0},
76#endif
Kevin Peng62a87112020-07-07 15:07:46 +080077 /* End of test suites */
78 {0, 0, 0, 0}
79};
80
81static void setup_integ_test(void)
82{
83 /* Left empty intentionally, currently implemented
84 * test suites require no setup
85 */
86}
87
88static void tear_down_integ_test(void)
89{
90 /* Left empty intentionally, currently implemented
91 * test suites require no tear down
92 */
93}
94
95enum test_suite_err_t start_integ_test(void)
96{
97 enum test_suite_err_t retval;
98
99 setup_integ_test();
100 retval = integ_test("Secure", test_suites);
101 tear_down_integ_test();
102 return retval;
103}