Commit e31588fc authored by TOKITA Hiroshi's avatar TOKITA Hiroshi Committed by Carles Cufi
Browse files

tests: kconfig: Add tests for Kconfig arithmetrics



Add tests about kconfig function for arithmetric.

Signed-off-by: default avatarTOKITA Hiroshi <tokita.hiroshi@gmail.com>
parent f99f862a
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: Apache-2.0

cmake_minimum_required(VERSION 3.20.0)
find_package(Zephyr REQUIRED HINTS $ENV{ZEPHYR_BASE})
project(kconfig_functions)

FILE(GLOB app_sources src/*.c)
target_sources(app PRIVATE ${app_sources})
+92 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: Apache-2.0
# Copyright (c) 2022 CSIRO

config KCONFIG_ARITHMETRIC_ADD_10
	int
	default $(add, 10)

config KCONFIG_ARITHMETRIC_ADD_10_3
	int
	default $(add, 10, 3)

config KCONFIG_ARITHMETRIC_ADD_10_3_2
	int
	default $(add, 10, 3, 2)

config KCONFIG_ARITHMETRIC_SUB_10
	int
	default $(sub, 10)

config KCONFIG_ARITHMETRIC_SUB_10_3
	int
	default $(sub, 10, 3)

config KCONFIG_ARITHMETRIC_SUB_10_3_2
	int
	default $(sub, 10, 3, 2)

config KCONFIG_ARITHMETRIC_MUL_10
	int
	default $(mul, 10)

config KCONFIG_ARITHMETRIC_MUL_10_3
	int
	default $(mul, 10, 3)

config KCONFIG_ARITHMETRIC_MUL_10_3_2
	int
	default $(mul, 10, 3, 2)

config KCONFIG_ARITHMETRIC_DIV_10
	int
	default $(div, 10)

config KCONFIG_ARITHMETRIC_DIV_10_3
	int
	default $(div, 10, 3)

config KCONFIG_ARITHMETRIC_DIV_10_3_2
	int
	default $(div, 10, 3, 2)

config KCONFIG_ARITHMETRIC_MOD_10
	int
	default $(mod, 10)

config KCONFIG_ARITHMETRIC_MOD_10_3
	int
	default $(mod, 10, 3)

config KCONFIG_ARITHMETRIC_MOD_10_3_2
	int
	default $(mod, 10, 3, 2)

config KCONFIG_ARITHMETRIC_INC_1
	int
	default $(inc, 1)

config KCONFIG_ARITHMETRIC_INC_1_1
	string
	default "$(inc, 1, 1)"

config KCONFIG_ARITHMETRIC_INC_INC_1_1
	string
	default "$(inc, $(inc, 1, 1))"

config KCONFIG_ARITHMETRIC_DEC_1
	int
	default $(dec, 1)

config KCONFIG_ARITHMETRIC_DEC_1_1
	string
	default "$(dec, 1, 1)"

config KCONFIG_ARITHMETRIC_DEC_DEC_1_1
	string
	default "$(dec, $(dec, 1, 1))"

config KCONFIG_ARITHMETRIC_ADD_INC_1_1
	int
	default $(add, $(inc, 1, 1))

source "Kconfig.zephyr"
+1 −0
Original line number Diff line number Diff line
CONFIG_ZTEST=y
+38 −0
Original line number Diff line number Diff line
/*
 * Copyright (c) 2024 TOKITA Hiroshi
 *
 * SPDX-License-Identifier: Apache-2.0
 */

#include <string.h>
#include <zephyr/kernel.h>
#include <zephyr/sys/__assert.h>
#include <zephyr/ztest.h>

ZTEST(test_kconfig_functions_arithmetric, test_expectedvalues)
{
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_ADD_10, 10);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_ADD_10_3, 10 + 3);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_ADD_10_3_2, 10 + 3 + 2);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_SUB_10, 10);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_SUB_10_3, 10 - 3);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_SUB_10_3_2, 10 - 3 - 2);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_MUL_10, 10);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_MUL_10_3, 10 * 3);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_MUL_10_3_2, 10 * 3 * 2);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_DIV_10, 10);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_DIV_10_3, 10 / 3);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_DIV_10_3_2, 10 / 3 / 2);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_MOD_10, 10);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_MOD_10_3, 10 % 3);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_MOD_10_3_2, 10 % 3 % 2);
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_INC_1, 1 + 1);
	zassert_str_equal(CONFIG_KCONFIG_ARITHMETRIC_INC_1_1, "2,2");
	zassert_str_equal(CONFIG_KCONFIG_ARITHMETRIC_INC_INC_1_1, "3,3");
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_DEC_1, 1 - 1);
	zassert_str_equal(CONFIG_KCONFIG_ARITHMETRIC_DEC_1_1, "0,0");
	zassert_str_equal(CONFIG_KCONFIG_ARITHMETRIC_DEC_DEC_1_1, "-1,-1");
	zassert_equal(CONFIG_KCONFIG_ARITHMETRIC_ADD_INC_1_1, (1 + 1) + (1 + 1));
}

ZTEST_SUITE(test_kconfig_functions_arithmetric, NULL, NULL, NULL, NULL, NULL);
+6 −0
Original line number Diff line number Diff line
tests:
  kconfig.functions:
    tags: kconfig
    integration_platforms:
      - native_sim
      - native_sim/native/64