| Summary: | xt/perltidy.t could use the same parallel handling as other tests | ||
|---|---|---|---|
| Product: | Koha | Reporter: | Martin Renvoize (ashimema) <martin.renvoize> |
| Component: | Test Suite | Assignee: | Martin Renvoize (ashimema) <martin.renvoize> |
| Status: | Needs Signoff --- | QA Contact: | Testopia <testopia> |
| Severity: | enhancement | ||
| Priority: | P5 - low | ||
| Version: | Main | ||
| Hardware: | All | ||
| OS: | All | ||
| GIT URL: | Initiative type: | --- | |
| Sponsorship status: | --- | Comma delimited list of Sponsors: | |
| Crowdfunding goal: | 0 | Patch complexity: | --- |
| Documentation contact: | Documentation submission: | ||
| Text to go in the release notes: | Version(s) released in: | ||
| Circulation function: | |||
| Attachments: | Bug 41273: Parallelize test execution for improved performance | ||
|
Description
Martin Renvoize (ashimema)
2025-11-19 16:51:43 UTC
Created attachment 189714 [details] [review] Bug 41273: Parallelize test execution for improved performance This patch adds parallel processing to xt/perltidy.t using Parallel::ForkManager, following the same pattern as xt/pl_valid.t and xt/tt_tidy.t. Changes: - Uses Parallel::ForkManager to process files concurrently - Auto-detects CPU count via Sys::CPU (respects KOHA_PROVE_CPUS env var) - Preserves working directory context in forked child processes - Maintains correct failure tracking in %results hash Performance improvement: ~N× speedup on N-core systems (e.g., 8× faster on 8-core, 16× faster on 16-core machines) Test plan: 1. Clear incremental test cache (if needed): docker exec kohadev-koha bash -c 'rm -rf /tmp/koha-ci-results/perltidy*' 2. Run test: docker exec kohadev-koha bash -c 'KOHA_PROVE_CPUS=8 prove xt/perltidy.t' 3. Verify all 3138 tests pass 4. Verify test completes significantly faster than before |