From 3f99458a6e2f6cb46fca569baf18f2718543d9b8 Mon Sep 17 00:00:00 2001 From: Justin Geibel Date: Fri, 30 Oct 2020 23:25:11 -0400 Subject: [PATCH 1/2] Add track caller attribute to help debug test errors --- src/tests/all.rs | 1 + 1 file changed, 1 insertion(+) diff --git a/src/tests/all.rs b/src/tests/all.rs index e19759eebd..e87078ce37 100644 --- a/src/tests/all.rs +++ b/src/tests/all.rs @@ -190,6 +190,7 @@ fn bad_resp(r: &mut AppResponse) -> Option { Some(bad) } +#[track_caller] fn json(r: &mut AppResponse) -> T where for<'de> T: serde::Deserialize<'de>, From 4819d905ab95b4029f4dc9cc5bd9b04e0e57b524 Mon Sep 17 00:00:00 2001 From: Justin Geibel Date: Fri, 30 Oct 2020 23:29:10 -0400 Subject: [PATCH 2/2] Update to the latest semver The new release of semver treats `>= 0` the same as the `*` wildcard. It makes sense that these are equivalent, but this did break 3 tests and will technically reject syntax in `Cargo.toml` that was previously accepted. --- Cargo.lock | 19 ++++++++++++++----- Cargo.toml | 2 +- src/models/dependency.rs | 2 +- src/tests/builders/dependency.rs | 2 +- 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bc080fa5f0..a6b5ab63c1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -306,7 +306,7 @@ dependencies = [ "rand", "reqwest", "scheduled-thread-pool", - "semver 0.10.0", + "semver 0.11.0", "sentry", "serde", "serde_json", @@ -2377,17 +2377,17 @@ version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1d7eb9ef2c18661902cc47e535f9bc51b78acd254da71d375c2f6720d9a40403" dependencies = [ - "semver-parser", + "semver-parser 0.7.0", ] [[package]] name = "semver" -version = "0.10.0" +version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "394cec28fa623e00903caf7ba4fa6fb9a0e260280bb8cdbbba029611108a0190" +checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6" dependencies = [ "diesel", - "semver-parser", + "semver-parser 0.10.1", "serde", ] @@ -2397,6 +2397,15 @@ version = "0.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "388a1df253eca08550bef6c72392cfe7c30914bf41df5269b68cbd6ff8f570a3" +[[package]] +name = "semver-parser" +version = "0.10.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "42ef146c2ad5e5f4b037cd6ce2ebb775401729b19a82040c1beac9d36c7d1428" +dependencies = [ + "pest", +] + [[package]] name = "sentry" version = "0.21.0" diff --git a/Cargo.toml b/Cargo.toml index 9c074874d1..b728c87770 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -75,7 +75,7 @@ parse_link_header = "0.2.0" rand = "0.7" reqwest = { version = "0.10", features = ["blocking", "gzip", "json"] } scheduled-thread-pool = "0.2.0" -semver = { version = "0.10", features = ["diesel", "serde"] } +semver = { version = "0.11", features = ["diesel", "serde"] } sentry = "0.21.0" serde = { version = "1.0.0", features = ["derive"] } serde_json = "1.0.0" diff --git a/src/models/dependency.rs b/src/models/dependency.rs index 05b6d4b8fa..9c677df9e3 100644 --- a/src/models/dependency.rs +++ b/src/models/dependency.rs @@ -92,7 +92,7 @@ pub fn add_dependencies( .map_err(|_| cargo_err(&format_args!("no known crate named `{}`", &*dep.name)))?; if dep.version_req == semver::VersionReq::parse("*").unwrap() { return Err(cargo_err( - "wildcard (`*`) dependency constraints are not allowed \ + "wildcard (`*` or `>= 0`) dependency constraints are not allowed \ on crates.io. See https://doc.rust-lang.org/cargo/faq.html#can-\ libraries-use--as-a-version-for-their-dependencies for more \ information", diff --git a/src/tests/builders/dependency.rs b/src/tests/builders/dependency.rs index 8757e49984..2c4b80cea5 100644 --- a/src/tests/builders/dependency.rs +++ b/src/tests/builders/dependency.rs @@ -15,7 +15,7 @@ impl DependencyBuilder { explicit_name_in_toml: None, name: name.to_string(), registry: None, - version_req: u::EncodableCrateVersionReq(semver::VersionReq::parse(">= 0").unwrap()), + version_req: u::EncodableCrateVersionReq(semver::VersionReq::parse("> 0").unwrap()), } }