Skip to content

Commit 4814dad

Browse files
committed
build: keep mutmut clear of the tests that read the generator
1 parent cd931ef commit 4814dad

1 file changed

Lines changed: 10 additions & 4 deletions

File tree

‎pyproject.toml‎

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -205,24 +205,30 @@ pytest_add_cli_args = [
205205
# arguments, which the trampoline's rewrite does not preserve: it raises at import, before a
206206
# single test runs. Same reason as `test_typing_claims.py` below
207207
"--ignore=tests/test_typing_conformance.py",
208-
# Deselected one by one rather than by file, because their neighbours run fine: the two files
209-
# below hold 34 tests between them and only these three read the generator, and both contract
210-
# files hold tests that judge real mutants. Node ids rather than more `and not` in the `-k`
208+
# Deselected one by one rather than by file, because their neighbours run fine: the generator
209+
# gates hold tests that judge real mutants beside the ones reading the generator, and so do both
210+
# contract files. Node ids rather than more `and not` in the `-k`
211211
# above, since that matches by substring and a future test of the same name would drop out of
212212
# the run without anybody noticing.
213213
#
214-
# The first three import their generator from `scripts/`, which is not in the mutants tree.
214+
# The first seven import their generator from `scripts/`, which is not in the mutants tree.
215215
# The rest re-derive a claim by parsing the package's own source, and mutmut copies `tests/`
216216
# in, so what they parse is the trampoline's rewrite rather than what anybody ships.
217217
"--deselect=tests/test_check_protocols.py::test_the_generated_twins_match_the_protocols_they_mirror",
218218
"--deselect=tests/test_poll_protocols.py::test_the_generated_twins_match_the_views_they_mirror",
219219
"--deselect=tests/test_poll_protocols.py::test_the_generated_verdict_twin_matches_the_views_it_mirrors",
220+
"--deselect=tests/test_capable_protocol.py::test_the_facade_matches_what_the_generator_produces",
221+
"--deselect=tests/test_capable_protocol.py::TestWhatEachRestrictedAssertionAsksFor",
222+
"--deselect=tests/test_capable_protocol.py::TestWhatIsAskedOfATypeInstead",
223+
"--deselect=tests/test_negated_protocols.py::test_the_file_is_what_the_generator_writes",
220224
"--deselect=tests/test_expected_contract.py::test_the_walk_found_the_failure_sites",
221225
"--deselect=tests/test_expected_contract.py::test_every_assertion_that_names_no_expected_is_written_down",
222226
"--deselect=tests/test_operation_contract.py::TestTheRegisterDescribesTheSurface::test_the_derivation_itself_ran",
223227
"--deselect=tests/test_operation_contract.py::TestTheRegisterDescribesTheSurface::test_every_operation_without_a_verdict_is_registered",
224228
"--deselect=tests/test_operation_contract.py::TestTheRegisterDescribesTheSurface::test_every_operation_that_pivots_has_been_decided_about",
225229
"--ignore=tests/test_docs_examples.py",
230+
# loads its generator from `scripts/` at import, so no test in it can be deselected alone
231+
"--ignore=tests/test_poll_parity.py",
226232
"--ignore=tests/test_exception_context.py",
227233
"--ignore=tests/test_extensions.py",
228234
"--ignore=tests/test_grouped_soft.py",

0 commit comments

Comments
 (0)