build(libconfig): got build system and tests working
This commit is contained in:
@@ -15,23 +15,23 @@ std::string EXAMPLE_FILENAME = std::string(getenv("MESON_SOURCE_ROOT")) + "/test
|
||||
|
||||
class configTestPrivateAccessor {
|
||||
public:
|
||||
static bool callIsKeyInCache(serif::config::Config& config, const std::string& key) {
|
||||
static bool callIsKeyInCache(fourdst::config::Config& config, const std::string& key) {
|
||||
return config.isKeyInCache(key);
|
||||
}
|
||||
|
||||
static int callCacheSize(serif::config::Config& config) {
|
||||
static int callCacheSize(fourdst::config::Config& config) {
|
||||
return config.configMap.size();
|
||||
}
|
||||
|
||||
static void callAddToCache(serif::config::Config& config, const std::string& key, const YAML::Node& node) {
|
||||
static void callAddToCache(fourdst::config::Config& config, const std::string& key, const YAML::Node& node) {
|
||||
config.addToCache(key, node);
|
||||
}
|
||||
|
||||
static void callRegisterKeyNotFound(serif::config::Config& config, const std::string& key) {
|
||||
static void callRegisterKeyNotFound(fourdst::config::Config& config, const std::string& key) {
|
||||
config.registerUnknownKey(key);
|
||||
}
|
||||
|
||||
static bool CheckIfKeyUnknown(serif::config::Config& config, const std::string& key) {
|
||||
static bool CheckIfKeyUnknown(fourdst::config::Config& config, const std::string& key) {
|
||||
if (std::find(config.unknownKeys.begin(), config.unknownKeys.end(), key) == config.unknownKeys.end()) {
|
||||
return false;
|
||||
}
|
||||
@@ -48,22 +48,22 @@ class configTest : public ::testing::Test {};
|
||||
* @brief Test the constructor of the Config class.
|
||||
*/
|
||||
TEST_F(configTest, constructor) {
|
||||
EXPECT_NO_THROW(serif::config::Config::getInstance());
|
||||
EXPECT_NO_THROW(fourdst::config::Config::getInstance());
|
||||
}
|
||||
|
||||
TEST_F(configTest, loadConfig) {
|
||||
serif::config::Config& config = serif::config::Config::getInstance();
|
||||
fourdst::config::Config& config = fourdst::config::Config::getInstance();
|
||||
EXPECT_TRUE(config.loadConfig(EXAMPLE_FILENAME));
|
||||
}
|
||||
|
||||
TEST_F(configTest, singletonTest) {
|
||||
serif::config::Config& config1 = serif::config::Config::getInstance();
|
||||
serif::config::Config& config2 = serif::config::Config::getInstance();
|
||||
fourdst::config::Config& config1 = fourdst::config::Config::getInstance();
|
||||
fourdst::config::Config& config2 = fourdst::config::Config::getInstance();
|
||||
EXPECT_EQ(&config1, &config2);
|
||||
}
|
||||
|
||||
TEST_F(configTest, getTest) {
|
||||
serif::config::Config& config = serif::config::Config::getInstance();
|
||||
fourdst::config::Config& config = fourdst::config::Config::getInstance();
|
||||
config.loadConfig(EXAMPLE_FILENAME);
|
||||
int maxIter = config.get<int>("opac:lowTemp:numeric:maxIter", 10);
|
||||
EXPECT_EQ(maxIter, 100);
|
||||
@@ -82,19 +82,19 @@ TEST_F(configTest, getTest) {
|
||||
}
|
||||
|
||||
TEST_F(configTest, secondSingletonTest) {
|
||||
serif::config::Config& config = serif::config::Config::getInstance();
|
||||
fourdst::config::Config& config = fourdst::config::Config::getInstance();
|
||||
EXPECT_EQ(config.get<int>("opac:lowTemp:numeric:maxIter", 10), 100);
|
||||
}
|
||||
|
||||
TEST_F(configTest, isKeyInCacheTest) {
|
||||
serif::config::Config& config = serif::config::Config::getInstance();
|
||||
fourdst::config::Config& config = fourdst::config::Config::getInstance();
|
||||
config.loadConfig(EXAMPLE_FILENAME);
|
||||
EXPECT_TRUE(configTestPrivateAccessor::callIsKeyInCache(config, "opac:lowTemp:numeric:maxIter"));
|
||||
EXPECT_FALSE(configTestPrivateAccessor::callIsKeyInCache(config, "opac:lowTemp:numeric:maxIter2"));
|
||||
}
|
||||
|
||||
TEST_F(configTest, cacheSize) {
|
||||
serif::config::Config& config = serif::config::Config::getInstance();
|
||||
fourdst::config::Config& config = fourdst::config::Config::getInstance();
|
||||
config.loadConfig(EXAMPLE_FILENAME);
|
||||
EXPECT_EQ(configTestPrivateAccessor::callCacheSize(config), 3);
|
||||
EXPECT_NE(configTestPrivateAccessor::callCacheSize(config), 4);
|
||||
@@ -103,9 +103,9 @@ TEST_F(configTest, cacheSize) {
|
||||
}
|
||||
|
||||
TEST_F(configTest, unknownKeyTest) {
|
||||
serif::config::Config& config = serif::config::Config::getInstance();
|
||||
fourdst::config::Config& config = fourdst::config::Config::getInstance();
|
||||
config.loadConfig(EXAMPLE_FILENAME);
|
||||
config.get<int>("opac:lowTemp:numeric:random", 10);
|
||||
EXPECT_FALSE(configTestPrivateAccessor::CheckIfKeyUnknown(config, "opac:lowTemp:numeric:maxIter"));
|
||||
EXPECT_TRUE(configTestPrivateAccessor::CheckIfKeyUnknown(config, "opac:lowTemp:numeric:random"));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,7 +13,6 @@ foreach test_file : test_sources
|
||||
test_file,
|
||||
dependencies: [gtest_dep, config_dep, gtest_main],
|
||||
include_directories: include_directories('../../src/config/public'),
|
||||
link_with: libconst, # Link the dobj library
|
||||
install_rpath: '@loader_path/../../src' # Ensure runtime library path resolves correctly
|
||||
)
|
||||
|
||||
|
||||
7
tests/meson.build
Normal file
7
tests/meson.build
Normal file
@@ -0,0 +1,7 @@
|
||||
# Google Test dependency
|
||||
gtest_dep = dependency('gtest', main: true, required : true)
|
||||
gtest_main = dependency('gtest_main', required: true)
|
||||
gtest_nomain_dep = dependency('gtest', main: false, required : true)
|
||||
|
||||
# Subdirectories for unit and integration tests
|
||||
subdir('config')
|
||||
Reference in New Issue
Block a user