diff options
| author | ruki <[email protected]> | 2023-11-04 00:41:30 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-11-04 00:41:30 +0800 |
| commit | 63654a215803b9fa198d4abeaec9e9acbac7b855 (patch) | |
| tree | b6b765e39b0945e888530515acbe3f7cb7ac8a40 | |
| parent | fac89c711d7678ec6d61f63fa66c5e342dada07c (diff) | |
improve doctest
| -rw-r--r-- | tests/projects/c++/doctest/tests/test_1.cpp | 2 | ||||
| -rw-r--r-- | tests/projects/c++/doctest/tests/test_2.cpp | 2 | ||||
| -rw-r--r-- | tests/projects/c++/doctest/xmake.lua | 18 | ||||
| -rw-r--r-- | xmake/actions/test/main.lua | 15 | ||||
| -rw-r--r-- | xmake/core/project/target.lua | 1 |
5 files changed, 26 insertions, 12 deletions
diff --git a/tests/projects/c++/doctest/tests/test_1.cpp b/tests/projects/c++/doctest/tests/test_1.cpp index 84b726cf2..394238d2b 100644 --- a/tests/projects/c++/doctest/tests/test_1.cpp +++ b/tests/projects/c++/doctest/tests/test_1.cpp @@ -1,6 +1,6 @@ #include "doctest/doctest.h" -int factorial(int number) { +static int factorial(int number) { return number <= 1 ? number : factorial(number - 1) * number; } diff --git a/tests/projects/c++/doctest/tests/test_2.cpp b/tests/projects/c++/doctest/tests/test_2.cpp index 8ab727d06..1edd56e49 100644 --- a/tests/projects/c++/doctest/tests/test_2.cpp +++ b/tests/projects/c++/doctest/tests/test_2.cpp @@ -1,6 +1,6 @@ #include "doctest/doctest.h" -int factorial(int number) { +static int factorial(int number) { return number <= 1 ? number : factorial(number - 1) * number; } diff --git a/tests/projects/c++/doctest/xmake.lua b/tests/projects/c++/doctest/xmake.lua index b241c784d..17be8d163 100644 --- a/tests/projects/c++/doctest/xmake.lua +++ b/tests/projects/c++/doctest/xmake.lua @@ -5,14 +5,12 @@ add_requires("doctest") target("doctest") set_kind("binary") add_files("src/*.cpp") - add_packages("doctest") - add_tests("test1", {files = "tests/test_1.cpp", - remove_files = "src/main.cpp", - languages = "c++11", - defines = "DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN"}) - add_tests("test2", {files = "tests/test_2.cpp", - remove_files = "src/main.cpp", - languages = "c++11", - defines = "DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN"}) - + for _, testfile in ipairs(os.files("tests/*.cpp")) do + add_tests(path.basename(testfile), { + files = testfile, + remove_files = "src/main.cpp", + languages = "c++11", + packages = "doctest", + defines = "DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN"}) + end diff --git a/xmake/actions/test/main.lua b/xmake/actions/test/main.lua index 3b4b9540c..510c87719 100644 --- a/xmake/actions/test/main.lua +++ b/xmake/actions/test/main.lua @@ -359,6 +359,9 @@ function main() file = path.absolute(file, scriptdir) file = path.relative(file, os.projectdir()) target_new:add("files", file, {defines = extra.defines, + cflags = extra.cflags, + cxflags = extra.cxflags, + cxxflags = extra.cxxflags, undefines = extra.undefines, languages = extra.languages}) project.target_add(target_new) @@ -368,6 +371,18 @@ function main() file = path.relative(file, os.projectdir()) target_new:remove("files", file) end + if extra.frameworks then + target_new:add("frameworks", extra.frameworks) + end + if extra.links then + target_new:add("links", extra.links) + end + if extra.syslinks then + target_new:add("syslinks", extra.syslinks) + end + if extra.packages then + target_new:add("packages", extra.packages) + end testinfo.target = target_new end end diff --git a/xmake/core/project/target.lua b/xmake/core/project/target.lua index 32fc41596..3f4a4efc0 100644 --- a/xmake/core/project/target.lua +++ b/xmake/core/project/target.lua @@ -276,6 +276,7 @@ function _instance:_invalidate(name) -- we need to flush the source files cache if target/files are modified, e.g. `target:add("files", "xxx.c")` if name == "files" then self._SOURCEFILES = nil + self._FILESCONFIG = nil elseif name == "deps" then self._DEPS = nil self._ORDERDEPS = nil |
