mirror of
https://github.com/rust-lang/cargo.git
synced 2025-09-25 11:14:46 +00:00
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:
commit
4ac865d3d7
2
Cargo.lock
generated
2
Cargo.lock
generated
@ -452,7 +452,7 @@ version = "0.4.4"
|
||||
|
||||
[[package]]
|
||||
name = "cargo-test-support"
|
||||
version = "0.7.5"
|
||||
version = "0.8.0"
|
||||
dependencies = [
|
||||
"anstream",
|
||||
"anstyle",
|
||||
|
@ -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"
|
||||
|
@ -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
|
||||
|
@ -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,
|
||||
|
@ -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");
|
||||
|
@ -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#"
|
||||
//! {
|
||||
|
@ -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;
|
||||
|
@ -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]
|
||||
|
@ -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()
|
||||
}
|
||||
|
@ -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]
|
||||
|
@ -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;
|
||||
|
@ -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();
|
||||
|
@ -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};
|
||||
|
@ -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};
|
||||
|
@ -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]
|
||||
|
@ -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")]
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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};
|
||||
|
@ -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};
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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};
|
||||
|
@ -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};
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -1,5 +1,5 @@
|
||||
use crate::prelude::*;
|
||||
use cargo_test_support::file;
|
||||
use cargo_test_support::prelude::*;
|
||||
use cargo_test_support::str;
|
||||
|
||||
#[cargo_test]
|
||||
|
@ -1,5 +1,5 @@
|
||||
use crate::prelude::*;
|
||||
use cargo_test_support::file;
|
||||
use cargo_test_support::prelude::*;
|
||||
use cargo_test_support::str;
|
||||
|
||||
#[cargo_test]
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
use crate::prelude::*;
|
||||
use cargo_test_support::file;
|
||||
use cargo_test_support::prelude::*;
|
||||
use cargo_test_support::str;
|
||||
|
||||
#[cargo_test]
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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
Loading…
x
Reference in New Issue
Block a user