diff options
| author | Urgau <urgau@numericable.fr> | 2023-05-17 12:07:12 +0200 |
|---|---|---|
| committer | Urgau <urgau@numericable.fr> | 2023-05-17 12:07:12 +0200 |
| commit | 3281060607412c5863703eaae1f4bf29a23664dd (patch) | |
| tree | d4e1fef5b9bb6c6424acff87e65ab0f69716b9e0 /tests | |
| parent | 701bf2d420bcdcc1978cf032f357d30829572ef2 (diff) | |
| download | rust-3281060607412c5863703eaae1f4bf29a23664dd.tar.gz rust-3281060607412c5863703eaae1f4bf29a23664dd.zip | |
Add simple regression test for `--print=native-static-libs`
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/run-make/print-native-static-libs/Makefile | 15 | ||||
| -rw-r--r-- | tests/run-make/print-native-static-libs/bar.rs | 13 | ||||
| -rw-r--r-- | tests/run-make/print-native-static-libs/foo.rs | 15 |
3 files changed, 43 insertions, 0 deletions
diff --git a/tests/run-make/print-native-static-libs/Makefile b/tests/run-make/print-native-static-libs/Makefile new file mode 100644 index 00000000000..98e72d7696f --- /dev/null +++ b/tests/run-make/print-native-static-libs/Makefile @@ -0,0 +1,15 @@ +include ../tools.mk + +# ignore-cross-compile +# ignore-wasm + +all: + $(RUSTC) --crate-type rlib -lbar_cli bar.rs + $(RUSTC) foo.rs -lfoo_cli --crate-type staticlib --print native-static-libs 2>&1 \ + | grep 'note: native-static-libs: ' \ + | sed 's/note: native-static-libs: \(.*\)/\1/' > $(TMPDIR)/libs.txt + + cat $(TMPDIR)/libs.txt | grep -F "glib-2.0" # in bar.rs + cat $(TMPDIR)/libs.txt | grep -F "systemd" # in foo.rs + cat $(TMPDIR)/libs.txt | grep -F "bar_cli" + cat $(TMPDIR)/libs.txt | grep -F "foo_cli" diff --git a/tests/run-make/print-native-static-libs/bar.rs b/tests/run-make/print-native-static-libs/bar.rs new file mode 100644 index 00000000000..a563bbc2a22 --- /dev/null +++ b/tests/run-make/print-native-static-libs/bar.rs @@ -0,0 +1,13 @@ +#[no_mangle] +pub extern "C" fn my_bar_add(left: i32, right: i32) -> i32 { + // Obviously makes no sense but... + unsafe { + g_free(std::ptr::null_mut()); + } + left + right +} + +#[link(name = "glib-2.0")] +extern "C" { + fn g_free(p: *mut ()); +} diff --git a/tests/run-make/print-native-static-libs/foo.rs b/tests/run-make/print-native-static-libs/foo.rs new file mode 100644 index 00000000000..6acaee20ed4 --- /dev/null +++ b/tests/run-make/print-native-static-libs/foo.rs @@ -0,0 +1,15 @@ +extern crate bar; + +#[no_mangle] +pub extern "C" fn my_foo_add(left: i32, right: i32) -> i32 { + // Obviously makes no sense but... + unsafe { + init(std::ptr::null_mut()); + } + bar::my_bar_add(left, right) +} + +#[link(name = "systemd")] +extern "C" { + fn init(p: *mut ()); +} |
