blob: 68e2d20207012d124ab59a70050975f7441e45d2 [file] [log] [blame]
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +00001/*
Jamie Fox06aee082017-12-18 17:00:15 +00002 * Copyright (c) 2017-2018, 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 */
13#include "test/suites/sst/non_secure/sst_ns_tests.h"
Antonio de Angelis2eeac642018-08-21 14:23:22 +010014#include "test/suites/audit/non_secure/audit_ns_tests.h"
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000015#include "test/suites/invert/non_secure/invert_ns_tests.h"
16#include "test/suites/core/non_secure/core_ns_tests.h"
17
18static struct test_suite_t test_suites[] = {
Tamas Band90c81b2018-08-15 15:03:42 +010019#if TFM_LVL == 3
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000020#ifdef SERVICES_TEST_NS
Tamas Band90c81b2018-08-15 15:03:42 +010021 /* List test cases which compliant with level 3 isolation */
22
23#ifdef TFM_PARTITION_TEST_CORE
24 /* Non-secure invert test cases */
25 /* Note: since this is sample code, only run if test services are enabled */
26 {&register_testsuite_ns_invert_interface, 0, 0, 0},
27#endif
28#endif /* SERVICES_TEST_NS */
29
30#else /* TFM_LVL == 3 */
31
32#ifdef SERVICES_TEST_NS
33 /* List test cases which compliant with level 1 isolation */
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000034 /* Non-secure SST test cases */
35 {&register_testsuite_ns_sst_interface, 0, 0, 0},
Marc Moreno Berenguec2e4db82018-09-14 16:32:24 +010036
37#ifdef TFM_NS_CLIENT_IDENTIFICATION
Jamie Fox0ee2ca52018-02-13 18:05:50 +000038 {&register_testsuite_ns_sst_policy, 0, 0, 0},
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000039
Mate Toth-Pal349714a2018-02-23 15:30:24 +010040#ifdef TFM_PARTITION_TEST_SST
Jamie Fox06aee082017-12-18 17:00:15 +000041 /* Non-secure SST referenced access testsuite */
42 {&register_testsuite_ns_sst_ref_access, 0, 0, 0},
Marc Moreno Berenguec2e4db82018-09-14 16:32:24 +010043#endif /* TFM_PARTITION_TEST_SST */
44
45#endif /* TFM_NS_CLIENT_IDENTIFICATION */
Jamie Fox06aee082017-12-18 17:00:15 +000046
Antonio de Angelis2eeac642018-08-21 14:23:22 +010047 /* Non-secure Audit Logging test cases */
48 {&register_testsuite_ns_audit_interface, 0, 0, 0},
Antonio de Angelis7852dff2018-02-07 11:15:54 +000049
Mate Toth-Pal349714a2018-02-23 15:30:24 +010050#ifdef TFM_PARTITION_TEST_CORE
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000051 /* Non-secure invert test cases */
52 /* Note: since this is sample code, only run if test services are enabled */
53 {&register_testsuite_ns_invert_interface, 0, 0, 0},
54#endif
Tamas Band90c81b2018-08-15 15:03:42 +010055#endif /* SERVICES_TEST_NS */
56#endif /* TFM_LVL == 3 */
Marc Moreno Berengueffd3c462017-11-29 16:09:52 +000057
58#ifdef CORE_TEST_POSITIVE
59 /* Non-secure core test cases */
60 {&register_testsuite_ns_core_positive, 0, 0, 0},
61#endif
62
63#ifdef CORE_TEST_INTERACTIVE
64 /* Non-secure interactive test cases */
65 {&register_testsuite_ns_core_interactive, 0, 0, 0},
66#endif
67};
68
69void start_integ_test(void)
70{
71 integ_test("Non-secure", test_suites,
72 sizeof(test_suites)/sizeof(test_suites[0]));
73}
Ben Davis6d7256b2018-04-18 14:16:53 +010074
75/* Service stand-in for NS tests. To be called from a non-secure context */
76void tfm_non_secure_client_run_tests(void)
77{
78 start_integ_test();
79}