Rework cargo-test-support & testsuite to use CARGO_BIN_EXE_* for Cargo (#15692)

### What does this PR try to resolve?

This PR reworks `cargo-test-support` and `testsuite` to use Snapbox's
[`cargo_bin!()`](https://docs.rs/snapbox/latest/snapbox/cmd/macro.cargo_bin.html)
instead of
[`cargo_bin()`](https://docs.rs/snapbox/latest/snapbox/cmd/fn.cargo_bin.html)
which makes assumptions about the structure of Cargo's build directory.
`cargo_bin!()` uses `CARGO_BIN_EXE_*` for locating the `cargo` binary
which should be more resilient to directory/layout changes.

Linking a relevant Zulip discussion
[here](https://rust-lang.zulipchat.com/#narrow/channel/246057-t-cargo/topic/cargo_bin_exe.20and.20tests/with/513638220)[#t-cargo
> cargo_bin_exe and
tests](https://rust-lang.zulipchat.com/#narrow/channel/246057-t-cargo/topic/cargo_bin_exe.20and.20tests/with/513638220)

As shown in that link, we could make these variables available at
runtime and not need to do this. However, `cargo-test-support`, as an
API, is a bit weird in that it is baking in support for one specific
binary. This can be confusing for callers and makes it more annoying for
callers provide their own `fn cargo`, e.g. see crate-ci/cargo-fixit#7

### Implementation Notes

`cargo_bin!()` only works when being called from the `testsuite` as it's
only set when executing integration tests and `cargo-test-support` is a
regular crate.
To make this change, I introduced an extension trait `CargoProjectExt`
in `testsuite` for running `.cargo()` and implemented it on `Project`.

In `cargo-test-support` other functionality relies on `.cargo()` so
these also needed to be moved to `testsuite`
*
[`src/tools.rs`](https://github.com/rust-lang/cargo/blob/master/crates/cargo-test-support/src/tools.rs)
* Parts
[`src/cross_compile`](https://github.com/rust-lang/cargo/blob/master/crates/cargo-test-support/src/cross_compile.rs)
* I had to split this up unfortunately, as `disabled()` requires running
Cargo to check if we should disable cross compile tests.
* Other fns in `cross_compile` are used in `cargo-test-support` so
moving everything to `testsuite` would have ended up requiring moving
many things to test suite.

### How to test and review this PR?

I'd definitely recommend reviewing commit by commit.
There are a lot of diffs due to the nature of reorganizing things.
I did my best to split things things into smaller PRs but they still
contain a lot of `use` statement diffs.

r? @epage
This commit is contained in:
Ed Page 2025-06-26 15:21:51 +00:00 committed by GitHub
commit 4ac865d3d7
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
499 changed files with 992 additions and 957 deletions

2
Cargo.lock generated
View File

@ -452,7 +452,7 @@ version = "0.4.4"
[[package]]
name = "cargo-test-support"
version = "0.7.5"
version = "0.8.0"
dependencies = [
"anstream",
"anstyle",

View File

@ -32,7 +32,7 @@ cargo-credential-macos-keychain = { version = "0.4.15", path = "credential/cargo
cargo-credential-wincred = { version = "0.4.15", path = "credential/cargo-credential-wincred" }
cargo-platform = { path = "crates/cargo-platform", version = "0.3.0" }
cargo-test-macro = { version = "0.4.4", path = "crates/cargo-test-macro" }
cargo-test-support = { version = "0.7.5", path = "crates/cargo-test-support" }
cargo-test-support = { version = "0.8.0", path = "crates/cargo-test-support" }
cargo-util = { version = "0.2.22", path = "crates/cargo-util" }
cargo-util-schemas = { version = "0.9.0", path = "crates/cargo-util-schemas" }
cargo_metadata = "0.19.1"

View File

@ -1,6 +1,6 @@
[package]
name = "cargo-test-support"
version = "0.7.5"
version = "0.8.0"
edition.workspace = true
rust-version = "1.87" # MSRV:1
license.workspace = true

View File

@ -9,189 +9,7 @@
//!
//! These tests are all disabled on rust-lang/rust's CI, but run in Cargo's CI.
use crate::{basic_manifest, main_file, project};
use cargo_util::ProcessError;
use std::env;
use std::fmt::Write;
use std::process::{Command, Output};
use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Once;
/// Whether or not the resulting cross binaries can run on the host.
static CAN_RUN_ON_HOST: AtomicBool = AtomicBool::new(false);
pub fn disabled() -> bool {
// First, disable if requested.
match env::var("CFG_DISABLE_CROSS_TESTS") {
Ok(ref s) if *s == "1" => return true,
_ => {}
}
// It requires setting `target.linker` for cross-compilation to work on aarch64,
// so not going to bother now.
if cfg!(all(target_arch = "aarch64", target_os = "linux")) {
return true;
}
// Cross tests are only tested to work on macos, linux, and MSVC windows.
if !(cfg!(target_os = "macos") || cfg!(target_os = "linux") || cfg!(target_env = "msvc")) {
return true;
}
// It's not particularly common to have a cross-compilation setup, so
// try to detect that before we fail a bunch of tests through no fault
// of the user.
static CAN_BUILD_CROSS_TESTS: AtomicBool = AtomicBool::new(false);
static CHECK: Once = Once::new();
let cross_target = alternate();
let run_cross_test = || -> anyhow::Result<Output> {
let p = project()
.at("cross_test")
.file("Cargo.toml", &basic_manifest("cross_test", "1.0.0"))
.file("src/main.rs", &main_file(r#""testing!""#, &[]))
.build();
let build_result = p
.cargo("build --target")
.arg(&cross_target)
.exec_with_output();
if build_result.is_ok() {
CAN_BUILD_CROSS_TESTS.store(true, Ordering::SeqCst);
}
let result = p
.cargo("run --target")
.arg(&cross_target)
.exec_with_output();
if result.is_ok() {
CAN_RUN_ON_HOST.store(true, Ordering::SeqCst);
}
build_result
};
CHECK.call_once(|| {
drop(run_cross_test());
});
if CAN_BUILD_CROSS_TESTS.load(Ordering::SeqCst) {
// We were able to compile a simple project, so the user has the
// necessary `std::` bits installed. Therefore, tests should not
// be disabled.
return false;
}
// We can't compile a simple cross project. We want to warn the user
// by failing a single test and having the remainder of the cross tests
// pass. We don't use `std::sync::Once` here because panicking inside its
// `call_once` method would poison the `Once` instance, which is not what
// we want.
static HAVE_WARNED: AtomicBool = AtomicBool::new(false);
if HAVE_WARNED.swap(true, Ordering::SeqCst) {
// We are some other test and somebody else is handling the warning.
// Just disable the current test.
return true;
}
// We are responsible for warning the user, which we do by panicking.
let mut message = format!(
"
Cannot cross compile to {}.
This failure can be safely ignored. If you would prefer to not see this
failure, you can set the environment variable CFG_DISABLE_CROSS_TESTS to \"1\".
Alternatively, you can install the necessary libraries to enable cross
compilation tests. Cross compilation tests depend on your host platform.
",
cross_target
);
if cfg!(target_os = "linux") {
message.push_str(
"
Linux cross tests target i686-unknown-linux-gnu, which requires the ability to
build and run 32-bit targets. This requires the 32-bit libraries to be
installed. For example, on Ubuntu, run `sudo apt install gcc-multilib` to
install the necessary libraries.
",
);
} else if cfg!(all(target_os = "macos", target_arch = "aarch64")) {
message.push_str(
"
macOS on aarch64 cross tests to target x86_64-apple-darwin.
This should be natively supported via Xcode, nothing additional besides the
rustup target should be needed.
",
);
} else if cfg!(target_os = "macos") {
message.push_str(
"
macOS on x86_64 cross tests to target x86_64-apple-ios, which requires the iOS
SDK to be installed. This should be included with Xcode automatically. If you
are using the Xcode command line tools, you'll need to install the full Xcode
app (from the Apple App Store), and switch to it with this command:
sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer
Some cross-tests want to *run* the executables on the host. These tests will
be ignored if this is not possible. On macOS, this means you need an iOS
simulator installed to run these tests. To install a simulator, open Xcode, go
to preferences > Components, and download the latest iOS simulator.
",
);
} else if cfg!(target_os = "windows") {
message.push_str(
"
Windows cross tests target i686-pc-windows-msvc, which requires the ability
to build and run 32-bit targets. This should work automatically if you have
properly installed Visual Studio build tools.
",
);
} else {
// The check at the top should prevent this.
panic!("platform should have been skipped");
}
let rustup_available = Command::new("rustup").output().is_ok();
if rustup_available {
write!(
message,
"
Make sure that the appropriate `rustc` target is installed with rustup:
rustup target add {}
",
cross_target
)
.unwrap();
} else {
write!(
message,
"
rustup does not appear to be installed. Make sure that the appropriate
`rustc` target is installed for the target `{}`.
",
cross_target
)
.unwrap();
}
// Show the actual error message.
match run_cross_test() {
Ok(_) => message.push_str("\nUh oh, second run succeeded?\n"),
Err(err) => match err.downcast_ref::<ProcessError>() {
Some(proc_err) => write!(message, "\nTest error: {}\n", proc_err).unwrap(),
None => write!(message, "\nUnexpected non-process error: {}\n", err).unwrap(),
},
}
panic!("{}", message);
}
/// The arch triple of the test-running host.
pub fn native() -> &'static str {
@ -252,31 +70,9 @@ pub fn unused() -> &'static str {
"wasm32-unknown-unknown"
}
/// Whether or not the host can run cross-compiled executables.
pub fn can_run_on_host() -> bool {
if disabled() {
return false;
}
// macos is currently configured to cross compile to x86_64-apple-ios
// which requires a simulator to run. Azure's CI image appears to have the
// SDK installed, but are not configured to launch iOS images with a
// simulator.
if cfg!(target_os = "macos") {
if CAN_RUN_ON_HOST.load(Ordering::SeqCst) {
return true;
} else {
println!("Note: Cannot run on host, skipping.");
return false;
}
} else {
assert!(CAN_RUN_ON_HOST.load(Ordering::SeqCst));
return true;
}
}
/// Check if the given target has been installed.
///
/// Generally [`disabled`] should be used to check if cross-compilation is allowed.
/// Generally `testsuite::utils::cross_compile::disabled` should be used to check if cross-compilation is allowed.
/// And [`alternate`] to get the cross target.
///
/// You should only use this as a last resort to skip tests,

View File

@ -110,13 +110,11 @@ pub mod install;
pub mod paths;
pub mod publish;
pub mod registry;
pub mod tools;
pub mod prelude {
pub use crate::cargo_test;
pub use crate::paths::CargoPathExt;
pub use crate::ArgLineCommandExt;
pub use crate::CargoCommandExt;
pub use crate::ChannelChangerCommandExt;
pub use crate::TestEnvCommandExt;
pub use snapbox::IntoData;
@ -491,28 +489,6 @@ impl Project {
execs().with_process_builder(p)
}
/// Creates a `ProcessBuilder` to run cargo.
///
/// Arguments can be separated by spaces.
///
/// For `cargo run`, see [`Project::rename_run`].
///
/// # Example:
///
/// ```no_run
/// # let p = cargo_test_support::project().build();
/// p.cargo("build --bin foo").run();
/// ```
pub fn cargo(&self, cmd: &str) -> Execs {
let cargo = cargo_exe();
let mut execs = self.process(&cargo);
if let Some(ref mut p) = execs.process_builder {
p.env("CARGO", cargo);
p.arg_line(cmd);
}
execs
}
/// Safely run a process after `cargo build`.
///
/// Windows has a problem where a process cannot be reliably
@ -621,11 +597,6 @@ pub fn main_file(println: &str, externed_deps: &[&str]) -> String {
buf
}
/// Path to the cargo binary
pub fn cargo_exe() -> PathBuf {
snapbox::cmd::cargo_bin("cargo")
}
/// This is the raw output from the process.
///
/// This is similar to `std::process::Output`, however the `status` is
@ -643,8 +614,8 @@ pub struct RawOutput {
///
/// Construct with
/// - [`execs`]
/// - [`cargo_process`]
/// - [`Project`] methods
/// - `cargo_process` in testsuite
#[must_use]
#[derive(Clone)]
pub struct Execs {
@ -1495,21 +1466,6 @@ impl TestEnvCommandExt for snapbox::cmd::Command {
}
}
/// Test the cargo command
pub trait CargoCommandExt {
fn cargo_ui() -> Self;
}
impl CargoCommandExt for snapbox::cmd::Command {
fn cargo_ui() -> Self {
Self::new(cargo_exe())
.with_assert(compare::assert_ui())
.env("CARGO_TERM_COLOR", "always")
.env("CARGO_TERM_HYPERLINKS", "true")
.test_env()
}
}
/// Add a list of arguments as a line
pub trait ArgLineCommandExt: Sized {
fn arg_line(mut self, s: &str) -> Self {
@ -1547,15 +1503,6 @@ impl ArgLineCommandExt for snapbox::cmd::Command {
}
}
/// Run `cargo $arg_line`, see [`Execs`]
pub fn cargo_process(arg_line: &str) -> Execs {
let cargo = cargo_exe();
let mut p = process(&cargo);
p.env("CARGO", cargo);
p.arg_line(arg_line);
execs().with_process_builder(p)
}
/// Run `git $arg_line`, see [`ProcessBuilder`]
pub fn git_process(arg_line: &str) -> ProcessBuilder {
let mut p = process("git");

View File

@ -6,29 +6,6 @@
//! # use cargo_test_support::registry::RegistryBuilder;
//! # use cargo_test_support::publish::validate_upload;
//! # use cargo_test_support::project;
//! // This replaces `registry::init()` and must be called before `Package::new().publish()`
//! let registry = RegistryBuilder::new().http_api().http_index().build();
//!
//! let p = project()
//! .file(
//! "Cargo.toml",
//! r#"
//! [package]
//! name = "foo"
//! version = "0.0.1"
//! edition = "2015"
//! authors = []
//! license = "MIT"
//! description = "foo"
//! "#,
//! )
//! .file("src/main.rs", "fn main() {}")
//! .build();
//!
//! p.cargo("publish --no-verify")
//! .replace_crates_io(registry.index_url())
//! .run();
//!
//! validate_upload(
//! r#"
//! {

View File

@ -39,7 +39,7 @@
//! "#)
//! .build();
//!
//! p.cargo("run").with_stdout_data(str!["24"]).run();
//! // p.cargo("run").with_stdout_data(str!["24"]).run();
//! ```
use crate::git::repo;

View File

@ -29,7 +29,7 @@ stdout and stderr output against the expected output.
Generally, a functional test will be placed in `tests/testsuite/<command>.rs` and will look roughly like:
```rust,ignore
use cargo_test_support::prelude::*;
use crate::prelude::*;
use cargo_test_support::str;
use cargo_test_support::project;
@ -123,7 +123,7 @@ Tests that need to do cross-compilation should include this at the top of the
test to disable it in scenarios where cross compilation isn't available:
```rust,ignore
if cargo_test_support::cross_compile::disabled() {
if crate::utils::cross_compile::disabled() {
return;
}
```
@ -146,7 +146,7 @@ If the test needs to run the cross-compiled binary, then it should have
something like this to exit the test before doing so:
```rust,ignore
if cargo_test_support::cross_compile::can_run_on_host() {
if crate::utils::cross_compile::can_run_on_host() {
return;
}
```
@ -165,10 +165,10 @@ mod <case>;
`tests/testsuite/<command>/<case>/mod.rs`:
```rust,ignore
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
#[cargo_test]

View File

@ -20,10 +20,10 @@
#![allow(clippy::disallowed_methods)]
use cargo_test_support::prelude::*;
use cargo_test_support::{basic_manifest, paths, project, rustc_host, str, Execs};
use cargo_test_support::{prelude::*, Project};
use std::env;
use std::path::Path;
use std::path::{Path, PathBuf};
fn enable_build_std(e: &mut Execs, arg: Option<&str>, isolated: bool) {
if !isolated {
@ -441,3 +441,34 @@ fn test_panic_abort() {
.arg("-Zbuild-std-features=panic_immediate_abort")
.run();
}
pub trait CargoProjectExt {
/// Creates a `ProcessBuilder` to run cargo.
///
/// Arguments can be separated by spaces.
///
/// For `cargo run`, see [`Project::rename_run`].
///
/// # Example:
///
/// ```no_run
/// # let p = cargo_test_support::project().build();
/// p.cargo("build --bin foo").run();
/// ```
fn cargo(&self, cmd: &str) -> Execs;
}
impl CargoProjectExt for Project {
fn cargo(&self, cmd: &str) -> Execs {
let cargo = cargo_exe();
let mut execs = self.process(&cargo);
execs.env("CARGO", cargo);
execs.arg_line(cmd);
execs
}
}
/// Path to the cargo binary
pub fn cargo_exe() -> PathBuf {
snapbox::cmd::cargo_bin!("cargo").to_path_buf()
}

View File

@ -1,6 +1,6 @@
//! -Zadvanced-env tests
use cargo_test_support::prelude::*;
use crate::prelude::*;
use cargo_test_support::{paths, project, registry::Package};
#[cargo_test]

View File

@ -2,8 +2,8 @@
use std::fs;
use crate::prelude::*;
use cargo_test_support::compare::assert_e2e;
use cargo_test_support::prelude::*;
use cargo_test_support::publish::validate_alt_upload;
use cargo_test_support::registry::{self, Package, RegistryBuilder};
use cargo_test_support::str;

View File

@ -1,8 +1,11 @@
//! Tests specific to artifact dependencies, designated using
//! the new `dep = { artifact = "bin", … }` syntax in manifests.
use crate::prelude::*;
use crate::utils::cross_compile::{
can_run_on_host as cross_compile_can_run_on_host, disabled as cross_compile_disabled,
};
use cargo_test_support::compare::assert_e2e;
use cargo_test_support::prelude::*;
use cargo_test_support::registry::{Package, RegistryBuilder};
use cargo_test_support::str;
use cargo_test_support::{
@ -340,7 +343,7 @@ fn features_are_unified_among_lib_and_bin_dep_of_same_target() {
#[cargo_test]
fn features_are_not_unified_among_lib_and_bin_dep_of_different_target() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
let target = cross_compile::alternate();
@ -455,7 +458,7 @@ For more information about this error, try `rustc --explain E0425`.
#[cargo_test]
fn feature_resolution_works_for_cfg_target_specification() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
let target = cross_compile::alternate();
@ -1079,7 +1082,7 @@ fn allow_artifact_and_non_artifact_dependency_to_same_crate() {
#[cargo_test]
fn build_script_deps_adopt_specified_target_unconditionally() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
@ -1137,7 +1140,7 @@ fn build_script_deps_adopt_specified_target_unconditionally() {
/// inverse RFC-3176
#[cargo_test]
fn build_script_deps_adopt_do_not_allow_multiple_targets_under_different_name_and_same_version() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
@ -1196,7 +1199,7 @@ fn build_script_deps_adopt_do_not_allow_multiple_targets_under_different_name_an
#[cargo_test]
fn non_build_script_deps_adopt_specified_target_unconditionally() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
@ -1247,7 +1250,7 @@ fn non_build_script_deps_adopt_specified_target_unconditionally() {
#[cargo_test]
fn cross_doctests_works_with_artifacts() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
@ -1302,7 +1305,7 @@ fn cross_doctests_works_with_artifacts() {
println!("c");
let target = cross_compile::alternate();
if !cross_compile::can_run_on_host() {
if !cross_compile_can_run_on_host() {
return;
}
@ -1327,7 +1330,7 @@ fn cross_doctests_works_with_artifacts() {
#[cargo_test]
fn build_script_deps_adopts_target_platform_if_target_equals_target() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
@ -1498,7 +1501,7 @@ foo v0.0.0 ([ROOT]/foo)
#[cargo_test]
fn artifact_dep_target_specified() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
let target = cross_compile::alternate();
@ -1554,7 +1557,7 @@ foo v0.0.0 ([ROOT]/foo)
/// * the target is not activated.
#[cargo_test]
fn dep_of_artifact_dep_same_target_specified() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
let target = cross_compile::alternate();
@ -1629,7 +1632,7 @@ foo v0.1.0 ([ROOT]/foo)
#[cargo_test]
fn targets_are_picked_up_from_non_workspace_artifact_deps() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
let target = cross_compile::alternate();
@ -1675,7 +1678,7 @@ fn targets_are_picked_up_from_non_workspace_artifact_deps() {
#[cargo_test]
fn index_version_filtering() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
let target = cross_compile::alternate();
@ -1748,7 +1751,7 @@ required by package `foo v0.1.0 ([ROOT]/foo)`
fn proc_macro_in_artifact_dep() {
// Forcing FeatureResolver to check a proc-macro for a dependency behind a
// target dependency.
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
Package::new("pm", "1.0.0")
@ -2563,7 +2566,7 @@ fn build_script_features_for_shared_dependency() {
//
// When common is built as a dependency of foo, it should have features
// `f1` (for the library and the build script).
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
let target = cross_compile::alternate();
@ -2728,7 +2731,7 @@ fn calc_bin_artifact_fingerprint() {
#[cargo_test]
fn with_target_and_optional() {
// See rust-lang/cargo#10526
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
let target = cross_compile::alternate();

View File

@ -4,7 +4,7 @@ use std::env;
use std::fs;
use std::path::Path;
use cargo_test_support::prelude::*;
use crate::prelude::*;
use cargo_test_support::sleep_ms;
use cargo_test_support::str;
use cargo_test_support::{basic_manifest, project};

View File

@ -1,7 +1,7 @@
//! Tests for some invalid .cargo/config files.
use crate::prelude::*;
use cargo_test_support::git::cargo_uses_gitoxide;
use cargo_test_support::prelude::*;
use cargo_test_support::registry::{self, Package};
use cargo_test_support::str;
use cargo_test_support::{basic_manifest, project, rustc_host};

View File

@ -1,6 +1,6 @@
//! Tests for invalid --manifest-path arguments.
use cargo_test_support::prelude::*;
use crate::prelude::*;
use cargo_test_support::{basic_bin_manifest, main_file, project, str};
#[track_caller]

View File

@ -1,6 +1,6 @@
//! Tests for the `cargo bench` command.
use cargo_test_support::prelude::*;
use crate::prelude::*;
use cargo_test_support::{basic_bin_manifest, basic_lib_manifest, basic_manifest, project, str};
#[cargo_test(nightly, reason = "bench")]

View File

@ -1,10 +1,10 @@
//! Tests for `cargo-features = ["different-binary-name"]`.
use crate::prelude::*;
use cargo_test_support::install::assert_has_installed_exe;
use cargo_test_support::install::assert_has_not_installed_exe;
use cargo_test_support::is_nightly;
use cargo_test_support::paths;
use cargo_test_support::prelude::*;
use cargo_test_support::project;
use cargo_test_support::str;

View File

@ -5,6 +5,10 @@ use std::fs;
use std::io::Read;
use std::process::Stdio;
use crate::prelude::*;
use crate::utils::cargo_exe;
use crate::utils::cargo_process;
use crate::utils::tools;
use cargo::core::compiler::UserIntent;
use cargo::core::Shell;
use cargo::core::Workspace;
@ -12,13 +16,11 @@ use cargo::ops::CompileOptions;
use cargo::GlobalContext;
use cargo_test_support::compare::assert_e2e;
use cargo_test_support::paths::root;
use cargo_test_support::prelude::*;
use cargo_test_support::registry::Package;
use cargo_test_support::str;
use cargo_test_support::{
basic_bin_manifest, basic_lib_manifest, basic_manifest, cargo_exe, cargo_process, git,
is_nightly, main_file, paths, process, project, rustc_host, sleep_ms, symlink_supported, t,
tools, Execs, ProjectBuilder,
basic_bin_manifest, basic_lib_manifest, basic_manifest, git, is_nightly, main_file, paths,
process, project, rustc_host, sleep_ms, symlink_supported, t, Execs, ProjectBuilder,
};
use cargo_util::paths::dylib_path_envvar;

View File

@ -11,6 +11,7 @@
use std::path::PathBuf;
use crate::prelude::*;
use cargo_test_support::{paths, project, str};
use cargo_test_support::{prelude::*, Project};
use std::env::consts::{DLL_PREFIX, DLL_SUFFIX, EXE_SUFFIX};

View File

@ -1,6 +1,6 @@
//! Tests for --build-plan feature.
use cargo_test_support::prelude::*;
use crate::prelude::*;
use cargo_test_support::registry::Package;
use cargo_test_support::{basic_bin_manifest, basic_manifest, main_file, project, str};

View File

@ -5,15 +5,17 @@ use std::fs;
use std::io;
use std::thread;
use crate::prelude::*;
use crate::utils::cargo_exe;
use crate::utils::cross_compile::{
can_run_on_host as cross_compile_can_run_on_host, disabled as cross_compile_disabled,
};
use crate::utils::tools;
use cargo_test_support::compare::assert_e2e;
use cargo_test_support::paths::cargo_home;
use cargo_test_support::prelude::*;
use cargo_test_support::registry::Package;
use cargo_test_support::str;
use cargo_test_support::tools;
use cargo_test_support::{
basic_manifest, cargo_exe, cross_compile, is_coarse_mtime, project, project_in,
};
use cargo_test_support::{basic_manifest, cross_compile, is_coarse_mtime, project, project_in};
use cargo_test_support::{git, rustc_host, sleep_ms, slow_cpu_multiplier, symlink_supported};
use cargo_util::paths::{self, remove_dir_all};
@ -427,7 +429,7 @@ fn custom_build_env_var_rustc_workspace_wrapper() {
#[cargo_test]
fn custom_build_env_var_rustc_linker() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
let target = cross_compile::alternate();
@ -466,7 +468,7 @@ fn custom_build_env_var_rustc_linker() {
#[cargo_test]
#[cfg(target_os = "linux")]
fn custom_build_env_var_rustc_linker_with_target_cfg() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
@ -4795,7 +4797,7 @@ fn rename_with_link_search_path() {
ignore = "don't have a cdylib cross target on macos"
)]
fn rename_with_link_search_path_cross() {
if cross_compile::disabled() {
if cross_compile_disabled() {
return;
}
@ -5515,7 +5517,7 @@ fn duplicate_script_with_extra_env() {
// Test where a build script is run twice, that emits different rustc-env
// and rustc-cfg values. In this case, one is run for host, the other for
// target.
if !cross_compile::can_run_on_host() {
if !cross_compile_can_run_on_host() {
return;
}

View File

@ -1,7 +1,7 @@
//! Tests for build.rs rerun-if-env-changed and rustc-env
use crate::prelude::*;
use cargo_test_support::basic_manifest;
use cargo_test_support::prelude::*;
use cargo_test_support::project;
use cargo_test_support::sleep_ms;
use cargo_test_support::str;

View File

@ -4,7 +4,7 @@
// because MSVC link.exe just gives a warning on unknown flags (how helpful!),
// and other linkers will return an error.
use cargo_test_support::prelude::*;
use crate::prelude::*;
use cargo_test_support::registry::Package;
use cargo_test_support::str;
use cargo_test_support::{basic_bin_manifest, basic_lib_manifest, basic_manifest, project};

View File

@ -1,8 +1,8 @@
//! Tests for multiple build scripts feature.
use crate::prelude::*;
use cargo_test_support::compare::assert_e2e;
use cargo_test_support::git;
use cargo_test_support::prelude::*;
use cargo_test_support::publish::validate_crate_contents;
use cargo_test_support::str;
use cargo_test_support::{project, Project};

View File

@ -2,9 +2,9 @@
use std::thread::JoinHandle;
use crate::prelude::*;
use cargo::util::cache_lock::{CacheLockMode, CacheLocker};
use cargo_test_support::paths;
use cargo_test_support::prelude::*;
use cargo_test_support::{retry, thread_wait_timeout, threaded_timeout};
use crate::config::GlobalContextBuilder;

View File

@ -1,8 +1,8 @@
//! Tests for caching compiler diagnostics.
use cargo_test_support::prelude::*;
use crate::prelude::*;
use crate::utils::tools;
use cargo_test_support::str;
use cargo_test_support::tools;
use cargo_test_support::{basic_manifest, is_coarse_mtime, project, registry::Package, sleep_ms};
use super::messages::raw_rustc_output;

View File

@ -1,5 +1,5 @@
use crate::prelude::*;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
#[cargo_test]

View File

@ -1,5 +1,5 @@
use crate::prelude::*;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
#[cargo_test]

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,6 +1,6 @@
use crate::prelude::*;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
#[cargo_test]

View File

@ -1,6 +1,6 @@
use crate::prelude::*;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
#[cargo_test]

View File

@ -1,6 +1,6 @@
use crate::prelude::*;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::Project;
#[cargo_test]

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;
use itertools::Itertools;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;
use itertools::Itertools;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,5 +1,5 @@
use crate::prelude::*;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
#[cargo_test]

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

View File

@ -1,7 +1,7 @@
use crate::prelude::*;
use cargo_test_support::compare::assert_ui;
use cargo_test_support::current_dir;
use cargo_test_support::file;
use cargo_test_support::prelude::*;
use cargo_test_support::str;
use cargo_test_support::Project;

Some files were not shown because too many files have changed in this diff Show More