Paraunit 0.7: test coverage in parallel

Finally, Paraunit 0.7 has been released! This version includes the long awaited coverage feature: now you can collect your test coverage running your tests in parallel!

Along with this new huge feature, here comes a lot of new fixes and changes: for example, now a lot of default PHPUnit options can be used and they will be passed along to the single PHPUnit processes that Paraunit spawns; also, now we officially support Windows, and we added an Appveyor CI build to do that.

In the meantime, the 1.0 milestone has been defined: it will drop support to PHPUnit 4.x series, since its support is going to end by Feb. 27th, 2017; with that, also PHP < 5.6 will lose support, and Paraunit will follow along. I will be able to drop a lot of BC-tricks in this way, preferring ::class and array short syntax everywhere in the codebase.

Here’s the full 0.7 changelog:

Changed

  • Paraunit is now capable of producing the test coverage of your test suites in parallel! To use it, use the new coverage command (instead of the normal run), along with at least an option to specify the requested format; for more information, please use the --help option on the CLI or refer to the documentation.
  • It’s possible to choose how many concurrent processes Paraunit should spawn using the new --parallel option.
  • A lot of new options are now supported by Paraunit, and carried over to the single PHPUnit processes. The full list of new supported options is:
    • filter
    • group
    • exclude-group
    • test-suffix
    • report-useless-tests
    • strict-global-state
    • disallow-test-output
    • enforce-time-limit
    • disallow-todo-tests
    • process-isolation
    • no-globals-backup
    • static-backup
    • loader
    • repeat
    • printer
    • bootstrap
    • no-configuration
    • include-path

testsuite and configuration options are still supported; thanks to @sergeyz for suggesting the feature (#56)

  • Added support to Windows (thanks to R.D. for the help) and Appveyor CI build
  • PHP 7.1 added to the Travis build matrix
  • Log (and coverage) temp files are deleted right after being read, to reduce memory consumption (#63)

Fixed

  • Symfony 2.3 compatibility restored: the Travis build now tests with --prefer-lowest under PHP 5.3; this added symfony/http-kernel to the required packages
  • Fixed a minor typo that caused version number to be different in the command help versus the command cli “header”