test(rustflags): Pull out metadata extraction

This commit is contained in:
Ed Page 2024-12-05 15:22:18 -06:00
parent d1375ba70e
commit 9fcb5de16e

View File

@ -1522,25 +1522,6 @@ fn remap_path_prefix_works() {
#[cargo_test]
fn remap_path_prefix_ignored() {
let get_c_metadata_re =
regex::Regex::new(r".* (--crate-name [^ ]+).* (-C ?metadata=[^ ]+).*").unwrap();
let get_c_metadata = |output: RawOutput| {
let stderr = String::from_utf8(output.stderr).unwrap();
let mut c_metadata = get_c_metadata_re
.captures_iter(&stderr)
.map(|c| {
let (_, [name, c_metadata]) = c.extract();
format!("{name} {c_metadata}")
})
.collect::<Vec<_>>();
assert!(
!c_metadata.is_empty(),
"`{get_c_metadata_re:?}` did not match:\n```\n{stderr}\n```"
);
c_metadata.sort();
c_metadata.join("\n")
};
let p = project().file("src/lib.rs", "").build();
let build_output = p
@ -1562,6 +1543,26 @@ fn remap_path_prefix_ignored() {
assert_data_eq!(rustc_c_metadata, build_c_metadata);
}
fn get_c_metadata(output: RawOutput) -> String {
let get_c_metadata_re =
regex::Regex::new(r".* (--crate-name [^ ]+).* (-C ?metadata=[^ ]+).*").unwrap();
let stderr = String::from_utf8(output.stderr).unwrap();
let mut c_metadata = get_c_metadata_re
.captures_iter(&stderr)
.map(|c| {
let (_, [name, c_metadata]) = c.extract();
format!("{name} {c_metadata}")
})
.collect::<Vec<_>>();
assert!(
!c_metadata.is_empty(),
"`{get_c_metadata_re:?}` did not match:\n```\n{stderr}\n```"
);
c_metadata.sort();
c_metadata.join("\n")
}
#[cargo_test]
fn host_config_rustflags_with_target() {
// regression test for https://github.com/rust-lang/cargo/issues/10206