From: Alex Crichton Date: Wed, 2 Nov 2016 16:14:25 +0000 (-0700) Subject: Merge branch 'mtimes-in-the-past' of https://github.com/integer32llc/cargo into mtime... X-Git-Tag: archive/raspbian/0.35.0-2+rpi1~3^2^2^2^2^2^2^2~22^2~13^2~21^2~1 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=f663975eeaf5cb8f6d55b3f52fc1c4e706d338af;p=cargo.git Merge branch 'mtimes-in-the-past' of https://github.com/integer32llc/cargo into mtimes-in-the-past --- f663975eeaf5cb8f6d55b3f52fc1c4e706d338af diff --cc tests/freshness.rs index 35074eefa,ae6275486..63a488cd3 --- a/tests/freshness.rs +++ b/tests/freshness.rs @@@ -367,6 -358,70 +367,71 @@@ fn same_build_dir_cached_packages() assert_that(p.cargo("build").cwd(p.root().join("a2")), execs().with_status(0).with_stderr(&format!("\ [COMPILING] a2 v0.0.1 ({dir}/a2) +[FINISHED] debug [unoptimized + debuginfo] target(s) in [..] ", dir = p.url()))); } + + #[test] + fn no_rebuild_if_build_artifacts_move_backwards_in_time() { + let p = project("backwards_in_time") + .file("Cargo.toml", r#" + [package] + name = "backwards_in_time" + version = "0.0.1" + authors = [] + + [dependencies] + a = { path = "a" } + "#) + .file("src/lib.rs", "") + .file("a/Cargo.toml", r#" + [package] + name = "a" + version = "0.0.1" + authors = [] + "#) + .file("a/src/lib.rs", ""); + + assert_that(p.cargo_process("build"), + execs().with_status(0)); + + p.root().move_into_the_past(); + p.root().join("target").move_into_the_past(); + + assert_that(p.cargo("build").env("RUST_LOG", ""), + execs().with_status(0).with_stdout("").with_stderr("")); + } + + #[test] + fn rebuild_if_build_artifacts_move_forward_in_time() { + let p = project("forwards_in_time") + .file("Cargo.toml", r#" + [package] + name = "forwards_in_time" + version = "0.0.1" + authors = [] + + [dependencies] + a = { path = "a" } + "#) + .file("src/lib.rs", "") + .file("a/Cargo.toml", r#" + [package] + name = "a" + version = "0.0.1" + authors = [] + "#) + .file("a/src/lib.rs", ""); + + assert_that(p.cargo_process("build"), + execs().with_status(0)); + + p.root().move_into_the_future(); + p.root().join("target").move_into_the_future(); + + assert_that(p.cargo("build").env("RUST_LOG", ""), + execs().with_status(0).with_stdout("").with_stderr("\ + [COMPILING] a v0.0.1 ([..]) + [COMPILING] forwards_in_time v0.0.1 ([..]) + ")); + }