public static void testAll(String path, boolean exp) {
        List<String> failed = new ArrayList<>();
        if (exp) {
            _.testmsg("generating tests");
        } else {
            _.testmsg("verifying tests");
        }

        testRecursive(path, exp, failed);

        if (exp) {
            _.testmsg("all tests generated");
        } else if (failed.isEmpty()) {
            _.testmsg("all tests passed!");
        } else {
            _.testmsg("failed some tests: ");
            for (String f : failed) {
                _.testmsg("  * " + f);
            }
        }
    }