Skip to content

Commit

Permalink
Rename run-make/issue-85441 and convert to rmake
Browse files Browse the repository at this point in the history
  • Loading branch information
ChrisDenton committed May 29, 2024
1 parent 1e6544a commit f08e00f
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 9 deletions.
9 changes: 0 additions & 9 deletions tests/run-make/issue-85441/Makefile

This file was deleted.

File renamed without changes.
27 changes: 27 additions & 0 deletions tests/run-make/windows-ws2_32/rmake.rs
Original file line number Diff line number Diff line change
@@ -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 changes: 5 additions & 0 deletions tests/run-make/windows-ws2_32/tcp.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
use std::net::TcpListener;

fn main() {
TcpListener::bind("127.0.0.1:80").unwrap();
}

0 comments on commit f08e00f

Please sign in to comment.