Skip to content

Commit

Permalink
tests: cmake: overlays: Add soc_folder_overlay test
Browse files Browse the repository at this point in the history
Adds a testcase for the new ``socs`` folder, with overlays

Signed-off-by: Jamie McCrae <[email protected]>
  • Loading branch information
nordicjm authored and fabiobaltieri committed Apr 29, 2024
1 parent 1ed6d89 commit da3007e
Show file tree
Hide file tree
Showing 14 changed files with 212 additions and 0 deletions.
9 changes: 9 additions & 0 deletions tests/cmake/overlays/soc_folder_overlay/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# SPDX-License-Identifier: Apache-2.0

cmake_minimum_required(VERSION 3.20.0)

find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(overlays_soc_folder_overlay)

FILE(GLOB app_sources src/*.c)
target_sources(app PRIVATE ${app_sources})
31 changes: 31 additions & 0 deletions tests/cmake/overlays/soc_folder_overlay/Kconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config SOC_FOLDER_TEST_INCLUDE_APP
bool
default "$(dt_alias_enabled,test-app)"

config SOC_FOLDER_TEST_INCLUDE_BOARD
bool
default "$(dt_alias_enabled,test-board)"

config SOC_FOLDER_TEST_INCLUDE_BOARD_SUFFIX
bool
default "$(dt_alias_enabled,test-board-suffix)"

config SOC_FOLDER_TEST_INCLUDE_BOARD_QUALIFIERS
bool
default "$(dt_alias_enabled,test-board-qualifiers)"

config SOC_FOLDER_TEST_INCLUDE_SOC
bool
default "$(dt_alias_enabled,test-soc)"

config SOC_FOLDER_TEST_INCLUDE_SOC_SUFFIX
bool
default "$(dt_alias_enabled,test-soc-suffix)"

config TEST_TYPE
int "Test type"

source "Kconfig.zephyr"
5 changes: 5 additions & 0 deletions tests/cmake/overlays/soc_folder_overlay/app.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/ {
aliases {
test-app = &uart0;
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/ {
aliases {
test-board = &uart0;
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/ {
aliases {
test-board-qualifiers = &uart0;
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/ {
aliases {
test-board-suffix = &uart0;
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/ {
aliases {
test-board-suffix = &uart0;
};
};
1 change: 1 addition & 0 deletions tests/cmake/overlays/soc_folder_overlay/prj.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
CONFIG_ZTEST=y
5 changes: 5 additions & 0 deletions tests/cmake/overlays/soc_folder_overlay/socs/native.overlay
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/ {
aliases {
test-soc = &uart0;
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/ {
aliases {
test-soc = &uart0;
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/ {
aliases {
test-soc-suffix = &uart0;
};
};
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
/ {
aliases {
test-soc-suffix = &uart0;
};
};
96 changes: 96 additions & 0 deletions tests/cmake/overlays/soc_folder_overlay/src/main.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
/*
* Copyright (c) 2024 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/

#include <zephyr/ztest.h>

#ifndef CONFIG_TEST_TYPE
#error "Invalid test configuration"
#endif

#ifdef CONFIG_SOC_FOLDER_TEST_INCLUDE_APP
#define INCLUDED_APP 1
#else
#define INCLUDED_APP 0
#endif

#ifdef CONFIG_SOC_FOLDER_TEST_INCLUDE_BOARD
#define INCLUDED_BOARD 1
#else
#define INCLUDED_BOARD 0
#endif

#ifdef CONFIG_SOC_FOLDER_TEST_INCLUDE_BOARD_SUFFIX
#define INCLUDED_BOARD_SUFFIX 1
#else
#define INCLUDED_BOARD_SUFFIX 0
#endif

#ifdef CONFIG_SOC_FOLDER_TEST_INCLUDE_BOARD_QUALIFIERS
#define INCLUDED_BOARD_QUALIFIERS 1
#else
#define INCLUDED_BOARD_QUALIFIERS 0
#endif

#ifdef CONFIG_SOC_FOLDER_TEST_INCLUDE_SOC
#define INCLUDED_SOC 1
#else
#define INCLUDED_SOC 0
#endif

#ifdef CONFIG_SOC_FOLDER_TEST_INCLUDE_SOC_SUFFIX
#define INCLUDED_SOC_SUFFIX 1
#else
#define INCLUDED_SOC_SUFFIX 0
#endif

#if CONFIG_TEST_TYPE == 0
/* Default test */
ZTEST(soc_folder_overlay, test_default)
{
zassert_false(INCLUDED_APP, "Did not expect app overlay to be present");
zassert_false(INCLUDED_BOARD_SUFFIX, "Did not expect board suffix overlay to be present");

#ifdef CONFIG_BOARD_NATIVE_SIM_NATIVE_64
zassert_false(INCLUDED_BOARD, "Did not expect board overlay to be present");
zassert_true(INCLUDED_BOARD_QUALIFIERS, "Expected board qualifier overlay to be present");
#else
zassert_true(INCLUDED_BOARD, "Expected board overlay to be present");
zassert_false(INCLUDED_BOARD_QUALIFIERS,
"Did not expect board qualifier overlay to be present");
#endif

zassert_true(INCLUDED_SOC, "Expect soc overlay to be present");
zassert_false(INCLUDED_SOC_SUFFIX, "Did not expect soc suffix overlay to be present");
}
#elif CONFIG_TEST_TYPE == 1
/* File suffix test */
ZTEST(soc_folder_overlay, test_suffix)
{
zassert_false(INCLUDED_APP, "Did not expect app overlay to be present");
zassert_true(INCLUDED_BOARD_SUFFIX, "Expected board suffix overlay to be present");
zassert_false(INCLUDED_BOARD, "Did not expect board overlay to be present");
zassert_false(INCLUDED_BOARD_QUALIFIERS,
"Did not expect board qualifier overlay to be present");
zassert_false(INCLUDED_SOC, "Did not expect soc overlay to be present");
zassert_true(INCLUDED_SOC_SUFFIX, "Expected soc suffix overlay to be present");
}
#elif CONFIG_TEST_TYPE == 2
/* App overlay test */
ZTEST(soc_folder_overlay, test_app)
{
zassert_true(INCLUDED_APP, "Expected app overlay to be present");
zassert_false(INCLUDED_BOARD_SUFFIX, "Did not expect board suffix overlay to be present");
zassert_false(INCLUDED_BOARD, "Did not expect board overlay to be present");
zassert_false(INCLUDED_BOARD_QUALIFIERS,
"Did not expect board qualifier overlay to be present");
zassert_false(INCLUDED_SOC, "Did not expect soc overlay to be present");
zassert_false(INCLUDED_SOC_SUFFIX, "Did not epect soc suffix overlay to be present");
}
#else
#error "Invalid test type"
#endif

ZTEST_SUITE(soc_folder_overlay, NULL, NULL, NULL, NULL, NULL);
30 changes: 30 additions & 0 deletions tests/cmake/overlays/soc_folder_overlay/testcase.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
common:
tags:
- cmake
tests:
cmake.overlays.soc_folder_overlay.default:
platform_allow:
- native_sim
- native_sim/native/64
integration_platforms:
- native_sim
- native_sim/native/64
extra_args:
- CONFIG_TEST_TYPE=0
cmake.overlays.soc_folder_overlay.suffix:
platform_allow:
- native_sim
- native_sim/native/64
integration_platforms:
- native_sim
- native_sim/native/64
extra_args:
- CONFIG_TEST_TYPE=1
- FILE_SUFFIX=somesuffix
cmake.overlays.soc_folder_overlay.app:
platform_allow:
- qemu_cortex_m3
integration_platforms:
- qemu_cortex_m3
extra_args:
- CONFIG_TEST_TYPE=2

0 comments on commit da3007e

Please sign in to comment.