diff options
author | Haibo Huang <hhb@google.com> | 2021-02-24 09:45:33 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2021-02-24 09:45:33 +0000 |
commit | 839279b45646240b2dae0119f58d63c1a385e726 (patch) | |
tree | aa583765ea0c0fd8bddb46d99bb04eae1334edd3 /tests/expandtest.rs | |
parent | 5d2e6582b1273c9656b2a32a5728dcac6bb72000 (diff) | |
parent | c1311073c0eab8a9f0566dbe0753f80865912a01 (diff) | |
download | pin-project-839279b45646240b2dae0119f58d63c1a385e726.tar.gz |
Upgrade rust/crates/pin-project to 1.0.5 am: c1311073c0
Original change: https://android-review.googlesource.com/c/platform/external/rust/crates/pin-project/+/1581962
MUST ONLY BE SUBMITTED BY AUTOMERGER
Change-Id: I5f4104ee1de259e93389f9f90dd3a88be5f817b3
Diffstat (limited to 'tests/expandtest.rs')
-rw-r--r-- | tests/expandtest.rs | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/expandtest.rs b/tests/expandtest.rs new file mode 100644 index 0000000..adf8dde --- /dev/null +++ b/tests/expandtest.rs @@ -0,0 +1,41 @@ +#![cfg(not(miri))] +#![warn(rust_2018_idioms, single_use_lifetimes)] + +use std::{ + env, + process::{Command, ExitStatus, Stdio}, +}; + +#[rustversion::attr(not(nightly), ignore)] +#[test] +fn expandtest() { + let is_ci = env::var_os("CI").is_some(); + let cargo = &*env::var("CARGO").unwrap_or_else(|_| "cargo".into()); + if !has_command(&[cargo, "expand"]) || !has_command(&[cargo, "fmt"]) { + if is_ci { + panic!("expandtest requires rustfmt and cargo-expand") + } + return; + } + + let path = "tests/expand/*/*.rs"; + if is_ci { + macrotest::expand_without_refresh(path); + } else { + env::set_var("MACROTEST", "overwrite"); + macrotest::expand(path); + } +} + +fn has_command(command: &[&str]) -> bool { + Command::new(command[0]) + .args(&command[1..]) + .arg("--version") + .stdin(Stdio::null()) + .stdout(Stdio::null()) + .stderr(Stdio::null()) + .status() + .as_ref() + .map(ExitStatus::success) + .unwrap_or(false) +} |