aboutsummaryrefslogtreecommitdiff
path: root/test cases
diff options
context:
space:
mode:
authorXavier Claessens <xavier.claessens@collabora.com>2023-06-02 12:11:45 -0400
committerXavier Claessens <xclaesse@gmail.com>2023-10-09 21:13:58 -0400
commitdc329f0f04d917da5bf295e013f393caed4a85fc (patch)
tree00ec4bd14f1af655fa049ec102649dad9e53f0f7 /test cases
parentea42d2d01999c00c7fe7846de38416b8693bfb79 (diff)
downloadmeson-dc329f0f04d917da5bf295e013f393caed4a85fc.zip
meson-dc329f0f04d917da5bf295e013f393caed4a85fc.tar.gz
meson-dc329f0f04d917da5bf295e013f393caed4a85fc.tar.bz2
interpreter: Add support for cargo subproject
Diffstat (limited to 'test cases')
-rw-r--r--test cases/cmake/26 dependency fallback/meson.build2
-rw-r--r--test cases/rust/21 cargo subproject/main.c5
-rw-r--r--test cases/rust/21 cargo subproject/meson.build7
-rw-r--r--test cases/rust/21 cargo subproject/subprojects/bar-rs.wrap2
-rw-r--r--test cases/rust/21 cargo subproject/subprojects/bar-rs/Cargo.toml3
-rw-r--r--test cases/rust/21 cargo subproject/subprojects/bar-rs/src/lib.rs1
-rw-r--r--test cases/rust/21 cargo subproject/subprojects/foo-rs.wrap2
-rw-r--r--test cases/rust/21 cargo subproject/subprojects/foo-rs/Cargo.toml10
-rw-r--r--test cases/rust/21 cargo subproject/subprojects/foo-rs/src/lib.rs4
9 files changed, 35 insertions, 1 deletions
diff --git a/test cases/cmake/26 dependency fallback/meson.build b/test cases/cmake/26 dependency fallback/meson.build
index b36aaac..871d70c 100644
--- a/test cases/cmake/26 dependency fallback/meson.build
+++ b/test cases/cmake/26 dependency fallback/meson.build
@@ -9,7 +9,7 @@ test('test1', exe1)
# to meson but wrap force cmake.
subproject('force_cmake')
-testcase expect_error('Wrap method \'notfound\' is not supported, must be one of: meson, cmake')
+testcase expect_error('Wrap method \'notfound\' is not supported, must be one of: meson, cmake, cargo')
subproject('broken_method')
endtestcase
diff --git a/test cases/rust/21 cargo subproject/main.c b/test cases/rust/21 cargo subproject/main.c
new file mode 100644
index 0000000..5daec64
--- /dev/null
+++ b/test cases/rust/21 cargo subproject/main.c
@@ -0,0 +1,5 @@
+int rust_func(void);
+
+int main(int argc, char *argv[]) {
+ return rust_func();
+}
diff --git a/test cases/rust/21 cargo subproject/meson.build b/test cases/rust/21 cargo subproject/meson.build
new file mode 100644
index 0000000..420e6e3
--- /dev/null
+++ b/test cases/rust/21 cargo subproject/meson.build
@@ -0,0 +1,7 @@
+project('cargo subproject', 'c')
+
+foo_dep = dependency('foo-rs')
+exe = executable('app', 'main.c',
+ dependencies: foo_dep,
+)
+test('cargo-test', exe)
diff --git a/test cases/rust/21 cargo subproject/subprojects/bar-rs.wrap b/test cases/rust/21 cargo subproject/subprojects/bar-rs.wrap
new file mode 100644
index 0000000..99686e9
--- /dev/null
+++ b/test cases/rust/21 cargo subproject/subprojects/bar-rs.wrap
@@ -0,0 +1,2 @@
+[wrap-file]
+method = cargo
diff --git a/test cases/rust/21 cargo subproject/subprojects/bar-rs/Cargo.toml b/test cases/rust/21 cargo subproject/subprojects/bar-rs/Cargo.toml
new file mode 100644
index 0000000..232b4d7
--- /dev/null
+++ b/test cases/rust/21 cargo subproject/subprojects/bar-rs/Cargo.toml
@@ -0,0 +1,3 @@
+[package]
+name = "bar"
+version = "0.1"
diff --git a/test cases/rust/21 cargo subproject/subprojects/bar-rs/src/lib.rs b/test cases/rust/21 cargo subproject/subprojects/bar-rs/src/lib.rs
new file mode 100644
index 0000000..5b64db8
--- /dev/null
+++ b/test cases/rust/21 cargo subproject/subprojects/bar-rs/src/lib.rs
@@ -0,0 +1 @@
+pub const VALUE: i32 = 0;
diff --git a/test cases/rust/21 cargo subproject/subprojects/foo-rs.wrap b/test cases/rust/21 cargo subproject/subprojects/foo-rs.wrap
new file mode 100644
index 0000000..99686e9
--- /dev/null
+++ b/test cases/rust/21 cargo subproject/subprojects/foo-rs.wrap
@@ -0,0 +1,2 @@
+[wrap-file]
+method = cargo
diff --git a/test cases/rust/21 cargo subproject/subprojects/foo-rs/Cargo.toml b/test cases/rust/21 cargo subproject/subprojects/foo-rs/Cargo.toml
new file mode 100644
index 0000000..214c327
--- /dev/null
+++ b/test cases/rust/21 cargo subproject/subprojects/foo-rs/Cargo.toml
@@ -0,0 +1,10 @@
+[package]
+name = "foo"
+version = "0.0.1"
+edition = "2021"
+
+[lib]
+crate-type = ["cdylib"]
+
+[dependencies]
+mybar = { version = "0.1", package = "bar" }
diff --git a/test cases/rust/21 cargo subproject/subprojects/foo-rs/src/lib.rs b/test cases/rust/21 cargo subproject/subprojects/foo-rs/src/lib.rs
new file mode 100644
index 0000000..732d7d2
--- /dev/null
+++ b/test cases/rust/21 cargo subproject/subprojects/foo-rs/src/lib.rs
@@ -0,0 +1,4 @@
+#[no_mangle]
+pub extern "C" fn rust_func() -> i32 {
+ mybar::VALUE
+}