Rollup merge of #125723 - GuillaumeGomez:migrate-run-make-crate-data-smoke, r=jieyouxu
Migrate `run-make/crate-data-smoke` to `rmake.rs` Part of https://github.com/rust-lang/rust/issues/121876. r? ``@jieyouxu``
This commit is contained in:
commit
a34d0f1370
@ -135,7 +135,13 @@ pub fn dynamic_lib_name(name: &str) -> String {
|
||||
/// Construct a path to a rust library (rlib) under `$TMPDIR` given the library name. This will return a
|
||||
/// path with `$TMPDIR` joined with the library name.
|
||||
pub fn rust_lib(name: &str) -> PathBuf {
|
||||
tmp_dir().join(format!("lib{name}.rlib"))
|
||||
tmp_dir().join(rust_lib_name(name))
|
||||
}
|
||||
|
||||
/// Generate the name a rust library (rlib) would have. If you want the complete path, use
|
||||
/// [`rust_lib`] instead.
|
||||
pub fn rust_lib_name(name: &str) -> String {
|
||||
format!("lib{name}.rlib")
|
||||
}
|
||||
|
||||
/// Construct the binary name based on platform.
|
||||
|
@ -211,7 +211,7 @@ impl Rustc {
|
||||
|
||||
/// Get the [`Output`] of the finished process.
|
||||
#[track_caller]
|
||||
pub fn command_output(&mut self) -> ::std::process::Output {
|
||||
pub fn command_output(&mut self) -> Output {
|
||||
// let's make sure we piped all the input and outputs
|
||||
self.cmd.stdin(Stdio::piped());
|
||||
self.cmd.stdout(Stdio::piped());
|
||||
|
@ -22,7 +22,6 @@ run-make/compiler-lookup-paths/Makefile
|
||||
run-make/compiler-rt-works-on-mingw/Makefile
|
||||
run-make/compressed-debuginfo/Makefile
|
||||
run-make/const_fn_mir/Makefile
|
||||
run-make/crate-data-smoke/Makefile
|
||||
run-make/crate-hash-rustc-version/Makefile
|
||||
run-make/crate-name-priority/Makefile
|
||||
run-make/cross-lang-lto-clang/Makefile
|
||||
|
@ -1,10 +0,0 @@
|
||||
include ../tools.mk
|
||||
|
||||
all:
|
||||
[ `$(RUSTC) --print crate-name crate.rs` = "foo" ]
|
||||
[ `$(RUSTC) --print file-names crate.rs` = "$(call BIN,foo)" ]
|
||||
[ `$(RUSTC) --print file-names --crate-type=lib \
|
||||
--test crate.rs` = "$(call BIN,foo)" ]
|
||||
[ `$(RUSTC) --print file-names --test lib.rs` = "$(call BIN,mylib)" ]
|
||||
$(RUSTC) --print file-names lib.rs
|
||||
$(RUSTC) --print file-names rlib.rs
|
43
tests/run-make/crate-data-smoke/rmake.rs
Normal file
43
tests/run-make/crate-data-smoke/rmake.rs
Normal file
@ -0,0 +1,43 @@
|
||||
use std::process::Output;
|
||||
|
||||
use run_make_support::{bin_name, rust_lib_name, rustc};
|
||||
|
||||
fn compare_stdout<S: AsRef<str>>(output: Output, expected: S) {
|
||||
assert_eq!(
|
||||
String::from_utf8(output.stdout).unwrap().trim(),
|
||||
expected.as_ref()
|
||||
);
|
||||
}
|
||||
|
||||
fn main() {
|
||||
compare_stdout(rustc().print("crate-name").input("crate.rs").run(), "foo");
|
||||
compare_stdout(
|
||||
rustc().print("file-names").input("crate.rs").run(),
|
||||
bin_name("foo"),
|
||||
);
|
||||
compare_stdout(
|
||||
rustc()
|
||||
.print("file-names")
|
||||
.crate_type("lib")
|
||||
.arg("--test")
|
||||
.input("crate.rs")
|
||||
.run(),
|
||||
bin_name("foo"),
|
||||
);
|
||||
compare_stdout(
|
||||
rustc()
|
||||
.print("file-names")
|
||||
.arg("--test")
|
||||
.input("lib.rs")
|
||||
.run(),
|
||||
bin_name("mylib"),
|
||||
);
|
||||
compare_stdout(
|
||||
rustc().print("file-names").input("lib.rs").run(),
|
||||
rust_lib_name("mylib"),
|
||||
);
|
||||
compare_stdout(
|
||||
rustc().print("file-names").input("rlib.rs").run(),
|
||||
rust_lib_name("mylib"),
|
||||
);
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user