Skip to content

Commit 3fa59db

Browse files
committed
ci: split test targets
1 parent 42d32a4 commit 3fa59db

File tree

179 files changed

+24
-12
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

179 files changed

+24
-12
lines changed

CMakeLists.txt

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -283,17 +283,15 @@ if (MRDOCS_BUILD_TESTS)
283283
target_compile_options(mrdocs-test PRIVATE -Wno-covered-switch-default)
284284
endif ()
285285
target_compile_definitions(mrdocs-test PRIVATE -DMRDOCS_TEST_FILES_DIR="${CMAKE_CURRENT_SOURCE_DIR}/test-files")
286-
add_custom_command(
287-
# if we run tests, we need the addons in the right place.
288-
TARGET mrdocs-test
289-
POST_BUILD
290-
COMMAND ${CMAKE_COMMAND} -E copy
291-
${CMAKE_SOURCE_DIR}/share/mrdocs/addons
292-
${CMAKE_BINARY_DIR}/addons
293-
BYPRODUCTS ${CMAKE_BINARY_DIR}/addons
294-
DEPENDS ${CMAKE_SOURCE_DIR}/share/mrdocs/addons
295-
)
296-
add_test(NAME mrdocs-test COMMAND mrdocs-test --action test "${PROJECT_SOURCE_DIR}/test-files/old-tests")
286+
add_test(NAME mrdocs-unit-tests COMMAND mrdocs-test --unit=true)
287+
add_test(NAME mrdocs-golden-tests COMMAND mrdocs-test --unit=false --action=test "${PROJECT_SOURCE_DIR}/test-files/golden-tests" --addons="${CMAKE_SOURCE_DIR}/share/mrdocs/addons")
288+
foreach (action IN ITEMS create update)
289+
add_custom_target(
290+
mrdocs-${action}-test-fixtures
291+
COMMAND mrdocs-test --unit=false --action=${action} "${PROJECT_SOURCE_DIR}/test-files/golden-tests" --addons="${CMAKE_SOURCE_DIR}/share/mrdocs/addons"
292+
DEPENDS mrdocs-test
293+
)
294+
endforeach ()
297295

298296
#-------------------------------------------------
299297
# XML lint

src/test/TestArgs.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,11 @@ R"(
7575
llvm::cl::Sink,
7676
llvm::cl::desc("A list of directories and/or .cpp files to test."),
7777
llvm::cl::cat(commonCat))
78+
79+
, addons(
80+
"addons",
81+
llvm::cl::desc("The directory with the addons."),
82+
llvm::cl::cat(commonCat))
7883
{
7984
}
8085

src/test/TestArgs.hpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,8 +46,9 @@ class TestArgs
4646
llvm::cl::opt<bool> badOption;
4747
llvm::cl::opt<bool> unitOption;
4848
llvm::cl::list<std::string> inputPaths;
49+
llvm::cl::opt<std::string> addons;
4950

50-
// Hide all options which don't belong to us
51+
// Hide all options that don't belong to us
5152
void hideForeignOptions();
5253
};
5354

src/test/TestRunner.cpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -357,6 +357,14 @@ checkPath(
357357
publicSettings.config = configPath;
358358
publicSettings.configDir = files::getParentDir(inputPath);
359359
publicSettings.configYaml = files::getFileText(publicSettings.config).value();
360+
if (testArgs.addons.getValue() != "")
361+
{
362+
publicSettings.addons = files::normalizeDir(testArgs.addons.getValue());
363+
}
364+
else
365+
{
366+
report::warn("No addons directory specified to mrdocs tests");
367+
}
360368
loadConfig(publicSettings, publicSettings.configYaml).value();
361369
auto configFile = loadConfigFile(
362370
publicSettings,

0 commit comments

Comments
 (0)