From b9419ba2b4d62251b6081ab950c156369e79a178 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 14 Mar 2024 00:42:02 +0800 Subject: add partitions_implunit test --- .../modules/partitions_implunit/BasicPlane.Figures-Point.ixx | 5 +++++ .../partitions_implunit/BasicPlane.Figures-Rectangle.cpp | 7 +++++++ .../partitions_implunit/BasicPlane.Figures-Rectangle.ixx | 11 +++++++++++ .../c++/modules/partitions_implunit/BasicPlane.Figures.ixx | 4 ++++ .../c++/modules/partitions_implunit/ModulesTutorial.cpp | 10 ++++++++++ tests/projects/c++/modules/partitions_implunit/test.lua | 1 + tests/projects/c++/modules/partitions_implunit/xmake.lua | 7 +++++++ 7 files changed, 45 insertions(+) create mode 100644 tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Point.ixx create mode 100644 tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.cpp create mode 100644 tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.ixx create mode 100644 tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures.ixx create mode 100644 tests/projects/c++/modules/partitions_implunit/ModulesTutorial.cpp create mode 100644 tests/projects/c++/modules/partitions_implunit/test.lua create mode 100644 tests/projects/c++/modules/partitions_implunit/xmake.lua diff --git a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Point.ixx b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Point.ixx new file mode 100644 index 000000000..e693edcc0 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Point.ixx @@ -0,0 +1,5 @@ +export module BasicPlane.Figures:Point; + +export struct Point { + int x, y; +}; diff --git a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.cpp b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.cpp new file mode 100644 index 000000000..ca05e05a1 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.cpp @@ -0,0 +1,7 @@ +module; + +module BasicPlane.Figures; + +int area(const Rectangle& r) { return width(r) * height(r); } +int height(const Rectangle& r) { return r.ul.y - r.lr.y; } +int width(const Rectangle& r) { return r.lr.x - r.ul.x; } diff --git a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.ixx b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.ixx new file mode 100644 index 000000000..84467d480 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.ixx @@ -0,0 +1,11 @@ +export module BasicPlane.Figures:Rectangle; + +import :Point; + +export struct Rectangle { + Point ul, lr; +}; + +export int area(const Rectangle& r); +export int height(const Rectangle& r); +export int width(const Rectangle& r); diff --git a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures.ixx b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures.ixx new file mode 100644 index 000000000..f471e1436 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures.ixx @@ -0,0 +1,4 @@ +export module BasicPlane.Figures; + +export import :Point; +export import :Rectangle; diff --git a/tests/projects/c++/modules/partitions_implunit/ModulesTutorial.cpp b/tests/projects/c++/modules/partitions_implunit/ModulesTutorial.cpp new file mode 100644 index 000000000..130a5778c --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/ModulesTutorial.cpp @@ -0,0 +1,10 @@ +#include + +import BasicPlane.Figures; + +int main(int argc, char** argv) { + Rectangle r{ {1,8}, {11,3} }; + std::cout << "area: " << area(r) << '\n'; + std::cout << "width: " << width(r) << '\n'; + return 0; +} diff --git a/tests/projects/c++/modules/partitions_implunit/test.lua b/tests/projects/c++/modules/partitions_implunit/test.lua new file mode 100644 index 000000000..e77adc4ae --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/test.lua @@ -0,0 +1 @@ +inherit(".test_stdmodules") diff --git a/tests/projects/c++/modules/partitions_implunit/xmake.lua b/tests/projects/c++/modules/partitions_implunit/xmake.lua new file mode 100644 index 000000000..2997ea8b0 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/xmake.lua @@ -0,0 +1,7 @@ +add_rules("mode.release", "mode.debug") +set_languages("c++20") + +target("foo") + set_kind("static") + add_files("*.cpp") + add_files("*.ixx") -- cgit v1.3.1 From 53cc8033c4b7970afb13e89cb6b79272e71fbfda Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 14 Mar 2024 00:42:43 +0800 Subject: rename .mpp --- .../modules/partitions_implunit/BasicPlane.Figures-Point.ixx | 5 ----- .../partitions_implunit/BasicPlane.Figures-Rectangle.cpp | 7 ------- .../partitions_implunit/BasicPlane.Figures-Rectangle.ixx | 11 ----------- .../c++/modules/partitions_implunit/BasicPlane.Figures.ixx | 4 ---- .../c++/modules/partitions_implunit/ModulesTutorial.cpp | 10 ---------- .../partitions_implunit/src/BasicPlane.Figures-Point.mpp | 5 +++++ .../partitions_implunit/src/BasicPlane.Figures-Rectangle.cpp | 7 +++++++ .../partitions_implunit/src/BasicPlane.Figures-Rectangle.mpp | 11 +++++++++++ .../modules/partitions_implunit/src/BasicPlane.Figures.mpp | 4 ++++ .../c++/modules/partitions_implunit/src/ModulesTutorial.cpp | 10 ++++++++++ tests/projects/c++/modules/partitions_implunit/xmake.lua | 4 ++-- 11 files changed, 39 insertions(+), 39 deletions(-) delete mode 100644 tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Point.ixx delete mode 100644 tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.cpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.ixx delete mode 100644 tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures.ixx delete mode 100644 tests/projects/c++/modules/partitions_implunit/ModulesTutorial.cpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Point.mpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.cpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.mpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures.mpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/ModulesTutorial.cpp diff --git a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Point.ixx b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Point.ixx deleted file mode 100644 index e693edcc0..000000000 --- a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Point.ixx +++ /dev/null @@ -1,5 +0,0 @@ -export module BasicPlane.Figures:Point; - -export struct Point { - int x, y; -}; diff --git a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.cpp b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.cpp deleted file mode 100644 index ca05e05a1..000000000 --- a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.cpp +++ /dev/null @@ -1,7 +0,0 @@ -module; - -module BasicPlane.Figures; - -int area(const Rectangle& r) { return width(r) * height(r); } -int height(const Rectangle& r) { return r.ul.y - r.lr.y; } -int width(const Rectangle& r) { return r.lr.x - r.ul.x; } diff --git a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.ixx b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.ixx deleted file mode 100644 index 84467d480..000000000 --- a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures-Rectangle.ixx +++ /dev/null @@ -1,11 +0,0 @@ -export module BasicPlane.Figures:Rectangle; - -import :Point; - -export struct Rectangle { - Point ul, lr; -}; - -export int area(const Rectangle& r); -export int height(const Rectangle& r); -export int width(const Rectangle& r); diff --git a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures.ixx b/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures.ixx deleted file mode 100644 index f471e1436..000000000 --- a/tests/projects/c++/modules/partitions_implunit/BasicPlane.Figures.ixx +++ /dev/null @@ -1,4 +0,0 @@ -export module BasicPlane.Figures; - -export import :Point; -export import :Rectangle; diff --git a/tests/projects/c++/modules/partitions_implunit/ModulesTutorial.cpp b/tests/projects/c++/modules/partitions_implunit/ModulesTutorial.cpp deleted file mode 100644 index 130a5778c..000000000 --- a/tests/projects/c++/modules/partitions_implunit/ModulesTutorial.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include - -import BasicPlane.Figures; - -int main(int argc, char** argv) { - Rectangle r{ {1,8}, {11,3} }; - std::cout << "area: " << area(r) << '\n'; - std::cout << "width: " << width(r) << '\n'; - return 0; -} diff --git a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Point.mpp b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Point.mpp new file mode 100644 index 000000000..e693edcc0 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Point.mpp @@ -0,0 +1,5 @@ +export module BasicPlane.Figures:Point; + +export struct Point { + int x, y; +}; diff --git a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.cpp b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.cpp new file mode 100644 index 000000000..ca05e05a1 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.cpp @@ -0,0 +1,7 @@ +module; + +module BasicPlane.Figures; + +int area(const Rectangle& r) { return width(r) * height(r); } +int height(const Rectangle& r) { return r.ul.y - r.lr.y; } +int width(const Rectangle& r) { return r.lr.x - r.ul.x; } diff --git a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.mpp b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.mpp new file mode 100644 index 000000000..84467d480 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.mpp @@ -0,0 +1,11 @@ +export module BasicPlane.Figures:Rectangle; + +import :Point; + +export struct Rectangle { + Point ul, lr; +}; + +export int area(const Rectangle& r); +export int height(const Rectangle& r); +export int width(const Rectangle& r); diff --git a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures.mpp b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures.mpp new file mode 100644 index 000000000..f471e1436 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures.mpp @@ -0,0 +1,4 @@ +export module BasicPlane.Figures; + +export import :Point; +export import :Rectangle; diff --git a/tests/projects/c++/modules/partitions_implunit/src/ModulesTutorial.cpp b/tests/projects/c++/modules/partitions_implunit/src/ModulesTutorial.cpp new file mode 100644 index 000000000..130a5778c --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/ModulesTutorial.cpp @@ -0,0 +1,10 @@ +#include + +import BasicPlane.Figures; + +int main(int argc, char** argv) { + Rectangle r{ {1,8}, {11,3} }; + std::cout << "area: " << area(r) << '\n'; + std::cout << "width: " << width(r) << '\n'; + return 0; +} diff --git a/tests/projects/c++/modules/partitions_implunit/xmake.lua b/tests/projects/c++/modules/partitions_implunit/xmake.lua index 2997ea8b0..a777846e3 100644 --- a/tests/projects/c++/modules/partitions_implunit/xmake.lua +++ b/tests/projects/c++/modules/partitions_implunit/xmake.lua @@ -3,5 +3,5 @@ set_languages("c++20") target("foo") set_kind("static") - add_files("*.cpp") - add_files("*.ixx") + add_files("src/*.cpp") + add_files("src/*.mpp") -- cgit v1.3.1 From 218abfd90286dd906f28c368802fd755808f1ab9 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 14 Mar 2024 00:51:32 +0800 Subject: improve tests --- tests/projects/c++/modules/partitions2/src/math.cpp | 15 --------------- tests/projects/c++/modules/partitions2/src/math.mpp | 7 ------- .../projects/c++/modules/partitions2/src/math_helpers.mpp | 7 ------- tests/projects/c++/modules/partitions2/src/test.cpp | 7 ------- tests/projects/c++/modules/partitions2/test.lua | 1 - tests/projects/c++/modules/partitions2/xmake.lua | 6 ------ .../partitions_implunit/src/BasicPlane.Figures-Point.mpp | 5 ----- .../src/BasicPlane.Figures-Rectangle.cpp | 7 ------- .../src/BasicPlane.Figures-Rectangle.mpp | 11 ----------- .../partitions_implunit/src/BasicPlane.Figures.mpp | 4 ---- .../modules/partitions_implunit/src/ModulesTutorial.cpp | 10 ---------- .../projects/c++/modules/partitions_implunit/src/math.cpp | 15 +++++++++++++++ .../projects/c++/modules/partitions_implunit/src/math.mpp | 7 +++++++ .../c++/modules/partitions_implunit/src/math_impl.mpp | 7 +++++++ .../projects/c++/modules/partitions_implunit/src/test.cpp | 7 +++++++ tests/projects/c++/modules/partitions_implunit/xmake.lua | 7 +++---- 16 files changed, 39 insertions(+), 84 deletions(-) delete mode 100644 tests/projects/c++/modules/partitions2/src/math.cpp delete mode 100644 tests/projects/c++/modules/partitions2/src/math.mpp delete mode 100644 tests/projects/c++/modules/partitions2/src/math_helpers.mpp delete mode 100644 tests/projects/c++/modules/partitions2/src/test.cpp delete mode 100644 tests/projects/c++/modules/partitions2/test.lua delete mode 100644 tests/projects/c++/modules/partitions2/xmake.lua delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Point.mpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.cpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.mpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures.mpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/ModulesTutorial.cpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/math.cpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/math.mpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/test.cpp diff --git a/tests/projects/c++/modules/partitions2/src/math.cpp b/tests/projects/c++/modules/partitions2/src/math.cpp deleted file mode 100644 index 3a10c8203..000000000 --- a/tests/projects/c++/modules/partitions2/src/math.cpp +++ /dev/null @@ -1,15 +0,0 @@ -module math; - -import :details; - -double Math::superLog(double z, double b) -{ - // Implementation omitted... - return someHelperFunction(z); -} - -double Math::lerchZeta(double lambda, double alpha, double s) -{ - // Implementation omitted... - return someHelperFunction(s); -} diff --git a/tests/projects/c++/modules/partitions2/src/math.mpp b/tests/projects/c++/modules/partitions2/src/math.mpp deleted file mode 100644 index 9e2552513..000000000 --- a/tests/projects/c++/modules/partitions2/src/math.mpp +++ /dev/null @@ -1,7 +0,0 @@ -export module math; // math module declaration - -export namespace Math -{ - double superLog(double z, double b); - double lerchZeta(double lambda, double alpha, double s); -} diff --git a/tests/projects/c++/modules/partitions2/src/math_helpers.mpp b/tests/projects/c++/modules/partitions2/src/math_helpers.mpp deleted file mode 100644 index a92cb5e4a..000000000 --- a/tests/projects/c++/modules/partitions2/src/math_helpers.mpp +++ /dev/null @@ -1,7 +0,0 @@ -export module math:details; // math:details implementation partition - -double someHelperFunction(double a) -{ - // Implementation omitted... - return 42; -} diff --git a/tests/projects/c++/modules/partitions2/src/test.cpp b/tests/projects/c++/modules/partitions2/src/test.cpp deleted file mode 100644 index 8f7f81b2c..000000000 --- a/tests/projects/c++/modules/partitions2/src/test.cpp +++ /dev/null @@ -1,7 +0,0 @@ -import math; - -int main() -{ - auto a{ Math::lerchZeta(1, 2, 3) }; - auto b{ Math::superLog(1, 2) }; -} diff --git a/tests/projects/c++/modules/partitions2/test.lua b/tests/projects/c++/modules/partitions2/test.lua deleted file mode 100644 index e77adc4ae..000000000 --- a/tests/projects/c++/modules/partitions2/test.lua +++ /dev/null @@ -1 +0,0 @@ -inherit(".test_stdmodules") diff --git a/tests/projects/c++/modules/partitions2/xmake.lua b/tests/projects/c++/modules/partitions2/xmake.lua deleted file mode 100644 index 9e0ab37bb..000000000 --- a/tests/projects/c++/modules/partitions2/xmake.lua +++ /dev/null @@ -1,6 +0,0 @@ -add_rules("mode.release", "mode.debug") -set_languages("c++20") - -target("partition2") - set_kind("binary") - add_files("src/*.cpp", "src/*.mpp") diff --git a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Point.mpp b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Point.mpp deleted file mode 100644 index e693edcc0..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Point.mpp +++ /dev/null @@ -1,5 +0,0 @@ -export module BasicPlane.Figures:Point; - -export struct Point { - int x, y; -}; diff --git a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.cpp b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.cpp deleted file mode 100644 index ca05e05a1..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.cpp +++ /dev/null @@ -1,7 +0,0 @@ -module; - -module BasicPlane.Figures; - -int area(const Rectangle& r) { return width(r) * height(r); } -int height(const Rectangle& r) { return r.ul.y - r.lr.y; } -int width(const Rectangle& r) { return r.lr.x - r.ul.x; } diff --git a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.mpp b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.mpp deleted file mode 100644 index 84467d480..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures-Rectangle.mpp +++ /dev/null @@ -1,11 +0,0 @@ -export module BasicPlane.Figures:Rectangle; - -import :Point; - -export struct Rectangle { - Point ul, lr; -}; - -export int area(const Rectangle& r); -export int height(const Rectangle& r); -export int width(const Rectangle& r); diff --git a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures.mpp b/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures.mpp deleted file mode 100644 index f471e1436..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/BasicPlane.Figures.mpp +++ /dev/null @@ -1,4 +0,0 @@ -export module BasicPlane.Figures; - -export import :Point; -export import :Rectangle; diff --git a/tests/projects/c++/modules/partitions_implunit/src/ModulesTutorial.cpp b/tests/projects/c++/modules/partitions_implunit/src/ModulesTutorial.cpp deleted file mode 100644 index 130a5778c..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/ModulesTutorial.cpp +++ /dev/null @@ -1,10 +0,0 @@ -#include - -import BasicPlane.Figures; - -int main(int argc, char** argv) { - Rectangle r{ {1,8}, {11,3} }; - std::cout << "area: " << area(r) << '\n'; - std::cout << "width: " << width(r) << '\n'; - return 0; -} diff --git a/tests/projects/c++/modules/partitions_implunit/src/math.cpp b/tests/projects/c++/modules/partitions_implunit/src/math.cpp new file mode 100644 index 000000000..3a10c8203 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/math.cpp @@ -0,0 +1,15 @@ +module math; + +import :details; + +double Math::superLog(double z, double b) +{ + // Implementation omitted... + return someHelperFunction(z); +} + +double Math::lerchZeta(double lambda, double alpha, double s) +{ + // Implementation omitted... + return someHelperFunction(s); +} diff --git a/tests/projects/c++/modules/partitions_implunit/src/math.mpp b/tests/projects/c++/modules/partitions_implunit/src/math.mpp new file mode 100644 index 000000000..9e2552513 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/math.mpp @@ -0,0 +1,7 @@ +export module math; // math module declaration + +export namespace Math +{ + double superLog(double z, double b); + double lerchZeta(double lambda, double alpha, double s); +} diff --git a/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp b/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp new file mode 100644 index 000000000..a92cb5e4a --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp @@ -0,0 +1,7 @@ +export module math:details; // math:details implementation partition + +double someHelperFunction(double a) +{ + // Implementation omitted... + return 42; +} diff --git a/tests/projects/c++/modules/partitions_implunit/src/test.cpp b/tests/projects/c++/modules/partitions_implunit/src/test.cpp new file mode 100644 index 000000000..8f7f81b2c --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/test.cpp @@ -0,0 +1,7 @@ +import math; + +int main() +{ + auto a{ Math::lerchZeta(1, 2, 3) }; + auto b{ Math::superLog(1, 2) }; +} diff --git a/tests/projects/c++/modules/partitions_implunit/xmake.lua b/tests/projects/c++/modules/partitions_implunit/xmake.lua index a777846e3..9e0ab37bb 100644 --- a/tests/projects/c++/modules/partitions_implunit/xmake.lua +++ b/tests/projects/c++/modules/partitions_implunit/xmake.lua @@ -1,7 +1,6 @@ add_rules("mode.release", "mode.debug") set_languages("c++20") -target("foo") - set_kind("static") - add_files("src/*.cpp") - add_files("src/*.mpp") +target("partition2") + set_kind("binary") + add_files("src/*.cpp", "src/*.mpp") -- cgit v1.3.1 From 61045518a48698768f184e7509796f7c911f118e Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 14 Mar 2024 00:53:00 +0800 Subject: add paritions_implunit2 --- tests/projects/c++/modules/partitions_implunit/xmake.lua | 2 +- tests/projects/c++/modules/partitions_implunit2/src/foo.mpp | 8 ++++++++ .../projects/c++/modules/partitions_implunit2/src/foo_impl.mpp | 10 ++++++++++ tests/projects/c++/modules/partitions_implunit2/src/main.cpp | 6 ++++++ tests/projects/c++/modules/partitions_implunit2/test.lua | 1 + tests/projects/c++/modules/partitions_implunit2/xmake.lua | 6 ++++++ 6 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 tests/projects/c++/modules/partitions_implunit2/src/foo.mpp create mode 100644 tests/projects/c++/modules/partitions_implunit2/src/foo_impl.mpp create mode 100644 tests/projects/c++/modules/partitions_implunit2/src/main.cpp create mode 100644 tests/projects/c++/modules/partitions_implunit2/test.lua create mode 100644 tests/projects/c++/modules/partitions_implunit2/xmake.lua diff --git a/tests/projects/c++/modules/partitions_implunit/xmake.lua b/tests/projects/c++/modules/partitions_implunit/xmake.lua index 9e0ab37bb..957f0f982 100644 --- a/tests/projects/c++/modules/partitions_implunit/xmake.lua +++ b/tests/projects/c++/modules/partitions_implunit/xmake.lua @@ -1,6 +1,6 @@ add_rules("mode.release", "mode.debug") set_languages("c++20") -target("partition2") +target("test") set_kind("binary") add_files("src/*.cpp", "src/*.mpp") diff --git a/tests/projects/c++/modules/partitions_implunit2/src/foo.mpp b/tests/projects/c++/modules/partitions_implunit2/src/foo.mpp new file mode 100644 index 000000000..dc1293e82 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit2/src/foo.mpp @@ -0,0 +1,8 @@ +// Foo.mpp +export module Foo; + +import :Impl; // can't export import Impl because Impl is a implementation partition unit + +export void foo() { + bar(); +} diff --git a/tests/projects/c++/modules/partitions_implunit2/src/foo_impl.mpp b/tests/projects/c++/modules/partitions_implunit2/src/foo_impl.mpp new file mode 100644 index 000000000..af4058b15 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit2/src/foo_impl.mpp @@ -0,0 +1,10 @@ +module; +#include + +// Foo-Impl.mpp +// can only be imported by module Foo, and visibility of bar is only public to module Foo +module Foo:Impl; + +export void bar() { + std::cout << "Hello world" << std::endl; +} diff --git a/tests/projects/c++/modules/partitions_implunit2/src/main.cpp b/tests/projects/c++/modules/partitions_implunit2/src/main.cpp new file mode 100644 index 000000000..acef780c2 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit2/src/main.cpp @@ -0,0 +1,6 @@ +import Foo; + +int main(int argc, char** argv) { + foo(); + return 0; +} diff --git a/tests/projects/c++/modules/partitions_implunit2/test.lua b/tests/projects/c++/modules/partitions_implunit2/test.lua new file mode 100644 index 000000000..e77adc4ae --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit2/test.lua @@ -0,0 +1 @@ +inherit(".test_stdmodules") diff --git a/tests/projects/c++/modules/partitions_implunit2/xmake.lua b/tests/projects/c++/modules/partitions_implunit2/xmake.lua new file mode 100644 index 000000000..957f0f982 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit2/xmake.lua @@ -0,0 +1,6 @@ +add_rules("mode.release", "mode.debug") +set_languages("c++20") + +target("test") + set_kind("binary") + add_files("src/*.cpp", "src/*.mpp") -- cgit v1.3.1 From ed96baab01f8e2d419788ecf485502f6e5509b7e Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 14 Mar 2024 00:53:32 +0800 Subject: improve test --- tests/projects/c++/modules/partitions_implunit/src/main.cpp | 7 +++++++ tests/projects/c++/modules/partitions_implunit/src/math.cpp | 6 ++---- tests/projects/c++/modules/partitions_implunit/src/math.mpp | 3 +-- tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp | 5 ++--- tests/projects/c++/modules/partitions_implunit/src/test.cpp | 7 ------- 5 files changed, 12 insertions(+), 16 deletions(-) create mode 100644 tests/projects/c++/modules/partitions_implunit/src/main.cpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/test.cpp diff --git a/tests/projects/c++/modules/partitions_implunit/src/main.cpp b/tests/projects/c++/modules/partitions_implunit/src/main.cpp new file mode 100644 index 000000000..c8c0bfd65 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/main.cpp @@ -0,0 +1,7 @@ +import math; + +int main(int argc, char** argv) { + auto a{ Math::lerchZeta(1, 2, 3) }; + auto b{ Math::superLog(1, 2) }; + return 0; +} diff --git a/tests/projects/c++/modules/partitions_implunit/src/math.cpp b/tests/projects/c++/modules/partitions_implunit/src/math.cpp index 3a10c8203..3651adb2d 100644 --- a/tests/projects/c++/modules/partitions_implunit/src/math.cpp +++ b/tests/projects/c++/modules/partitions_implunit/src/math.cpp @@ -2,14 +2,12 @@ module math; import :details; -double Math::superLog(double z, double b) -{ +double Math::superLog(double z, double b) { // Implementation omitted... return someHelperFunction(z); } -double Math::lerchZeta(double lambda, double alpha, double s) -{ +double Math::lerchZeta(double lambda, double alpha, double s) { // Implementation omitted... return someHelperFunction(s); } diff --git a/tests/projects/c++/modules/partitions_implunit/src/math.mpp b/tests/projects/c++/modules/partitions_implunit/src/math.mpp index 9e2552513..e9d5fb85a 100644 --- a/tests/projects/c++/modules/partitions_implunit/src/math.mpp +++ b/tests/projects/c++/modules/partitions_implunit/src/math.mpp @@ -1,7 +1,6 @@ export module math; // math module declaration -export namespace Math -{ +export namespace Math { double superLog(double z, double b); double lerchZeta(double lambda, double alpha, double s); } diff --git a/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp b/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp index a92cb5e4a..17d5afaf4 100644 --- a/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp +++ b/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp @@ -1,7 +1,6 @@ -export module math:details; // math:details implementation partition +module math:details; // math:details implementation partition -double someHelperFunction(double a) -{ +double someHelperFunction(double a) { // Implementation omitted... return 42; } diff --git a/tests/projects/c++/modules/partitions_implunit/src/test.cpp b/tests/projects/c++/modules/partitions_implunit/src/test.cpp deleted file mode 100644 index 8f7f81b2c..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/test.cpp +++ /dev/null @@ -1,7 +0,0 @@ -import math; - -int main() -{ - auto a{ Math::lerchZeta(1, 2, 3) }; - auto b{ Math::superLog(1, 2) }; -} -- cgit v1.3.1 From 83abf6ad653df37a750c63afa7cae2acf03e11a4 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 14 Mar 2024 00:53:55 +0800 Subject: improve test again --- tests/projects/c++/modules/partitions_implunit/src/foo.cpp | 8 ++++++++ tests/projects/c++/modules/partitions_implunit/src/foo.mpp | 6 ++++++ .../c++/modules/partitions_implunit/src/foo_impl.mpp | 10 ++++++++++ tests/projects/c++/modules/partitions_implunit/src/main.cpp | 5 ++--- tests/projects/c++/modules/partitions_implunit/src/math.cpp | 13 ------------- tests/projects/c++/modules/partitions_implunit/src/math.mpp | 6 ------ .../c++/modules/partitions_implunit/src/math_impl.mpp | 6 ------ 7 files changed, 26 insertions(+), 28 deletions(-) create mode 100644 tests/projects/c++/modules/partitions_implunit/src/foo.cpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/foo.mpp create mode 100644 tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/math.cpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/math.mpp delete mode 100644 tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp diff --git a/tests/projects/c++/modules/partitions_implunit/src/foo.cpp b/tests/projects/c++/modules/partitions_implunit/src/foo.cpp new file mode 100644 index 000000000..d2e8d2a52 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/foo.cpp @@ -0,0 +1,8 @@ +// Foo.cpp +module Foo; + +import :Impl; + +void foo() { + bar(); +} diff --git a/tests/projects/c++/modules/partitions_implunit/src/foo.mpp b/tests/projects/c++/modules/partitions_implunit/src/foo.mpp new file mode 100644 index 000000000..65de99bed --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/foo.mpp @@ -0,0 +1,6 @@ +// Foo.mpp +export module Foo; + +import :Impl; // can't export import Impl because Impl is a implementation partition unit + +export void foo(); diff --git a/tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp b/tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp new file mode 100644 index 000000000..79ed77d31 --- /dev/null +++ b/tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp @@ -0,0 +1,10 @@ +module; +#include + +// Foo-Impl.mpp +// can only be imported by module Foo, and visibility of bar is only public to module Foo +module Foo:Impl; + +export void bar() { + std::cout << "Hello world" << std::endl; +} diff --git a/tests/projects/c++/modules/partitions_implunit/src/main.cpp b/tests/projects/c++/modules/partitions_implunit/src/main.cpp index c8c0bfd65..acef780c2 100644 --- a/tests/projects/c++/modules/partitions_implunit/src/main.cpp +++ b/tests/projects/c++/modules/partitions_implunit/src/main.cpp @@ -1,7 +1,6 @@ -import math; +import Foo; int main(int argc, char** argv) { - auto a{ Math::lerchZeta(1, 2, 3) }; - auto b{ Math::superLog(1, 2) }; + foo(); return 0; } diff --git a/tests/projects/c++/modules/partitions_implunit/src/math.cpp b/tests/projects/c++/modules/partitions_implunit/src/math.cpp deleted file mode 100644 index 3651adb2d..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/math.cpp +++ /dev/null @@ -1,13 +0,0 @@ -module math; - -import :details; - -double Math::superLog(double z, double b) { - // Implementation omitted... - return someHelperFunction(z); -} - -double Math::lerchZeta(double lambda, double alpha, double s) { - // Implementation omitted... - return someHelperFunction(s); -} diff --git a/tests/projects/c++/modules/partitions_implunit/src/math.mpp b/tests/projects/c++/modules/partitions_implunit/src/math.mpp deleted file mode 100644 index e9d5fb85a..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/math.mpp +++ /dev/null @@ -1,6 +0,0 @@ -export module math; // math module declaration - -export namespace Math { - double superLog(double z, double b); - double lerchZeta(double lambda, double alpha, double s); -} diff --git a/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp b/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp deleted file mode 100644 index 17d5afaf4..000000000 --- a/tests/projects/c++/modules/partitions_implunit/src/math_impl.mpp +++ /dev/null @@ -1,6 +0,0 @@ -module math:details; // math:details implementation partition - -double someHelperFunction(double a) { - // Implementation omitted... - return 42; -} -- cgit v1.3.1 From 32b459404ccd966cfdb0ee1d625535afb8837120 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 13 Mar 2024 23:50:36 +0800 Subject: Update foo_impl.mpp --- tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp b/tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp index 79ed77d31..0f7116416 100644 --- a/tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp +++ b/tests/projects/c++/modules/partitions_implunit/src/foo_impl.mpp @@ -5,6 +5,6 @@ module; // can only be imported by module Foo, and visibility of bar is only public to module Foo module Foo:Impl; -export void bar() { +void bar() { std::cout << "Hello world" << std::endl; } -- cgit v1.3.1 From 2fd001314c938457dfb7ff3ae74b1caec1302026 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 13 Mar 2024 23:51:23 +0800 Subject: Update foo_impl.mpp --- tests/projects/c++/modules/partitions_implunit2/src/foo_impl.mpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/projects/c++/modules/partitions_implunit2/src/foo_impl.mpp b/tests/projects/c++/modules/partitions_implunit2/src/foo_impl.mpp index af4058b15..af8f1a1dd 100644 --- a/tests/projects/c++/modules/partitions_implunit2/src/foo_impl.mpp +++ b/tests/projects/c++/modules/partitions_implunit2/src/foo_impl.mpp @@ -5,6 +5,6 @@ module; // can only be imported by module Foo, and visibility of bar is only public to module Foo module Foo:Impl; -export void bar() { +void bar() { std::cout << "Hello world" << std::endl; } -- cgit v1.3.1