/* * Copyright (c) 2017 Intel Corporation * * SPDX-License-Identifier: Apache-2.0 */ /** * @brief Test to verify XIP * * @defgroup kernel_xip_tests XIP Tests * * @ingroup all_tests * * @details This module tests that XIP performs as expected. If the first * task is even activated that is a good indication that XIP is * working. However, the test does do some testing on * global variables for completeness sake. * * @{ * @} */ #include /* This test relies on these values being one larger than the one before */ #define TEST_VAL_1 0x1 #define TEST_VAL_2 0x2 #define TEST_VAL_3 0x3 #define TEST_VAL_4 0x4 #define XIP_TEST_ARRAY_SZ 4 extern uint32_t xip_array[XIP_TEST_ARRAY_SZ]; /* * This array is deliberately defined outside of the scope of the main test * module to avoid optimization issues. */ uint32_t xip_array[XIP_TEST_ARRAY_SZ] = { TEST_VAL_1, TEST_VAL_2, TEST_VAL_3, TEST_VAL_4}; /** * @brief Test XIP * * @ingroup kernel_xip_tests */ ZTEST(xip, test_globals) { int i; /* Array should be filled with monotonically incrementing values */ for (i = 0; i < XIP_TEST_ARRAY_SZ; i++) { /**TESTPOINT: Check if the array value is correct*/ zassert_equal(xip_array[i], (i+1), "Array value is incorrect"); } } /**test case main entry*/ ZTEST_SUITE(xip, NULL, NULL, NULL, NULL, NULL);