mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-28 02:57:37 +00:00
Rollup merge of #127201 - GuillaumeGomez:improve-run-make-support, r=Kobzol
Improve run-make-support API I think I'll slowly continue this work. Makes things a bit nicer for contributors, so why not. :D r? ``@Kobzol``
This commit is contained in:
commit
a509b5a0ba
@ -185,14 +185,14 @@ impl CompletedProcess {
|
||||
/// Checks that `stdout` does not contain `unexpected`.
|
||||
#[track_caller]
|
||||
pub fn assert_stdout_not_contains<S: AsRef<str>>(&self, unexpected: S) -> &Self {
|
||||
assert_not_contains(&self.stdout_utf8(), unexpected.as_ref());
|
||||
assert_not_contains(&self.stdout_utf8(), unexpected);
|
||||
self
|
||||
}
|
||||
|
||||
/// Checks that `stdout` contains `expected`.
|
||||
#[track_caller]
|
||||
pub fn assert_stdout_contains<S: AsRef<str>>(&self, expected: S) -> &Self {
|
||||
assert_contains(&self.stdout_utf8(), expected.as_ref());
|
||||
assert_contains(&self.stdout_utf8(), expected);
|
||||
self
|
||||
}
|
||||
|
||||
@ -206,14 +206,14 @@ impl CompletedProcess {
|
||||
/// Checks that `stderr` contains `expected`.
|
||||
#[track_caller]
|
||||
pub fn assert_stderr_contains<S: AsRef<str>>(&self, expected: S) -> &Self {
|
||||
assert_contains(&self.stderr_utf8(), expected.as_ref());
|
||||
assert_contains(&self.stderr_utf8(), expected);
|
||||
self
|
||||
}
|
||||
|
||||
/// Checks that `stderr` does not contain `unexpected`.
|
||||
#[track_caller]
|
||||
pub fn assert_stderr_not_contains<S: AsRef<str>>(&self, unexpected: S) -> &Self {
|
||||
assert_not_contains(&self.stdout_utf8(), unexpected.as_ref());
|
||||
assert_not_contains(&self.stdout_utf8(), unexpected);
|
||||
self
|
||||
}
|
||||
|
||||
|
@ -409,7 +409,9 @@ pub fn read_dir<F: FnMut(&Path)>(dir: impl AsRef<Path>, mut callback: F) {
|
||||
|
||||
/// Check that `actual` is equal to `expected`. Panic otherwise.
|
||||
#[track_caller]
|
||||
pub fn assert_equals(actual: &str, expected: &str) {
|
||||
pub fn assert_equals<S1: AsRef<str>, S2: AsRef<str>>(actual: S1, expected: S2) {
|
||||
let actual = actual.as_ref();
|
||||
let expected = expected.as_ref();
|
||||
if actual != expected {
|
||||
eprintln!("=== ACTUAL TEXT ===");
|
||||
eprintln!("{}", actual);
|
||||
@ -421,7 +423,9 @@ pub fn assert_equals(actual: &str, expected: &str) {
|
||||
|
||||
/// Check that `haystack` contains `needle`. Panic otherwise.
|
||||
#[track_caller]
|
||||
pub fn assert_contains(haystack: &str, needle: &str) {
|
||||
pub fn assert_contains<S1: AsRef<str>, S2: AsRef<str>>(haystack: S1, needle: S2) {
|
||||
let haystack = haystack.as_ref();
|
||||
let needle = needle.as_ref();
|
||||
if !haystack.contains(needle) {
|
||||
eprintln!("=== HAYSTACK ===");
|
||||
eprintln!("{}", haystack);
|
||||
@ -433,7 +437,9 @@ pub fn assert_contains(haystack: &str, needle: &str) {
|
||||
|
||||
/// Check that `haystack` does not contain `needle`. Panic otherwise.
|
||||
#[track_caller]
|
||||
pub fn assert_not_contains(haystack: &str, needle: &str) {
|
||||
pub fn assert_not_contains<S1: AsRef<str>, S2: AsRef<str>>(haystack: S1, needle: S2) {
|
||||
let haystack = haystack.as_ref();
|
||||
let needle = needle.as_ref();
|
||||
if haystack.contains(needle) {
|
||||
eprintln!("=== HAYSTACK ===");
|
||||
eprintln!("{}", haystack);
|
||||
|
@ -201,7 +201,8 @@ impl Rustc {
|
||||
}
|
||||
|
||||
/// Specify the target triple, or a path to a custom target json spec file.
|
||||
pub fn target(&mut self, target: &str) -> &mut Self {
|
||||
pub fn target<S: AsRef<str>>(&mut self, target: S) -> &mut Self {
|
||||
let target = target.as_ref();
|
||||
self.cmd.arg(format!("--target={target}"));
|
||||
self
|
||||
}
|
||||
|
@ -104,7 +104,8 @@ impl Rustdoc {
|
||||
}
|
||||
|
||||
/// Specify the target triple, or a path to a custom target json spec file.
|
||||
pub fn target(&mut self, target: &str) -> &mut Self {
|
||||
pub fn target<S: AsRef<str>>(&mut self, target: S) -> &mut Self {
|
||||
let target = target.as_ref();
|
||||
self.cmd.arg(format!("--target={target}"));
|
||||
self
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ fn main() {
|
||||
.stdin("fn main() {}")
|
||||
.emit("link,obj")
|
||||
.arg("-Csave-temps")
|
||||
.target(&target)
|
||||
.target(target)
|
||||
.run();
|
||||
|
||||
// Check linked output has a `.comment` section with the expected content.
|
||||
|
@ -22,8 +22,8 @@ fn check_compression(compression: &str, to_find: &str) {
|
||||
llvm_readobj().arg("-t").arg("foo.o").run().assert_stdout_contains(to_find);
|
||||
} else {
|
||||
assert_contains(
|
||||
&stderr,
|
||||
&format!("unknown debuginfo compression algorithm {compression}"),
|
||||
stderr,
|
||||
format!("unknown debuginfo compression algorithm {compression}"),
|
||||
);
|
||||
}
|
||||
});
|
||||
|
@ -28,7 +28,7 @@ fn main() {
|
||||
// Run rustc with `-Z temps-dir` set to a directory *inside* the inaccessible one,
|
||||
// so that it can't create `tmp`.
|
||||
rustc()
|
||||
.target(&target())
|
||||
.target(target())
|
||||
.input("program.rs")
|
||||
.arg("-Ztemps-dir=inaccessible/tmp")
|
||||
.run_fail()
|
||||
|
@ -51,7 +51,7 @@ fn test(compiler: &str) {
|
||||
|
||||
rustc()
|
||||
.input("test-aslr.rs")
|
||||
.target(&target())
|
||||
.target(target())
|
||||
.linker(compiler)
|
||||
.arg("-Clinker-flavor=gcc")
|
||||
.arg("-Ctarget-feature=+crt-static")
|
||||
|
Loading…
Reference in New Issue
Block a user