blob: d89d27bfa0c35516e73743ce243610c96ef9671b [file] [log] [blame]
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +00001/*
Kevin Peng726ad7a2020-01-22 15:49:29 +08002 * Copyright (c) 2017-2020, Arm Limited. All rights reserved.
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +00003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
Tamas Banc2074a72018-08-14 10:23:12 +01008#include "test_framework_integ_test.h"
9#include "test_framework_integ_test_helper.h"
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000010#include "test_framework.h"
11
12/* Service specific includes */
Kevin Pengc6d74502020-03-04 16:55:37 +080013#include "test/suites/ps/secure/ps_tests.h"
TudorCretu0506c9f2019-07-04 18:00:35 +010014#include "test/suites/its/secure/its_s_tests.h"
Antonio de Angelis2eeac642018-08-21 14:23:22 +010015#include "test/suites/audit/secure/audit_s_tests.h"
Tamas Ban229f9db2018-08-17 12:57:13 +010016#include "test/suites/attestation/secure/attestation_s_tests.h"
Antonio de Angelis88c5b272018-08-31 15:48:21 +010017#include "test/suites/crypto/secure/crypto_s_tests.h"
Edison Aicf5e34c2018-06-19 18:06:54 +080018#include "test/suites/ipc/secure/ipc_s_tests.h"
Mate Toth-Palee7cfba2019-11-12 17:08:23 +010019#include "test/suites/platform/secure/platform_s_tests.h"
Antonio de Angelis88c5b272018-08-31 15:48:21 +010020
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000021static struct test_suite_t test_suites[] = {
Tamas Band90c81b2018-08-15 15:03:42 +010022#ifdef SERVICES_TEST_S
Marc Moreno Berengue3587a9f2019-01-14 15:56:46 +000023 /* List test cases which are compliant with level 1 isolation */
Jamie Foxb93da8b2018-12-13 18:27:30 +000024
Kevin Pengc6d74502020-03-04 16:55:37 +080025#ifdef ENABLE_PROTECTED_STORAGE_SERVICE_TESTS
Jamie Foxece411c2019-01-08 13:29:34 +000026 {&register_testsuite_s_psa_ps_interface, 0, 0, 0},
Marc Moreno Berengue32ee4262019-01-14 11:30:46 +000027 {&register_testsuite_s_psa_ps_reliability, 0, 0, 0},
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000028
Kevin Pengc6d74502020-03-04 16:55:37 +080029#ifdef PS_TEST_NV_COUNTERS
Marc Moreno Berengue42e74b42018-08-15 14:28:45 +010030 {&register_testsuite_s_rollback_protection, 0, 0, 0},
31#endif
Kevin Peng60451ed2019-10-24 16:08:19 +080032#endif
Marc Moreno Berenguef8428f02019-01-14 14:50:09 +000033
Kevin Peng60451ed2019-10-24 16:08:19 +080034#ifdef ENABLE_INTERNAL_TRUSTED_STORAGE_SERVICE_TESTS
TudorCretu0506c9f2019-07-04 18:00:35 +010035 /* Secure ITS test cases */
36 {&register_testsuite_s_psa_its_interface, 0, 0, 0},
37 {&register_testsuite_s_psa_its_reliability, 0, 0, 0},
Kevin Peng60451ed2019-10-24 16:08:19 +080038#endif
TudorCretu0506c9f2019-07-04 18:00:35 +010039
Kevin Peng60451ed2019-10-24 16:08:19 +080040#ifdef ENABLE_CRYPTO_SERVICE_TESTS
Antonio de Angelis4743e672019-04-11 11:38:48 +010041 /* Crypto test cases */
42 {&register_testsuite_s_crypto_interface, 0, 0, 0},
Kevin Peng60451ed2019-10-24 16:08:19 +080043#endif
Antonio de Angelis4743e672019-04-11 11:38:48 +010044
Kevin Peng60451ed2019-10-24 16:08:19 +080045#ifdef ENABLE_ATTESTATION_SERVICE_TESTS
Kevin Peng2ed30222019-04-30 09:26:11 +080046 /* Secure initial attestation service test cases */
47 {&register_testsuite_s_attestation_interface, 0, 0, 0},
Kevin Peng60451ed2019-10-24 16:08:19 +080048#endif
Kevin Peng2ed30222019-04-30 09:26:11 +080049
Kevin Peng60451ed2019-10-24 16:08:19 +080050#ifdef ENABLE_PLATFORM_SERVICE_TESTS
Mate Toth-Palee7cfba2019-11-12 17:08:23 +010051 /* Secure platform service test cases */
52 {&register_testsuite_s_platform_interface, 0, 0, 0},
Kevin Peng60451ed2019-10-24 16:08:19 +080053#endif
Mate Toth-Palee7cfba2019-11-12 17:08:23 +010054
Jamie Foxc78c62c2019-05-23 13:42:17 +010055#ifdef ENABLE_AUDIT_LOGGING_SERVICE_TESTS
Antonio de Angelis2eeac642018-08-21 14:23:22 +010056 /* Secure Audit Logging test cases */
57 {&register_testsuite_s_audit_interface, 0, 0, 0},
Jamie Foxc78c62c2019-05-23 13:42:17 +010058#endif
Antonio de Angelis7852dff2018-02-07 11:15:54 +000059
David Huf2cfa122019-08-27 15:32:38 +080060#ifdef ENABLE_IPC_TEST
Edison Aicf5e34c2018-06-19 18:06:54 +080061 /* Secure IPC test cases */
62 {&register_testsuite_s_ipc_interface, 0, 0, 0},
63#endif
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000064#endif /* SERVICES_TEST_S */
TTornblomc640e072019-06-14 14:33:51 +020065 /* End of test suites */
66 {0, 0, 0, 0}
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000067};
68
69static void setup_integ_test(void)
70{
71 /* Left empty intentionally, currently implemented
72 * test suites require no setup
73 */
74}
75
76static void tear_down_integ_test(void)
77{
Jamie Foxb93da8b2018-12-13 18:27:30 +000078 /* Left empty intentionally, currently implemented
79 * test suites require no tear down
80 */
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000081}
82
Devaraj Rangannac421fd92020-01-17 11:22:44 +000083enum test_suite_err_t start_integ_test(void)
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000084{
Devaraj Rangannac421fd92020-01-17 11:22:44 +000085 enum test_suite_err_t retval;
86
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000087 setup_integ_test();
Devaraj Rangannac421fd92020-01-17 11:22:44 +000088 retval = integ_test("Secure", test_suites);
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000089 tear_down_integ_test();
Devaraj Rangannac421fd92020-01-17 11:22:44 +000090 return retval;
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000091}