summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorruki <[email protected]>2020-03-17 00:49:07 +0800
committerruki <[email protected]>2020-03-16 22:54:46 +0800
commitd6d0c6d91c030896f56bca97f8bf380b7b49c2ad (patch)
treeba88be17c0bf169cfa6ed3426a81fdc81a8c1951 /tests
parente4862b967101da4020f7d7e652592d20dec7cadb (diff)
add build_deps tests
Diffstat (limited to 'tests')
-rw-r--r--tests/projects/other/build_deps/src/interface.c6
-rw-r--r--tests/projects/other/build_deps/src/interface.h9
-rw-r--r--tests/projects/other/build_deps/src/test.c8
-rw-r--r--tests/projects/other/build_deps/test.lua6
-rw-r--r--tests/projects/other/build_deps/xmake.lua80
5 files changed, 109 insertions, 0 deletions
diff --git a/tests/projects/other/build_deps/src/interface.c b/tests/projects/other/build_deps/src/interface.c
new file mode 100644
index 000000000..598d07560
--- /dev/null
+++ b/tests/projects/other/build_deps/src/interface.c
@@ -0,0 +1,6 @@
+#include "interface.h"
+
+int add(int a, int b)
+{
+ return a + b;
+}
diff --git a/tests/projects/other/build_deps/src/interface.h b/tests/projects/other/build_deps/src/interface.h
new file mode 100644
index 000000000..915f44b87
--- /dev/null
+++ b/tests/projects/other/build_deps/src/interface.h
@@ -0,0 +1,9 @@
+/*! calculate add(a, b)
+ *
+ * @param a the first argument
+ * @param b the second argument
+ *
+ * @return the result
+ */
+int add(int a, int b);
+
diff --git a/tests/projects/other/build_deps/src/test.c b/tests/projects/other/build_deps/src/test.c
new file mode 100644
index 000000000..d438027e8
--- /dev/null
+++ b/tests/projects/other/build_deps/src/test.c
@@ -0,0 +1,8 @@
+#include "interface.h"
+#include <stdio.h>
+
+int main(int argc, char** argv)
+{
+ printf("add(1, 2) = %d\n", add(1, 2));
+ return 0;
+}
diff --git a/tests/projects/other/build_deps/test.lua b/tests/projects/other/build_deps/test.lua
new file mode 100644
index 000000000..b76241be2
--- /dev/null
+++ b/tests/projects/other/build_deps/test.lua
@@ -0,0 +1,6 @@
+-- main entry
+function main(t)
+
+ -- build project
+ t:build()
+end
diff --git a/tests/projects/other/build_deps/xmake.lua b/tests/projects/other/build_deps/xmake.lua
new file mode 100644
index 000000000..8b682a584
--- /dev/null
+++ b/tests/projects/other/build_deps/xmake.lua
@@ -0,0 +1,80 @@
+add_rules("mode.release", "mode.debug")
+
+target("dep1")
+ set_kind("static")
+ add_deps("dep3")
+ add_files("src/interface.c")
+ on_load(function (target)
+ os.rm(target:targetfile())
+ os.rm(target:dep("dep3"):targetfile())
+ end)
+ before_build(function (target)
+ assert(os.isfile(target:dep("dep3"):targetfile()), "dep1: before_build failed!")
+ end)
+ after_build(function (target)
+ assert(os.isfile(target:targetfile()), "dep1: after_build failed!")
+ end)
+
+ --[[
+target("dep2")
+ set_kind("static")
+ add_deps("dep3")
+ add_files("src/interface.c")
+ on_load(function (target)
+ os.rm(target:targetfile())
+ os.rm(target:dep("dep3"):targetfile())
+ end)
+ before_build(function (target)
+ assert(os.isfile(target:dep("dep3"):targetfile()), "dep2: before_build failed!")
+ end)
+ after_build(function (target)
+ assert(os.isfile(target:targetfile()), "dep2: after_build failed!")
+ end)]]
+
+target("dep3")
+ set_kind("static")
+ add_files("src/interface.c")
+ on_load(function (target)
+ os.rm(target:targetfile())
+ end)
+ after_build(function (target)
+ assert(os.isfile(target:targetfile()), "dep3: after_build failed!")
+ end)
+
+ --[[
+target("test1")
+ set_kind("binary")
+ add_deps("dep1", "dep2")
+ add_files("src/test.c")
+ on_load(function (target)
+ os.rm(target:targetfile())
+ os.rm(target:dep("dep1"):targetfile())
+ os.rm(target:dep("dep2"):targetfile())
+ os.rm(target:dep("dep3"):targetfile())
+ end)
+ before_build(function (target)
+ assert(os.isfile(target:dep("dep1"):targetfile()), "test1: before_build failed!")
+ assert(os.isfile(target:dep("dep2"):targetfile()), "test1: before_build failed!")
+ assert(os.isfile(target:dep("dep3"):targetfile()), "test1: before_build failed!")
+ end)
+ after_build(function (target)
+ assert(os.isfile(target:targetfile()), "test1: after_build failed!")
+ end)]]
+
+ --[[
+target("test2")
+ set_kind("binary")
+ add_deps("dep1")
+ add_files("src/test.c")
+ on_load(function (target)
+ os.rm(target:targetfile())
+ os.rm(target:dep("dep1"):targetfile())
+ os.rm(target:dep("dep3"):targetfile())
+ end)
+ before_build(function (target)
+ assert(os.isfile(target:dep("dep1"):targetfile()), "test2: before_build failed!")
+ assert(os.isfile(target:dep("dep3"):targetfile()), "test2: before_build failed!")
+ end)
+ after_build(function (target)
+ assert(os.isfile(target:targetfile()), "test2: after_build failed!")
+ end)]]