Rename run-make/issue-85441 and convert to rmake
This commit is contained in:
parent
1e6544a20e
commit
f08e00f3d5
4 changed files with 32 additions and 9 deletions
|
|
@ -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"
|
||||
27
tests/run-make/windows-ws2_32/rmake.rs
Normal file
27
tests/run-make/windows-ws2_32/rmake.rs
Normal file
|
|
@ -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
|
||||
}
|
||||
5
tests/run-make/windows-ws2_32/tcp.rs
Normal file
5
tests/run-make/windows-ws2_32/tcp.rs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
use std::net::TcpListener;
|
||||
|
||||
fn main() {
|
||||
TcpListener::bind("127.0.0.1:80").unwrap();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue