Repository navigation
Mutate plugins - #2295
Mutate plugins#2295
Conversation
☂️ Code Coverage
Overall Coverage
New FilesNo new covered files... Modified FilesNo covered modified files...
|
Test Results 4 files ± 0 4 suites ±0 1h 11m 6s ⏱️ - 17m 24s For more details on these failures and errors, see this check. Results for commit 6f2aa84. ± Comparison against base commit acad9f5. This pull request removes 5 and adds 280 tests. Note that renamed tests count towards both. |
Previous review (2026-10-28)Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head Test-only PR that widens mutation-testing scope. No blocking problems were found at 6f2aa84, and the changed tests pass. One new test cannot detect the failure it is written to catch. Should fix
Minor (2)
|
Signed-off-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
Signed-off-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
Catch inspector sorting, diagnostic assembly and file-save regressions, and make asynchronous heartbeat assertions deterministic. - Add the MAVLink inspector model and dedicated tests to mutation testing, and document the expanded scope. - Distinguish every inspector sort key with independently ordered data. Cover empty startup, invalid headings in both directions, and stable tied rows across snapshot updates. - Test legacy STATUSTEXT metadata, malformed chunk numbers preserving pending messages, and completion at chunk 255. - Verify replacement-file ownership requests, contain directory-close errors, and preserve writer errors when temporary-file cleanup fails. - Distinguish local and remote upload filenames in error messages and outcomes while verifying processing continues with later files. - Check ESC requests at the exact one-second deadline and prevent catch-up bursts after polling pauses. - Require nonblocking receives from both telemetry backends and isolate heartbeat scheduling from receive-contract tests. - Capture heartbeat worker exceptions with threading.excepthook. - Hold the encoder lock across MAVLink version assertions and enable DEBUG capture before installing the transient write failure. Validation: - 306 affected and related tests pass under Xvfb. - Inspector audit improves from 38 to 40 killed out of 42 mutants, with two survivors and no timeouts or crashes. - Focused checks kill 11 previously surviving file/diagnostic mutations. - Separate focused proofs detect the ESC deadline survivor and blocking-read timeout mutation. Signed-off-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
6f2aa84 to
92d4dae
Compare
Previous review (2026-10-30)Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head No blocking problems at the new head 92d4dae, which still changes only tests, mutmut configuration and CONTRIBUTING.md. Minor (1)
|
Add focused behavior tests to the largest remaining coverage gaps in the full-suite HTML report, then strengthen assertions against mutation survivors. Preserve production behavior and the original coverage data. File browser: - Add 72 cases for rename collisions and permissions, directory creation and cancellation, selection events, keyboard shortcuts and task errors. - Prevent overlapping operations and transfers after planning failures. - Report listing and deletion errors without actionable stale rows. - Cover 99 missed lines and 43 branches; line coverage rises from 86.3% to 95.1%. Kill all 153 mutations audited across four handlers. ESC availability and analysis: - Add 84 cases using real in-memory log records and firmware metadata. - Check missing and legacy telemetry, small positive error rates, report names, per-instance error peaks and their first matching timestamps. - Test exact RPM observation and armed-coverage thresholds, zero initial timestamps, unclosed intervals and later flights without earlier data. - Compare current across armed windows while excluding disarmed samples. - Check motor-spin tolerances, suggested values and documented DShot multipliers, including the exact 1000 Hz warning boundary. - Cover all 118 missed lines and 61 branches, bringing both to 100%. - Kill 861 of 878 module mutations, retaining 17 reviewed equivalent survivors without suppressions. Parameter editor table: - Add 58 cases using real Tk controls and controlled event delivery. - Verify case-insensitive filtering, single-match Enter behavior, explicit selection, shortcuts, double-click addition and cancellation. - Check the exact bulk-add confirmation boundary and partial feedback. - Verify initial bitmask selections, decimal previews, invalid/empty values, focus handling, reopening and replacement of row widgets. - Clear the difference marker when an edit matches the FC value. - Check manual locking of choice widgets and model-rejected additions. - Verify row reservation, ordering, the final Add action, completion callbacks and rejection of obsolete render generations. - Respect dismissed bitmask guidance and retain exception context in rendering diagnostics. - Bound the existing batch-drain test so endless scheduling fails by assertion instead of timing out. - Cover 98 missed lines; line coverage rises from 85.6% to 99.2%. - Kill 541 of 632 audited dialog/rendering mutations, up from 114. The baseline rendering timeout is killed and no audited mutation lacks test associations. Leave 91 survivors unsuppressed for further review. Add ESC analysis and the parameter table, together with their existing unit/integration/acceptance tests, to the mutation configuration and document the expanded scope. Validation: - 294 browser tests, 122 log-analysis tests and 190 parameter-table tests pass in separate focused runs under Xvfb. - Pre-commit, Ruff, Pylint and git diff --check pass. - Nine parallel mutation timeouts survive when rerun serially; final table results contain no timeouts or crashes. - Preserve combined coverage reports and mutation review artifacts. The table audit covers five methods rather than all 2336 generated module mutations. Its survivors include presentation, platform and uncovered defensive paths, as well as equivalent changes. The full repository test suite and weekly mutation job were not rerun. Signed-off-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
Previous review (2026-10-30)Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head Two blocking problems at the new head aab17af: the new parameter-table tests fail in CI, and the new tests break the ty type-check gate. Blocking
Minor (1)
|
Signed-off-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
Make the table fixture's Tk interpreter the default while tests run, then destroy it and restore the previous default root during cleanup. Add a regression that initializes the session root first and verifies that masterless search and bitmask variables update their controls. This prevents dialog tests from depending on GUI test execution order. Validate with all 4,642 mutation-baseline tests, the 191-test table suite, ty, Ruff, Pylint, and pre-commit. Signed-off-by: Dr.-Ing. Amilcar do Carmo Lucas <amilcar.lucas@iav.de>
|
Automated review note — AI-generated (Claude+Codex), validated against the live diff. Please sanity-check before acting. Reviewed at head No blocking problems at the new head dd767ed, which still changes only tests, mutmut configuration and CONTRIBUTING.md. Minor (1)
|
Coverage Report for CI Build 41111479025Warning Build has drifted: This PR's base is out of sync with its target branch, so coverage data may include unrelated changes. Coverage increased (+1.2%) to 94.791%Details
Uncovered ChangesNo uncovered changes found. Coverage RegressionsNo coverage regressions found. Coverage Stats
💛 - Coveralls |
Description
Mutate plugins
Checklist
git commit --signoff)Testing
Describe how you tested these changes: