first commit
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# Engine test suite. Phase 0: a single smoke test that backs Gate G0.
|
||||
|
||||
add_executable(pdfengine_smoke
|
||||
smoke_test.cpp
|
||||
)
|
||||
|
||||
target_link_libraries(pdfengine_smoke
|
||||
PRIVATE
|
||||
pdfengine::pdfengine
|
||||
GTest::gtest
|
||||
GTest::gtest_main
|
||||
)
|
||||
|
||||
pdfengine_set_warnings(pdfengine_smoke)
|
||||
pdfengine_enable_sanitizers(pdfengine_smoke)
|
||||
|
||||
# Registers each TEST() with CTest so `ctest --preset ...` runs them.
|
||||
gtest_discover_tests(pdfengine_smoke)
|
||||
@@ -0,0 +1,27 @@
|
||||
// Phase 0 smoke test: proves the engine library compiles, links against its
|
||||
// vcpkg dependencies, and is callable. This is what Gate G0 ("infrastructure
|
||||
// compiles on all platforms") checks in CI.
|
||||
#include <gtest/gtest.h>
|
||||
#include <pdfengine/pdf_engine.hpp>
|
||||
#include <string_view>
|
||||
|
||||
TEST(EngineSmoke, VersionIsReported) {
|
||||
EXPECT_FALSE(pdfengine::engineVersion().empty());
|
||||
EXPECT_EQ(pdfengine::engineVersion(), pdfengine::version_string);
|
||||
}
|
||||
|
||||
TEST(EngineSmoke, BuildInfoMentionsVersion) {
|
||||
const std::string_view info = pdfengine::engineBuildInfo();
|
||||
EXPECT_NE(info.find(pdfengine::version_string), std::string_view::npos);
|
||||
}
|
||||
|
||||
TEST(EngineSmoke, BuildInfoConsistentWithPdfiumLinkage) {
|
||||
const std::string_view info = pdfengine::engineBuildInfo();
|
||||
const bool says_on = info.find("pdfium=on") != std::string_view::npos;
|
||||
EXPECT_EQ(says_on, pdfengine::engineHasPdfium());
|
||||
}
|
||||
|
||||
TEST(EngineSmoke, LogBuildInfoDoesNotThrow) {
|
||||
// Exercises the spdlog dependency end to end (compile + link + call).
|
||||
EXPECT_NO_THROW(pdfengine::engineLogBuildInfo());
|
||||
}
|
||||
Reference in New Issue
Block a user