diff --git a/Cargo.toml b/Cargo.toml index ec9f99c2c..1b71cc797 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -80,7 +80,6 @@ features = [ [dev-dependencies] bufstream = "0.1" -cargotest = { path = "tests/testsuite/cargotest", version = "0.1" } filetime = "0.1" hamcrest = "=0.1.1" diff --git a/tests/testsuite/build_lib.rs b/tests/testsuite/build_lib.rs index 682b7c7e8..90a5a5097 100644 --- a/tests/testsuite/build_lib.rs +++ b/tests/testsuite/build_lib.rs @@ -1,4 +1,3 @@ -extern crate cargotest; extern crate hamcrest; use cargotest::support::{basic_bin_manifest, execs, project, Project}; diff --git a/tests/testsuite/cargotest/Cargo.toml b/tests/testsuite/cargotest/Cargo.toml deleted file mode 100644 index c02c441fd..000000000 --- a/tests/testsuite/cargotest/Cargo.toml +++ /dev/null @@ -1,19 +0,0 @@ -[package] -name = "cargotest" -version = "0.1.0" -authors = ["Alex Crichton "] - -[lib] -path = "lib.rs" - -[dependencies] -cargo = { path = "../../.." } -filetime = "0.1" -flate2 = "1.0" -git2 = { version = "0.7", default-features = false } -hamcrest = "=0.1.1" -hex = "0.3" -log = "0.4" -serde_json = "1.0" -tar = { version = "0.4", default-features = false } -url = "1.1" diff --git a/tests/testsuite/cargotest/install.rs b/tests/testsuite/cargotest/install.rs index e768e040e..b9905ea24 100644 --- a/tests/testsuite/cargotest/install.rs +++ b/tests/testsuite/cargotest/install.rs @@ -2,7 +2,8 @@ use std::fmt; use std::path::{PathBuf, Path}; use hamcrest::{Matcher, MatchResult, existing_file}; -use support::paths; + +use cargotest::support::paths; pub use self::InstalledExe as has_installed_exe; diff --git a/tests/testsuite/cargotest/lib.rs b/tests/testsuite/cargotest/mod.rs similarity index 91% rename from tests/testsuite/cargotest/lib.rs rename to tests/testsuite/cargotest/mod.rs index b29fde3f8..8063126aa 100644 --- a/tests/testsuite/cargotest/lib.rs +++ b/tests/testsuite/cargotest/mod.rs @@ -1,23 +1,13 @@ -#![deny(warnings)] - -extern crate cargo; -extern crate filetime; -extern crate flate2; -extern crate git2; -extern crate hamcrest; -extern crate hex; -#[macro_use] -extern crate serde_json; -extern crate tar; -extern crate url; - use std::ffi::OsStr; use std::time::Duration; use cargo::util::Rustc; +use cargo; use std::path::PathBuf; +#[macro_use] pub mod support; + pub mod install; thread_local!(pub static RUSTC: Rustc = Rustc::new(PathBuf::from("rustc"), None).unwrap()); @@ -95,5 +85,5 @@ pub fn cargo_process() -> cargo::util::ProcessBuilder { } pub fn sleep_ms(ms: u64) { - std::thread::sleep(Duration::from_millis(ms)); + ::std::thread::sleep(Duration::from_millis(ms)); } diff --git a/tests/testsuite/cargotest/support/cross_compile.rs b/tests/testsuite/cargotest/support/cross_compile.rs index fc274cb42..fca094ecf 100644 --- a/tests/testsuite/cargotest/support/cross_compile.rs +++ b/tests/testsuite/cargotest/support/cross_compile.rs @@ -3,7 +3,7 @@ use std::process::Command; use std::sync::{Once, ONCE_INIT}; use std::sync::atomic::{AtomicBool, ATOMIC_BOOL_INIT, Ordering}; -use support::{project, main_file, basic_bin_manifest}; +use cargotest::support::{project, main_file, basic_bin_manifest}; pub fn disabled() -> bool { // First, disable if ./configure requested so diff --git a/tests/testsuite/cargotest/support/git.rs b/tests/testsuite/cargotest/support/git.rs index 43a188ddd..2bac406e2 100644 --- a/tests/testsuite/cargotest/support/git.rs +++ b/tests/testsuite/cargotest/support/git.rs @@ -2,11 +2,11 @@ use std::fs::{self, File}; use std::io::prelude::*; use std::path::{Path, PathBuf}; -use url::Url; -use git2; - use cargo::util::ProcessError; -use support::{ProjectBuilder, Project, project, path2url}; +use git2; +use url::Url; + +use cargotest::support::{ProjectBuilder, Project, project, path2url}; #[must_use] pub struct RepoBuilder { diff --git a/tests/testsuite/cargotest/support/mod.rs b/tests/testsuite/cargotest/support/mod.rs index 07e5f6f3c..754d3c96f 100644 --- a/tests/testsuite/cargotest/support/mod.rs +++ b/tests/testsuite/cargotest/support/mod.rs @@ -15,9 +15,8 @@ use hamcrest as ham; use cargo::util::ProcessBuilder; use cargo::util::{ProcessError}; -use support::paths::CargoPathExt; +use cargotest::support::paths::CargoPathExt; -#[macro_export] macro_rules! t { ($e:expr) => (match $e { Ok(e) => e, @@ -110,10 +109,6 @@ impl ProjectBuilder { self.root.root() } - pub fn build_dir(&self) -> PathBuf { - self.root.build_dir() - } - pub fn target_debug_dir(&self) -> PathBuf { self.root.target_debug_dir() } @@ -218,7 +213,7 @@ impl Project { } pub fn process>(&self, program: T) -> ProcessBuilder { - let mut p = ::process(program); + let mut p = ::cargotest::process(program); p.cwd(self.root()); return p } @@ -406,11 +401,6 @@ impl Execs { self } - pub fn with_neither_contains(mut self, expected: S) -> Execs { - self.expect_neither_contains.push(expected.to_string()); - self - } - pub fn with_json(mut self, expected: &str) -> Execs { self.expect_json = Some(expected.split("\n\n").map(|obj| { obj.parse().unwrap() @@ -803,31 +793,6 @@ pub fn execs() -> Execs { } } -#[derive(Clone)] -pub struct ShellWrites { - expected: String -} - -impl fmt::Display for ShellWrites { - fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { - write!(f, "`{}` written to the shell", self.expected) - } -} - -impl<'a> ham::Matcher<&'a [u8]> for ShellWrites { - fn matches(&self, actual: &[u8]) - -> ham::MatchResult - { - let actual = String::from_utf8_lossy(actual); - let actual = actual.to_string(); - ham::expect(actual == self.expected, actual) - } -} - -pub fn shell_writes(string: T) -> ShellWrites { - ShellWrites { expected: string.to_string() } -} - pub trait Tap { fn tap(self, callback: F) -> Self; } diff --git a/tests/testsuite/cargotest/support/publish.rs b/tests/testsuite/cargotest/support/publish.rs index 63ab4b1e8..9e0b581f5 100644 --- a/tests/testsuite/cargotest/support/publish.rs +++ b/tests/testsuite/cargotest/support/publish.rs @@ -2,8 +2,8 @@ use std::path::PathBuf; use std::io::prelude::*; use std::fs::{self, File}; -use support::paths; -use support::git::{repo, Repository}; +use cargotest::support::paths; +use cargotest::support::git::{repo, Repository}; use url::Url; diff --git a/tests/testsuite/cargotest/support/registry.rs b/tests/testsuite/cargotest/support/registry.rs index 7283ad78a..321eb1bf0 100644 --- a/tests/testsuite/cargotest/support/registry.rs +++ b/tests/testsuite/cargotest/support/registry.rs @@ -3,6 +3,7 @@ use std::fs::{self, File}; use std::io::prelude::*; use std::path::{PathBuf, Path}; +use cargo::util::Sha256; use flate2::Compression; use flate2::write::GzEncoder; use git2; @@ -10,9 +11,8 @@ use hex; use tar::{Builder, Header}; use url::Url; -use support::paths; -use support::git::repo; -use cargo::util::Sha256; +use cargotest::support::paths; +use cargotest::support::git::repo; pub fn registry_path() -> PathBuf { paths::root().join("registry") } pub fn registry() -> Url { Url::from_file_path(&*registry_path()).ok().unwrap() } diff --git a/tests/testsuite/lib.rs b/tests/testsuite/lib.rs index 94f6e3f8c..b804ab0d0 100644 --- a/tests/testsuite/lib.rs +++ b/tests/testsuite/lib.rs @@ -1,22 +1,25 @@ -extern crate cargo; -#[macro_use] -extern crate cargotest; -extern crate hamcrest; -extern crate tempdir; extern crate bufstream; +extern crate cargo; +extern crate filetime; +extern crate flate2; extern crate git2; extern crate glob; -extern crate flate2; -extern crate tar; +extern crate hamcrest; +extern crate hex; extern crate libc; -#[cfg(windows)] -extern crate winapi; #[macro_use] extern crate serde_derive; +#[macro_use] extern crate serde_json; +extern crate tar; +extern crate tempdir; extern crate toml; extern crate url; +#[cfg(windows)] +extern crate winapi; +#[macro_use] +mod cargotest; mod alt_registry; mod bad_config; diff --git a/tests/testsuite/rename_deps.rs b/tests/testsuite/rename_deps.rs index f144acca2..cc8a28fa7 100644 --- a/tests/testsuite/rename_deps.rs +++ b/tests/testsuite/rename_deps.rs @@ -1,5 +1,3 @@ -extern crate cargo; -extern crate cargotest; extern crate hamcrest; use cargotest::support::{project, execs};