60f53140b8
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.
27 lines
810 B
Python
27 lines
810 B
Python
"""Functions used to generate source files during build time
|
|
|
|
All such functions are invoked in a subprocess on Windows to prevent build flakiness.
|
|
"""
|
|
|
|
from platform_methods import subprocess_main
|
|
|
|
|
|
def generate_modules_enabled(target, source, env):
|
|
with open(target[0].path, "w") as f:
|
|
for module in env.module_list:
|
|
f.write("#define %s\n" % ("MODULE_" + module.upper() + "_ENABLED"))
|
|
|
|
|
|
def generate_modules_tests(target, source, env):
|
|
import os
|
|
import glob
|
|
|
|
with open(target[0].path, "w") as f:
|
|
for name, path in env.module_list.items():
|
|
headers = glob.glob(os.path.join(path, "tests", "*.h"))
|
|
for h in headers:
|
|
f.write('#include "%s"\n' % (os.path.normpath(h)))
|
|
|
|
|
|
if __name__ == "__main__":
|
|
subprocess_main(globals())
|