From fd7064804ca55a0dbf1414c6a2f9d8c2f84e66e0 Mon Sep 17 00:00:00 2001 From: "v.razuvaev" Date: Mon, 10 Aug 2026 20:18:51 +0300 Subject: [PATCH] Migrate to property-testing-testo and enable regression corpus in CI MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Switch from the frozen rasuvaeff/property-testing:^2.6 to the split rasuvaeff/property-testing-testo:^0.1 adapter (issue-first per TESTING-STRENGTHENING-PLAN.md ยง3.1). Add the three-step corpus pipeline (restore / PROPERTY_DB env / save) to the coverage job, mirroring the pattern landed in clickhouse-toolkit PR #27. Locally verified the full corpus cycle: a deliberately falsified CompositionLawsPropertyTest::andIsCommutative persisted a minimised seed to build/property-db, the next run replayed it and failed, and after reverting the falsification the corpus entry was auto-dropped on a green replay. Fixes #23 --- .github/workflows/build.yml | 16 ++++++++++++++++ composer.json | 2 +- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index d47adae..d2c52e7 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -156,9 +156,25 @@ jobs: - name: Install dependencies run: composer install --no-interaction --no-progress --prefer-dist + - name: Restore property regression corpus + uses: actions/cache/restore@0057852bfaa89a56745cba8c7296529d2fc39830 # v4 + with: + path: build/property-db + key: property-db-${{ github.run_id }}-${{ github.run_attempt }} + restore-keys: property-db- + - name: Test with coverage + env: + PROPERTY_DB: ${{ github.workspace }}/build/property-db run: composer test:coverage:ci + - name: Save property regression corpus + if: ${{ !cancelled() }} + uses: actions/cache/save@0057852bfaa89a56745cba8c7296529d2fc39830 # v4 + with: + path: build/property-db + key: property-db-${{ github.run_id }}-${{ github.run_attempt }} + - name: Mutation testing run: composer mutation diff --git a/composer.json b/composer.json index b49261b..bfd8c6a 100644 --- a/composer.json +++ b/composer.json @@ -37,7 +37,7 @@ "friendsofphp/php-cs-fixer": "^3.95", "infection/infection": "^0.33", "maglnet/composer-require-checker": "^4.17", - "rasuvaeff/property-testing": "^2.6", + "rasuvaeff/property-testing-testo": "^0.1", "rector/rector": "^2.4", "roave/backward-compatibility-check": "^8.0", "testo/bench": "^0.1.5",