Releases: smythi93/Tests4Py
Releases Β· smythi93/Tests4Py
Release list
Tests4Py 1.0.0
First stable release. Every reproducible bug in the benchmark is now fully supported β each ships an oracle, a unit-test generator, a system-test generator, a harness, a valid grammar, and a curated diversity set of 10 passing + 10 failing tests. Every failing test is fault-distinguishing: it fails on the buggy build and passes on the fixed build.
Coverage
- 328 / 328 reproducible bugs fully supported across 20 projects (ansible, black, calculator, cookiecutter, expression, fastapi, httpie, keras, luigi, markup, matplotlib, middle, pysnooper, sanic, scrapy, spacy, thefuck, tornado, tqdm, youtubedl).
- 328 reproducible = 338 registered bugs β 10 non-evaluatable (
test_status_buggy == PASSING). - Includes 18 bugs that stock Tests4Py could not distinguish because the fixed build failed its own canonical test (
test_status_fixed == FAILING): 14 unlocked by the merge-commit checkout fix and 4 via bespoke oracles. - The 25 keras bugs whose fault requires TensorFlow (unavailable on Apple Silicon) were built and validated on x86_64 Linux.
Added
- Optional Docker backend (
t4p docker {env,project,instance,run,mode}): a three-layer image model (environment β project β instance) so the toolchain, interpreter, and dependency layers are built once and reused via Docker's layer cache. Toggle withmode = pyenv | docker(defaultpyenv). Fully additive; the pyenv backend is untouched. - Per-subject acceptance suite (
tests/test_subjects.py,subjectsmarker): grammar validity, diversity behaviour, and generation per bug. Excluded from CI; run locally withpytest -m subjects. - Oracles, generators, harnesses, grammars, and 10+10 diversity resources for every supported bug.
Fixed
- Merge-commit checkout. When a fix commit is a merge,
git show --name-onlylists only the merge's combined-diff files, so the source fix was never overlaid onto the fixed build β leaving it byte-identical to buggy. Checkout now detects a merge fix commit and locates the changed files viagit diff <buggy>..<fixed>. Non-merge commits are unaffected.
Changed
- Version bumped to 1.0.0.
See CHANGELOG.md for details.