Nothing tested that jq --run-tests exits with status 1 when the tests fail, so a failure could have been reported as a pass. Add shell tests with incorrect, missing and extra output that check both the exit status and the reported message, such as "Insufficient results", along with a passing control. Under Valgrind, memory errors exit with status 99 so they are not mistaken for a test failure.