Skip to content

Increase test coverage, fix modified UTF-8/__hash__ bugs, containerize CI - #67

Merged
tcalmant merged 6 commits into
masterfrom
tests-review
Aug 11, 2026
Merged

Increase test coverage, fix modified UTF-8/__hash__ bugs, containerize CI#67
tcalmant merged 6 commits into
masterfrom
tests-review

Conversation

@tcalmant

Copy link
Copy Markdown
Owner

Summary

  • Added tests to increase coverage across v1/v2/v3, plus dedicated test_modifiedutf8.py and test_utils.py modules
  • Fixed a bug in the modified UTF-8 decoder and a wrong hash call
  • Replaced the CI workflow (build-24.04.yml -> ci-build.yml): lint -> containerized test matrix -> combined coverage, using latest actions (checkout@v7, setup-python@v7, setup-java@v5, upload/download-artifact@v7/v8) on ubuntu-latest
  • Test matrix now covers every Python version declared as supported (2.7, 3.4-3.14), run via new run_tests_containers.sh / run_tests.sh (podman by default, Docker in CI); v3 stays gated to Python 3.12+
  • Java test fixtures are now built once on the runner via actions/setup-java (Temurin 17) before the containerized legs run, so the containers themselves never need a JDK
  • Fixed two stale README references broken by the workflow rename (CI badge URL/branch, Maven requirement note)

Test plan

  • Local smoke test of run_tests_containers.sh 2.7 (podman): 173 passed, 3 skipped, v3 correctly excluded
  • Local smoke test of run_tests_containers.sh 3.13 (podman): 280 passed, 7 skipped, full v1/v2/v3 suite
  • CI run on this PR (lint, full containerized matrix, coverage combine + Coveralls)

Signed-off-by: Thomas Calmant <thomas.calmant@gmail.com>
Signed-off-by: Thomas Calmant <thomas.calmant@gmail.com>
Signed-off-by: Thomas Calmant <thomas.calmant@gmail.com>
actions/setup-python can't install 2.7 or 3.4-3.7 on current runners, so each version's suite now runs inside the matching python:<version> image via run_tests_containers.sh (podman locally, Docker in CI).

Signed-off-by: Thomas Calmant <thomas.calmant@gmail.com>
The CI badge still pointed at the deleted build-24.04.yml and the wrong branch; the Maven requirement note still named the old tests.py file.

Signed-off-by: Thomas Calmant <thomas.calmant@gmail.com>
The new CI step runs mvn test for real instead of swallowing its exit code like test_v3.py does, and it exposed two pre-existing bugs: SerializationExample was a public class in a wrongly named file, and its CustomClass collided with the one already in OneTest.java (renamed to Issue60CustomClass). Also skip testSwingObject when there's no display (CI, containers) instead of failing on HeadlessException; its fixture is already committed.

Signed-off-by: Thomas Calmant <thomas.calmant@gmail.com>
@tcalmant
tcalmant merged commit 47f5868 into master Aug 11, 2026
14 checks passed
@coveralls

Copy link
Copy Markdown

Coverage Status

coverage: 92.232% (+13.3%) from 78.938% — tests-review into master

@tcalmant
tcalmant deleted the tests-review branch August 11, 2026 20:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants