Skip to content

Commit 529edc7

Browse files
committed
Auto merge of #126861 - GuillaumeGomez:migrate-run-make-invalid-library, r=<try>
Migrate `run-make/invalid-library` to `rmake.rs` Part of #121876. r? `@jieyouxu` try-job: x86_64-msvc
2 parents a4ce33c + 3394fe8 commit 529edc7

File tree

6 files changed

+29
-7
lines changed

6 files changed

+29
-7
lines changed

Cargo.lock

+7
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,12 @@ dependencies = [
228228
"backtrace",
229229
]
230230

231+
[[package]]
232+
name = "ar"
233+
version = "0.9.0"
234+
source = "registry+https://github.com/rust-lang/crates.io-index"
235+
checksum = "d67af77d68a931ecd5cbd8a3b5987d63a1d1d1278f7f6a60ae33db485cdebb69"
236+
231237
[[package]]
232238
name = "ar_archive_writer"
233239
version = "0.2.0"
@@ -3394,6 +3400,7 @@ dependencies = [
33943400
name = "run_make_support"
33953401
version = "0.2.0"
33963402
dependencies = [
3403+
"ar",
33973404
"gimli 0.28.1",
33983405
"object 0.34.0",
33993406
"regex",

src/tools/run-make-support/Cargo.toml

+1
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ similar = "2.5.0"
99
wasmparser = "0.118.2"
1010
regex = "1.8" # 1.8 to avoid memchr 2.6.0, as 2.5.0 is pinned in the workspace
1111
gimli = "0.28.1"
12+
ar = "0.9.0"

src/tools/run-make-support/src/lib.rs

+13
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,19 @@ pub fn target() -> String {
6161
env_var("TARGET")
6262
}
6363

64+
/// `AR`
65+
#[track_caller]
66+
pub fn ar(inputs: &[impl AsRef<Path>], output_path: impl AsRef<Path>) {
67+
let output = fs::File::create(&output_path).expect(&format!(
68+
"the file in path \"{}\" could not be created",
69+
output_path.as_ref().display()
70+
));
71+
let mut builder = ar::Builder::new(output);
72+
for input in inputs {
73+
builder.append_path(input).unwrap();
74+
}
75+
}
76+
6477
/// Check if target is windows-like.
6578
#[must_use]
6679
pub fn is_windows() -> bool {

src/tools/tidy/src/allowed_run_make_makefiles.txt

-1
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,6 @@ run-make/incr-add-rust-src-component/Makefile
5454
run-make/incr-foreign-head-span/Makefile
5555
run-make/interdependent-c-libraries/Makefile
5656
run-make/intrinsic-unreachable/Makefile
57-
run-make/invalid-library/Makefile
5857
run-make/issue-107094/Makefile
5958
run-make/issue-109934-lto-debuginfo/Makefile
6059
run-make/issue-14698/Makefile

tests/run-make/invalid-library/Makefile

-6
This file was deleted.
+8
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
use run_make_support::fs_wrapper::create_file;
2+
use run_make_support::{ar, rustc};
3+
4+
fn main() {
5+
create_file("lib.rmeta");
6+
ar(&["lib.rmeta"], "libfoo-ffffffff-1.0.rlib");
7+
rustc().input("foo.rs").run_fail().assert_stderr_contains("found invalid metadata");
8+
}

0 commit comments

Comments
 (0)