Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ilario-pierbattista/parallel-phpunit-executor
https://github.com/ilario-pierbattista/parallel-phpunit-executor
Last synced: 3 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/ilario-pierbattista/parallel-phpunit-executor
- Owner: ilario-pierbattista
- License: mit
- Created: 2024-02-18T18:29:15.000Z (9 months ago)
- Default Branch: master
- Last Pushed: 2024-03-09T16:42:43.000Z (8 months ago)
- Last Synced: 2024-10-12T19:11:03.584Z (about 1 month ago)
- Language: Go
- Size: 44.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![codecov](https://codecov.io/github/ilario-pierbattista/parallel-phpunit-executor/graph/badge.svg?token=HWZJAdwnhX)](https://codecov.io/github/ilario-pierbattista/parallel-phpunit-executor)
# What is that thing for
Provide a dramatically fast and memory safe way to execute phpunit tests in parallel.
# Desidered workflow
- given a folder and a batch size, split the test files in chunks.
- each chunk must have a unique identifier
- find (or request as input), the phpunit config file
- duplicate and encode chunks as test suites
- for a given parallelism N, execute N workers to work on the chunks X. Each worker will tackle a chunk at time:
- execute phpunit on the chunk
- gather junit report and cobertura coverage report
- merge results
- merge junit files
- merge cobertura files
- create other artifacts
- create html and txt report from merged cobertura## Other notes
- as soon as a worker ends with a chunk, it should pass to another one
- output interleaving: the simples way is to wait for a worker to finish to print its output
- maybe there is a way to directly interface with PHP world and phpunit internals, but it's way to early to think about that