Bug 41273

Summary: xt/perltidy.t could use the same parallel handling as other tests
Product: Koha Reporter: Martin Renvoize (ashimema) <martin.renvoize>
Component: Test SuiteAssignee: 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
Some of our tests look for the number of CPU's in the environment they're running on and then split the tests to run in parallel.  We could do that for xt/perltidy.t too and save time when running those tests locally.
Comment 1 Martin Renvoize (ashimema) 2025-11-19 16:56:23 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