From 4ef8f55bac65162d1886790883e7a7252cd56ed3 Mon Sep 17 00:00:00 2001 From: Chris Swindle Date: Tue, 31 Oct 2017 22:11:02 +0000 Subject: [PATCH] Add verification that an crate has been published to the correct location. --- tests/alt-registry.rs | 5 ++++- tests/cargotest/support/registry.rs | 9 ++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/tests/alt-registry.rs b/tests/alt-registry.rs index 3614d5140..42770296e 100644 --- a/tests/alt-registry.rs +++ b/tests/alt-registry.rs @@ -2,7 +2,7 @@ extern crate cargotest; extern crate hamcrest; use cargotest::ChannelChanger; -use cargotest::support::registry::{self, Package}; +use cargotest::support::registry::{self, Package, alt_dl_path}; use cargotest::support::{project, execs}; use hamcrest::assert_that; @@ -308,4 +308,7 @@ fn publish_to_alt_registry() { assert_that(p.cargo("publish").masquerade_as_nightly_cargo() .arg("--registry").arg("alternative").arg("-Zunstable-options"), execs().with_status(0)); + + // Ensure that the crate is uploaded + assert!(alt_dl_path().join("api/v1/crates/new").exists()); } diff --git a/tests/cargotest/support/registry.rs b/tests/cargotest/support/registry.rs index 16b41f8e1..010552607 100644 --- a/tests/cargotest/support/registry.rs +++ b/tests/cargotest/support/registry.rs @@ -20,6 +20,8 @@ pub fn dl_path() -> PathBuf { paths::root().join("dl") } pub fn dl_url() -> Url { Url::from_file_path(&*dl_path()).ok().unwrap() } pub fn alt_registry_path() -> PathBuf { paths::root().join("alternative-registry") } pub fn alt_registry() -> Url { Url::from_file_path(&*alt_registry_path()).ok().unwrap() } +pub fn alt_dl_path() -> PathBuf { paths::root().join("alt_dl") } +pub fn alt_dl_url() -> Url { Url::from_file_path(&*alt_dl_path()).ok().unwrap() } pub struct Package { name: String, @@ -75,9 +77,9 @@ pub fn init() { repo(&alt_registry_path()) .file("config.json", &format!(r#" {{"dl":"{0}","api":"{0}"}} - "#, dl_url())) + "#, alt_dl_url())) .build(); - fs::create_dir_all(dl_path().join("api/v1/crates")).unwrap(); + fs::create_dir_all(alt_dl_path().join("api/v1/crates")).unwrap(); } impl Package { @@ -299,7 +301,8 @@ impl Package { registry_path().join(format!("{}-{}.crate", self.name, self.vers)) } else { - dl_path().join(&self.name).join(&self.vers).join("download") + let dl_path = if self.alternative { alt_dl_path() } else { dl_path() }; + dl_path.join(&self.name).join(&self.vers).join("download") } } } -- 2.30.2