diff --git a/tests/hghave.py b/tests/hghave.py --- a/tests/hghave.py +++ b/tests/hghave.py @@ -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: diff --git a/tests/test-check-cargo-lock.t b/tests/test-check-cargo-lock.t new file mode 100644 --- /dev/null +++ b/tests/test-check-cargo-lock.t @@ -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