summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorEugen Wissner <belka@caraus.de>2025-04-19 14:48:02 +0200
committerEugen Wissner <belka@caraus.de>2025-04-19 14:48:02 +0200
commitd10c5c980c18216db3bb9fb1137866cfd4f836ec (patch)
tree79d029c2ccb61e3adfc1113eacb1f141499ace33 /tests
downloadkatja-d10c5c980c18216db3bb9fb1137866cfd4f836ec.tar.gz
Initial commit
Diffstat (limited to 'tests')
-rw-r--r--tests/CMakeLists.txt15
-rw-r--r--tests/database.cpp14
-rw-r--r--tests/repository.cpp13
3 files changed, 42 insertions, 0 deletions
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
new file mode 100644
index 0000000..33ddc98
--- /dev/null
+++ b/tests/CMakeLists.txt
@@ -0,0 +1,15 @@
+find_package(Boost CONFIG COMPONENTS unit_test_framework REQUIRED)
+
+file(GLOB KATJA_TEST_SOURCES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.cpp)
+
+foreach(test_source ${KATJA_TEST_SOURCES})
+ get_filename_component(test_name ${test_source} NAME_WE)
+ set(tester ${test_name}-tester)
+
+ add_executable(${tester} ${test_source})
+
+ target_compile_definitions(${tester} PRIVATE "BOOST_TEST_DYN_LINK=1")
+ target_link_libraries(${tester} LINK_PRIVATE katja Boost::unit_test_framework)
+
+ add_test(NAME ${test_name} COMMAND ${tester})
+endforeach()
diff --git a/tests/database.cpp b/tests/database.cpp
new file mode 100644
index 0000000..d895804
--- /dev/null
+++ b/tests/database.cpp
@@ -0,0 +1,14 @@
+#define BOOST_TEST_MODULE database tests
+
+#include <boost/test/unit_test.hpp>
+#include "katja/database.hpp"
+
+BOOST_AUTO_TEST_CASE(generate_package_identifier)
+{
+ katja::database_package actual("libarchive-3.7.8-i586-1_slack15.0");
+
+ BOOST_TEST(actual.name == "libarchive");
+ BOOST_TEST(actual.version == "3.7.8");
+ BOOST_TEST(actual.architecture == "i586");
+ BOOST_TEST(actual.build_tag == "1_slack15.0");
+}
diff --git a/tests/repository.cpp b/tests/repository.cpp
new file mode 100644
index 0000000..1f1fb19
--- /dev/null
+++ b/tests/repository.cpp
@@ -0,0 +1,13 @@
+#define BOOST_TEST_MODULE repository tests
+
+#include <boost/test/unit_test.hpp>
+#include "katja/repository.hpp"
+
+BOOST_AUTO_TEST_CASE(construct_valid_database_package)
+{
+ katja::package_identifier given{ "libarchive", "3.7.8", "i586", "slackware" };
+ std::string actual = given.to_string();
+ std::string expected = "libarchive;3.7.8;i586;slackware";
+
+ BOOST_TEST(actual == expected);
+}