static size_t testCounter;
static virBitmapPtr testBitmap;
+static virBitmapPtr failedTests;
virArch virTestHostArch = VIR_ARCH_X86_64;
fprintf(stderr, "!");
}
+ if (ret != 0)
+ ignore_value(virBitmapSetBitExpand(failedTests, testCounter));
+
g_unsetenv("VIR_TEST_MOCK_TESTNAME");
return ret;
}
}
}
+ if (!(failedTests = virBitmapNew(1)))
+ return EXIT_FAILURE;
+
ret = (func)();
virResetLastError();
fprintf(stderr, "%*s", 40 - (int)(testCounter % 40), "");
fprintf(stderr, " %-3zu %s\n", testCounter, ret == 0 ? "OK" : "FAIL");
}
+ if (ret == EXIT_FAILURE && !virBitmapIsAllClear(failedTests)) {
+ g_autofree char *failed = virBitmapFormat(failedTests);
+ fprintf(stderr, "Some tests failed. Run them using:\n");
+ fprintf(stderr, "VIR_TEST_DEBUG=1 VIR_TEST_RANGE=%s %s\n", failed, argv[0]);
+ }
virLogReset();
return ret;
}