summaryrefslogtreecommitdiff
path: root/modules/SCsub
diff options
context:
space:
mode:
authorAndrii Doroshenko (Xrayez) <xrayez@gmail.com>2020-07-26 14:46:44 +0300
committerAndrii Doroshenko (Xrayez) <xrayez@gmail.com>2020-07-26 17:41:46 +0300
commit60f53140b85748f6ce61c353facc15f45fd7ae4a (patch)
tree395e4ef4e22335cc772abe435092988185ae4677 /modules/SCsub
parent9856c8fda45c080886603515320faec4858d46dd (diff)
Enable support for C++ modules tests
Modules-specific tests can be written under respective module folders. Each module should have "tests" folder created with the tests implemented as `doctest` headers, so they can be collected by the buildsystem and included directly in `tests/test_main.cpp` to be compiled.
Diffstat (limited to 'modules/SCsub')
-rw-r--r--modules/SCsub13
1 files changed, 11 insertions, 2 deletions
diff --git a/modules/SCsub b/modules/SCsub
index 9155a53eaf..2d774306e4 100644
--- a/modules/SCsub
+++ b/modules/SCsub
@@ -1,10 +1,10 @@
#!/usr/bin/env python
-Import("env")
-
import modules_builders
import os
+Import("env")
+
env_modules = env.Clone()
Export("env_modules")
@@ -12,6 +12,15 @@ Export("env_modules")
# Header with MODULE_*_ENABLED defines.
env.CommandNoCache("modules_enabled.gen.h", Value(env.module_list), modules_builders.generate_modules_enabled)
+# Header to be included in `tests/test_main.cpp` to run module-specific tests.
+if env["tests"]:
+ env.CommandNoCache(
+ "modules_tests.gen.h",
+ Value(env.module_list),
+ Action(modules_builders.generate_modules_tests, "Generating modules tests header."),
+ )
+ env.AlwaysBuild("modules_tests.gen.h")
+
vs_sources = []
# libmodule_<name>.a for each active module.
for name, path in env.module_list.items():