From 5d117bae2b3404a7061b714f837a47e8d521111d Mon Sep 17 00:00:00 2001 From: Martin Pool Date: Sun, 5 Jan 2025 09:14:45 -0800 Subject: [PATCH] Test for #428 --- .../.cargo_test/config.toml | 2 ++ testdata/alternate_registry/Cargo_test.toml | 7 ++++++ testdata/alternate_registry/README.md | 5 +++++ testdata/alternate_registry/src/main.rs | 1 + tests/list.rs | 22 +++++++++++++++++++ ...st__list_mutants_in_all_trees_as_json.snap | 7 ++++++ ...st__list_mutants_in_all_trees_as_text.snap | 6 +++++ 7 files changed, 50 insertions(+) create mode 100644 testdata/alternate_registry/.cargo_test/config.toml create mode 100644 testdata/alternate_registry/Cargo_test.toml create mode 100644 testdata/alternate_registry/README.md create mode 100644 testdata/alternate_registry/src/main.rs diff --git a/testdata/alternate_registry/.cargo_test/config.toml b/testdata/alternate_registry/.cargo_test/config.toml new file mode 100644 index 00000000..99fb90c5 --- /dev/null +++ b/testdata/alternate_registry/.cargo_test/config.toml @@ -0,0 +1,2 @@ +[registries] +my-registry = { index = "https://crates.io/" } diff --git a/testdata/alternate_registry/Cargo_test.toml b/testdata/alternate_registry/Cargo_test.toml new file mode 100644 index 00000000..71b0dc3e --- /dev/null +++ b/testdata/alternate_registry/Cargo_test.toml @@ -0,0 +1,7 @@ +[package] +name = "cargo-mutants-testdata-alternate-registry" +publish = false +edition = "2021" + +[dependencies] +mutants = { version = "1", registry = "my-registry" } diff --git a/testdata/alternate_registry/README.md b/testdata/alternate_registry/README.md new file mode 100644 index 00000000..6b719c7b --- /dev/null +++ b/testdata/alternate_registry/README.md @@ -0,0 +1,5 @@ +# `alternate_registry` + + + +This tree has Cargo configured to read from an alternative registry to crates.io. diff --git a/testdata/alternate_registry/src/main.rs b/testdata/alternate_registry/src/main.rs new file mode 100644 index 00000000..f328e4d9 --- /dev/null +++ b/testdata/alternate_registry/src/main.rs @@ -0,0 +1 @@ +fn main() {} diff --git a/tests/list.rs b/tests/list.rs index 35d82a77..aec6aa8d 100644 --- a/tests/list.rs +++ b/tests/list.rs @@ -330,3 +330,25 @@ fn no_mutants_in_tree_everything_skipped() { .stdout(predicate::str::is_empty()) .success(); } + +#[test] +fn list_mutants_with_alternate_registry() { + // For https://github.com/sourcefrog/cargo-mutants/issues/428 + + // This tree has a non-default registry that ends up just pointing back to crates.io, but under another name. + // + // Without running cargo metadata properly this will fail. + // + // The tree doesn't actually generate any mutants. + // + // To reproduce the failure it's important that we *don't* run from the tree's directory. + let tmp = copy_of_testdata("alternate_registry"); + run() + .arg("mutants") + .arg("--list") + .arg("--dir") + .arg(tmp.path()) + .assert() + .stdout("") + .success(); +} diff --git a/tests/snapshots/list__list_mutants_in_all_trees_as_json.snap b/tests/snapshots/list__list_mutants_in_all_trees_as_json.snap index c4dc2034..c0aac58e 100644 --- a/tests/snapshots/list__list_mutants_in_all_trees_as_json.snap +++ b/tests/snapshots/list__list_mutants_in_all_trees_as_json.snap @@ -1,6 +1,7 @@ --- source: tests/list.rs expression: buf +snapshot_kind: text --- ## testdata/already_failing_doctests @@ -293,6 +294,12 @@ expression: buf ] ``` +## testdata/alternate_registry + +```json +[] +``` + ## testdata/cdylib ```json diff --git a/tests/snapshots/list__list_mutants_in_all_trees_as_text.snap b/tests/snapshots/list__list_mutants_in_all_trees_as_text.snap index 152cb695..b66d933f 100644 --- a/tests/snapshots/list__list_mutants_in_all_trees_as_text.snap +++ b/tests/snapshots/list__list_mutants_in_all_trees_as_text.snap @@ -1,6 +1,7 @@ --- source: tests/list.rs expression: buf +snapshot_kind: text --- ## testdata/already_failing_doctests @@ -26,6 +27,11 @@ src/lib.rs:4:11: replace *= with /= in factorial src/lib.rs:12:5: replace infinite_loop with () ``` +## testdata/alternate_registry + +``` +``` + ## testdata/cdylib ```