Skip to content

Commit

Permalink
Rollup merge of rust-lang#126386 - GuillaumeGomez:migrate-run-make-al…
Browse files Browse the repository at this point in the history
…low-non-lint-warnings-cmdline, r=jieyouxu

Migrate `run-make/allow-non-lint-warnings-cmdline` to `rmake.rs`

Part of rust-lang#121876.

r? ``@jieyouxu``
  • Loading branch information
matthiaskrgr committed Jun 14, 2024
2 parents 2e70bd2 + eca8d20 commit 8dc46d8
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 15 deletions.
10 changes: 8 additions & 2 deletions src/tools/run-make-support/src/command.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ use std::path::Path;
use std::process::{Command as StdCommand, ExitStatus, Output, Stdio};

use crate::drop_bomb::DropBomb;
use crate::{assert_not_contains, handle_failed_output};
use crate::{assert_contains, assert_not_contains, handle_failed_output};

/// This is a custom command wrapper that simplifies working with commands and makes it easier to
/// ensure that we check the exit status of executed processes.
Expand Down Expand Up @@ -170,6 +170,12 @@ impl CompletedProcess {
self
}

#[track_caller]
pub fn assert_stdout_contains<S: AsRef<str>>(self, needle: S) -> Self {
assert_contains(&self.stdout_utf8(), needle.as_ref());
self
}

#[track_caller]
pub fn assert_stdout_not_contains<S: AsRef<str>>(&self, needle: S) -> &Self {
assert_not_contains(&self.stdout_utf8(), needle.as_ref());
Expand All @@ -185,7 +191,7 @@ impl CompletedProcess {

#[track_caller]
pub fn assert_stderr_contains<S: AsRef<str>>(&self, needle: S) -> &Self {
assert!(self.stderr_utf8().contains(needle.as_ref()));
assert_contains(&self.stderr_utf8(), needle.as_ref());
self
}

Expand Down
12 changes: 12 additions & 0 deletions src/tools/run-make-support/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,18 @@ pub fn read_dir<F: Fn(&Path)>(dir: impl AsRef<Path>, callback: F) {
}
}

/// Check that `haystack` contains `needle`. Panic otherwise.
#[track_caller]
pub fn assert_contains(haystack: &str, needle: &str) {
if !haystack.contains(needle) {
eprintln!("=== HAYSTACK ===");
eprintln!("{}", haystack);
eprintln!("=== NEEDLE ===");
eprintln!("{}", needle);
panic!("needle was not found in haystack");
}
}

/// Check that `haystack` does not contain `needle`. Panic otherwise.
#[track_caller]
pub fn assert_not_contains(haystack: &str, needle: &str) {
Expand Down
1 change: 0 additions & 1 deletion src/tools/tidy/src/allowed_run_make_makefiles.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
run-make/allocator-shim-circular-deps/Makefile
run-make/allow-non-lint-warnings-cmdline/Makefile
run-make/archive-duplicate-names/Makefile
run-make/atomic-lock-free/Makefile
run-make/branch-protection-check-IBT/Makefile
Expand Down
12 changes: 0 additions & 12 deletions tests/run-make/allow-non-lint-warnings-cmdline/Makefile

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
//@ compile-flags: -Awarnings
//@ check-pass

#[derive()]
#[derive(Copy, Clone)]
pub struct Foo;
Expand Down

0 comments on commit 8dc46d8

Please sign in to comment.