Yath (AKA Test2::Harness)

  • [Y]et
  • [A]nother
  • [T]est
  • [H]arness

Presented by: Chad 'Exodist' Granum

You can follow along at https://test-more.github.io/Test2-Harness


What is yath?

Test2::Harness (cli: yath) is a new test harness intended as an alternative to Test::Harness (cli: prove).

yath introduces new features and a new approach to running your tests.

yath is most useful with large test suites and business/corperate test suites, specially ones with long run times.

What are the benfits

Please note, yath is still experimental, and some areas are still under development and expected to change



At ZipRecruiter the test suite takes over 4 hours to run when using prove with -j1. -j2+ is not possible due to multiple factors that would require an additional layer to prevent conflicts.

Using yath we can run the test suite in 1.5 hours on the same box using a combination of preload and -j3 allowing yath to manage test order and handle the conflicts.

Whe are able to further improve this by using a beefy test box with -j50 so that the entire thing runs in 15 minutes or less.


yath helps us at cPanel reduce our test suite runtime from ~60 minutes to ~12 minutes with a very low effort after a few days of tagging tests.