Mercurial > hg
changeset 45553:952f9d37002c
rust-tests: add test to check if `Cargo.lock` is up-to-date
An out-of-date `Cargo.lock` is the source of rebase conflicts, prevents a
reproductible build, introduces desync between the series that introduces a
change in dependencies and the one that eventually commits the `Cargo.lock`,
and is just a general annoyance.
This commit demonstrates that the test works, the next one fixes the
currently out-of-date `Cargo.lock`.
Differential Revision: https://phab.mercurial-scm.org/D9079
author | Raphaël Gomès <rgomes@octobus.net> |
---|---|
date | Thu, 24 Sep 2020 16:30:00 +0200 |
parents | 10284ce3d5ed |
children | abad925af2ef |
files | tests/hghave.py tests/test-check-cargo-lock.t |
diffstat | 2 files changed, 16 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/tests/hghave.py Tue Sep 01 18:08:24 2020 +0530 +++ b/tests/hghave.py Thu Sep 24 16:30:00 2020 +0200 @@ -1066,6 +1066,11 @@ ) +@check("cargo", "cargo tool") +def has_cargo(): + return matchoutput('`rustup which cargo` --version', b'cargo') + + @check("lzma", "python lzma module") def has_lzma(): try:
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/test-check-cargo-lock.t Thu Sep 24 16:30:00 2020 +0200 @@ -0,0 +1,11 @@ +#require cargo test-repo + $ . "$TESTDIR/helpers-testrepo.sh" + $ cd "$TESTDIR"/../rust + +Check if Cargo.lock is up-to-date. Will fail with a 101 error code if not. + + $ cargo check --locked --all --quiet + +However most CIs will run `cargo build` or similar before running the tests, so we need to check if it was modified + + $ testrepohg diff