`run` with a `name__mutmut_*` pattern runs the whole test suite in the clean-test check
メンテナーはふだん 1 日以内に返信
評価
調査の方向性
まず tests_for_mutant_names と、clean-test チェックがその結果を PytestRunner.run_tests に渡す方法を読んでください。提供された mutmut run のパターンと、関数のカバレッジ外にあり、実行されたかどうかを記録するテストを使って再現してください。clean-test チェックが無関係なそのテストを実行せず、意図したミュータントを引き続き選択するようになれば完了です。
索引モデルが issue の本文から書いたものです。
説明
mutmut 3.7.0. mutmut run "pkg.mod.x_f__mutmut_*" selects exactly f's mutants,
but before testing them the "Running clean tests" step calls
tests_for_mutant_names, which, for a pattern containing *, fnmatches it
against the keys of tests_by_mangled_function_name. Those keys are function
names (pkg.mod.x_f), which a pattern ending in __mutmut_* never matches, so
the test set is empty and PytestRunner.run_tests(tests=set()) falls back to
the whole suite, single process.
Effect on a 19k-test suite: 607s of a 640s run (122 mutants; the mutants
themselves took 16s).
Repro: any project; mutmut run "<module>.x_<func>__mutmut_*" with a test
outside that function's coverage that records it ran: it runs during
"Running clean tests".
Suggested fix: in tests_for_mutant_names, for a pattern containing *,
also match mangled_name_from_mutant_name-style (strip __mutmut_ and what
follows) against the function keys, or match each function key k by
fnmatch(k + "__mutmut_1", pattern).
- 主要言語
- Python
- スター
- 1.5k
- フォーク
- 179
- 平均マージ
- 1日 18時間
- マージ済み PR(30日)
- 6
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
boxed/mutmut のほかの issue
-
Invalid unary plus generated in match statement対応中かも @GhostCoder6969 が 9 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 64/100
メンテナーはふだん 1 日以内に返信
-
Mutating a typing.Protocol stub adds generated members to the Protocol and breaks type_check_command対応中かも @GiulioDER が 5 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
NVIDIA/earth2studio#1241 ·
メンテナーはふだん 3 日以内に返信
-
docs(types): update the collection binding note now that typed collections shipped in pycubrid 1.9.0オープンdocumentation priority: low size: S
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
cubrid-lab/sqlalchemy-cubrid#768 ·
メンテナーはふだん 1 日以内に返信
-
bug help wanted
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
メンテナーはふだん 1 日以内に返信
-
documentation
難易度 1/5 1時間未満 初心者へのやさしさ 65/100
ansys/pydpf-core#3547 ·
メンテナーはふだん 1 日以内に返信
-
good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
OktoLabsAI/okto-pulse#114 ·
メンテナーはふだん 1 日以内に返信