aglinxinyuan opened a new pull request, #8049:
URL: https://github.com/apache/texera/pull/8049

   ### What changes were proposed in this PR?
   
   Two manager specs extended, 19 tests to 27.
   
   | File | Codecov fully-covered | Branch arms |
   |---|---|---|
   | `statistics_manager.py` | 41/45 → **45/45** | 12/14 → **14/14** |
   | `pause_manager.py` | 42/45 → **45/45** | 12/14 → **14/14** |
   
   **+7 fully-covered lines and +4 branch arms. Both files reach 100% on lines 
and branches.**
   
   `statistics_manager.py`'s gap was `94: 50% (1/2)`, `95: MISS`, `101: 50% 
(1/2)`, `102: MISS` — the arms deciding whether an input or output statistics 
update is recorded at all. `pause_manager.py`'s was the channel pause/resume 
paths, including both `change_state=False` variants and the global-pause queue 
cycle.
   
   **Two files were dropped from this bundle on measurement:** 
`state_manager.py` (1 line) and `linked_blocking_multi_queue.py`, whose four 
partial lines did not survive scrutiny despite its 78 branch arms. 
`core/util/customized_queue/inner.py` sits in the same package and shows 2 
partials plus 5 missed lines, but it is **vendored third-party code** and was 
refused rather than counted.
   
   ### Verification
   
   Two reviewers returned **eleven** findings — the most of any bundle in this 
batch. The builder had reported `survivors: []`, which the reviewers showed was 
materially wrong.
   
   **46 mutations were run one at a time against the final tree; 44 die, and 15 
of those die at exactly one test each.** The two that survive are reported 
rather than dropped, both genuinely equivalent:
   
   - Exchanging the `.add(channel_id)` and `disable(channel_id)` statements 
inside `pause_input_channel` — both statements are individually pinned by 
separate tests, so the order is unobservable.
   - Replacing the guarded `remove` with `discard` — `discard` is by definition 
`remove if present`.
   
   Measured from `amber/` with the identical full-suite scope on both sides and 
`--cov-branch` passed explicitly, since this branch is on `main` and 
`amber/pyproject.toml` has no `[tool.coverage.run]` section (verified by 
reading it: only the three `ruff` tables and `pytest.ini_options` exist). 
Per-line `hits` and `condition-coverage` were read out of `coverage.xml` by a 
parser script; summary percentages ignored. The before-state was produced by 
writing the `HEAD` content of the two test files into the tree from a scratch 
extraction and restoring the new versions from a scratch snapshot afterwards, 
sha256-verified. **No `git restore` or `git checkout` was run on any file.**
   
   Full pyamber suite: `5 failed, 1167 passed, 7 errors` against main's `1159 
passed`. Failure sets sorted and diffed — **identical by identity**, 12 
entries. `ruff check` and `ruff format --check` pass on CI's exact scope.
   
   No production file is touched; `git diff -- 'amber/src/main/*'` is empty.
   
   ### Any related issues, documentation, discussions?
   
   Closes #8045
   
   ### How was this PR tested?
   
   ```
   cd amber && python -m pytest -m "not integration" -q 
src/test/python/core/architecture/managers
   ```
   
   ```
   27 passed
   ```
   
   ### Was this PR authored or co-authored using generative AI tooling?
   
   Generated-by: Claude Code (Opus 5)
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to