Move DropBomb
from run-make-support
to build_helper
So that it can be also used in bootstrap.
This commit is contained in:
parent
5d76a13bbe
commit
97990a4759
@ -3420,6 +3420,7 @@ version = "0.2.0"
|
||||
dependencies = [
|
||||
"ar",
|
||||
"bstr",
|
||||
"build_helper",
|
||||
"gimli 0.28.1",
|
||||
"object 0.34.0",
|
||||
"regex",
|
||||
|
@ -12,7 +12,7 @@
|
||||
mod tests;
|
||||
|
||||
#[derive(Debug)]
|
||||
pub(crate) struct DropBomb {
|
||||
pub struct DropBomb {
|
||||
command: OsString,
|
||||
defused: bool,
|
||||
armed_line: u32,
|
||||
@ -21,9 +21,9 @@ pub(crate) struct DropBomb {
|
||||
impl DropBomb {
|
||||
/// Arm a [`DropBomb`]. If the value is dropped without being [`defused`][Self::defused], then
|
||||
/// it will panic. It is expected that the command wrapper uses `#[track_caller]` to help
|
||||
/// propagate the caller info from rmake.rs.
|
||||
/// propagate the caller location.
|
||||
#[track_caller]
|
||||
pub(crate) fn arm<S: AsRef<OsStr>>(command: S) -> DropBomb {
|
||||
pub fn arm<S: AsRef<OsStr>>(command: S) -> DropBomb {
|
||||
DropBomb {
|
||||
command: command.as_ref().into(),
|
||||
defused: false,
|
||||
@ -32,7 +32,7 @@ pub(crate) fn arm<S: AsRef<OsStr>>(command: S) -> DropBomb {
|
||||
}
|
||||
|
||||
/// Defuse the [`DropBomb`]. This will prevent the drop bomb from panicking when dropped.
|
||||
pub(crate) fn defuse(&mut self) {
|
||||
pub fn defuse(&mut self) {
|
||||
self.defused = true;
|
||||
}
|
||||
}
|
@ -1,6 +1,7 @@
|
||||
//! Types and functions shared across tools in this workspace.
|
||||
|
||||
pub mod ci;
|
||||
pub mod drop_bomb;
|
||||
pub mod git;
|
||||
pub mod metrics;
|
||||
pub mod stage0_parser;
|
||||
|
@ -11,3 +11,5 @@ wasmparser = "0.118.2"
|
||||
regex = "1.8" # 1.8 to avoid memchr 2.6.0, as 2.5.0 is pinned in the workspace
|
||||
gimli = "0.28.1"
|
||||
ar = "0.9.0"
|
||||
|
||||
build_helper = { path = "../build_helper" }
|
||||
|
@ -5,8 +5,8 @@
|
||||
use std::path::Path;
|
||||
use std::process::{Command as StdCommand, ExitStatus, Output, Stdio};
|
||||
|
||||
use crate::drop_bomb::DropBomb;
|
||||
use crate::{assert_contains, assert_equals, assert_not_contains, handle_failed_output};
|
||||
use build_helper::drop_bomb::DropBomb;
|
||||
|
||||
/// 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.
|
||||
|
@ -2,8 +2,8 @@
|
||||
use similar::TextDiff;
|
||||
use std::path::{Path, PathBuf};
|
||||
|
||||
use crate::drop_bomb::DropBomb;
|
||||
use crate::fs_wrapper;
|
||||
use build_helper::drop_bomb::DropBomb;
|
||||
|
||||
#[cfg(test)]
|
||||
mod tests;
|
||||
|
@ -7,7 +7,6 @@
|
||||
pub mod clang;
|
||||
mod command;
|
||||
pub mod diff;
|
||||
mod drop_bomb;
|
||||
pub mod fs_wrapper;
|
||||
pub mod llvm;
|
||||
pub mod run;
|
||||
|
Loading…
Reference in New Issue
Block a user