Fix flaky entropy test and refresh lockfile for security patches - #16
Merged
Merged
Conversation
test_entropy_requirements occasionally failed (~0.7-0.8% of runs, seen on windows-latest/3.13) because the entropy estimator's pattern-penalty heuristic can over-penalize a single genuinely-random 256-bit draw when it happens to contain an adjacent repeated character or short sequential run. Sample 5 draws and assert on the best one, dropping the flake rate to effectively zero while still exercising real crypto-random generation. uv lock --upgrade closes the remaining Dependabot alerts not covered by the merged pytest security PR: Pygments 2.20.0 (ReDoS), requests 2.34.2 (insecure temp file reuse). Signed-off-by: chris hay <chris.hay@uk.ibm.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
test_entropy_requirements(both the class method and the parametrized[256]case) occasionally failed (~0.7-0.8% of runs empirically, most recently on windows-latest/3.13) because the entropy estimator's pattern-penalty heuristic can over-penalize a single genuinely-random 256-bit draw when it happens to contain an adjacent repeated character or short sequential run. Fixed by sampling 5 draws and asserting on the best one — drops the flake rate to effectively zero while still exercising real crypto-random generation, no production code changed.uv lock --upgradecloses the remaining Dependabot alerts not covered by the already-merged pytest security PR: Pygments 2.20.0 (ReDoS), requests 2.34.2 (insecure temp file reuse).Test plan
uv run pytest tests/— 264 passed (all extras) / 214 passed, 50 skipped (default)uv run ruff check ./ruff format --check .— cleanuv run mypy src --ignore-missing-imports— no issues