Compare commits

...

1 Commits

Author SHA1 Message Date
Bartosz Podrygajlo
c6278d5316 Test for config module 2026-04-24 07:13:44 +02:00
3 changed files with 43 additions and 0 deletions

View File

@@ -2,6 +2,9 @@
add_subdirectory(utils)
add_subdirectory(config/yaml)
if (ENABLE_TESTS)
add_subdirectory(config/tests)
endif()
configure_file(cmake_defs.h.in cmake_defs.h @ONLY)
configure_file(oai_version.h.in oai_version.h @ONLY)

View File

@@ -0,0 +1,4 @@
# SPDX-License-Identifier: LicenseRef-CSSL-1.0
add_executable(test_config_cmdline test_config_cmdline.cpp)
target_link_libraries(test_config_cmdline PRIVATE CONFIG_LIB GTest::gtest)

View File

@@ -0,0 +1,36 @@
/*
* SPDX-License-Identifier: LicenseRef-CSSL-1.0
*/
#include "gtest/gtest.h"
extern "C" {
#include "common/config/config_userapi.h"
void exit_function(const char *file, const char *function, const int line, const char *s, const int assert)
{
if (assert) {
abort();
} else {
exit(EXIT_SUCCESS);
}
}
}
configmodule_interface_t *uniqCfg;
TEST(cmdline, cmdline_new_array)
{
char *array[2] = {strdup("prefix.[0].test"), strdup("1")};
if ((uniqCfg = load_configmodule(2, array, CONFIG_ENABLECMDLINEONLY)) == 0) {
exit_fun("");
}
paramdef_t params[] = {UINT16PARAM("test", "", 0, NULL, 0)};
paramlist_def_t list = {"prefix", NULL, 0};
config_getlist(uniqCfg, &list, params, sizeofArray(params), NULL);
EXPECT_EQ(list.numelt, 1);
}
int main(int argc, char **argv)
{
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}