The first fail logic seems scoped to a single test file.
Set the flag globally.
Since the tests run in a container, cleanup is automagic.
Various test tweaks to allow for skipping tests & null strings.
The test harness will suppress output unless an error occurs.
Upgrade testing was failing in forked repos CI because the
source repo was hard-coded. Use the CI environment to use
the fork's repo.