Since the early Pheix versions, I have paid a lot of attention to testing system. Initially it was a set of unit tests — I tried to cover a huge range of units like classes, methods, subroutines and conditions. In some cases I have combined unit and functional testing within one .t
file, like it's done to verify Ethereum or API related functionality.
Tests became a bit complicated and environment dependent. For example off chain testing like trivial prove6 -Ilib ./t
should skip any Ethereum tests including some API units, but not API template engine or cross module API communications. So I had to create environment dependent configurations and since that point I started yet another Pheix friendly test system.
It was written in pure bash
and was included in Pheix repository for a few years.