diff options
| author | Chris Denton <chris@chrisdenton.dev> | 2024-05-29 13:11:48 +0000 |
|---|---|---|
| committer | Chris Denton <chris@chrisdenton.dev> | 2024-05-29 13:11:48 +0000 |
| commit | f08e00f3d56645c9bbd4d2ebfbabe257b56b837b (patch) | |
| tree | 0d9316e6d9527ba4a741259c8cfd291d4ac1bd32 | |
| parent | 1e6544a20ec8ba822c8af93a953ec7ea70dddbd9 (diff) | |
| download | rust-f08e00f3d56645c9bbd4d2ebfbabe257b56b837b.tar.gz rust-f08e00f3d56645c9bbd4d2ebfbabe257b56b837b.zip | |
Rename run-make/issue-85441 and convert to rmake
| -rw-r--r-- | tests/run-make/issue-85441/Makefile | 9 | ||||
| -rw-r--r-- | tests/run-make/windows-ws2_32/empty.rs (renamed from tests/run-make/issue-85441/empty.rs) | 0 | ||||
| -rw-r--r-- | tests/run-make/windows-ws2_32/rmake.rs | 27 | ||||
| -rw-r--r-- | tests/run-make/windows-ws2_32/tcp.rs | 5 |
4 files changed, 32 insertions, 9 deletions
diff --git a/tests/run-make/issue-85441/Makefile b/tests/run-make/issue-85441/Makefile deleted file mode 100644 index 987d7f7d4a7..00000000000 --- a/tests/run-make/issue-85441/Makefile +++ /dev/null @@ -1,9 +0,0 @@ -# only-windows-msvc - -include ../tools.mk - -# Tests that WS2_32.dll is not unnecessarily linked, see issue #85441 - -all: - $(RUSTC) empty.rs - objdump -p $(TMPDIR)/empty.exe | $(CGREP) -v -i "WS2_32.dll" diff --git a/tests/run-make/issue-85441/empty.rs b/tests/run-make/windows-ws2_32/empty.rs index f328e4d9d04..f328e4d9d04 100644 --- a/tests/run-make/issue-85441/empty.rs +++ b/tests/run-make/windows-ws2_32/empty.rs diff --git a/tests/run-make/windows-ws2_32/rmake.rs b/tests/run-make/windows-ws2_32/rmake.rs new file mode 100644 index 00000000000..543f8594478 --- /dev/null +++ b/tests/run-make/windows-ws2_32/rmake.rs @@ -0,0 +1,27 @@ +//@ only-msvc + +// Tests that WS2_32.dll is not unnecessarily linked, see issue #85441 + +use run_make_support::object::{self, read::Object}; +use run_make_support::{rustc, tmp_dir}; +use std::fs; + +fn main() { + rustc().input("empty.rs").run(); + rustc().input("tcp.rs").run(); + + assert!(!links_ws2_32("empty.exe")); + assert!(links_ws2_32("tcp.exe")); +} + +fn links_ws2_32(exe: &str) -> bool { + let path = tmp_dir().join(exe); + let binary_data = fs::read(path).unwrap(); + let file = object::File::parse(&*binary_data).unwrap(); + for import in file.imports().unwrap() { + if import.library().eq_ignore_ascii_case(b"WS2_32.dll") { + return true; + } + } + false +} diff --git a/tests/run-make/windows-ws2_32/tcp.rs b/tests/run-make/windows-ws2_32/tcp.rs new file mode 100644 index 00000000000..3d0248c76d7 --- /dev/null +++ b/tests/run-make/windows-ws2_32/tcp.rs @@ -0,0 +1,5 @@ +use std::net::TcpListener; + +fn main() { + TcpListener::bind("127.0.0.1:80").unwrap(); +} |
