Peter Xu <pet...@redhat.com> writes: > On Fri, Nov 24, 2023 at 01:14:31PM -0300, Fabiano Rosas wrote: >> Our usage of gtest results in us losing the very basic functionality >> of "knowing which test failed". The issue is that gtest only prints >> test names ("paths" in gtest parlance) once the test has finished, but >> we use asserts in the tests and crash gtest itself before it can print >> anything. We also use a final abort when the result of g_test_run is >> not 0. >> >> Depending on how the test failed/broke we can see the function that >> trigged the abort, which may be representative of the test, but it >> could also just be some generic function. >> >> We have been relying on the primitive method of looking at the name of >> the previous successful test and then looking at the code to figure >> out which test should have come next. >> >> Add a wrapper to the test registration that does the job of printing >> the test name before running. >> >> Signed-off-by: Fabiano Rosas <faro...@suse.de> >> --- >> tests/qtest/migration-helpers.c | 32 ++++++++++++++++++++++++++++++++ >> tests/qtest/migration-helpers.h | 1 + >> 2 files changed, 33 insertions(+) >> >> diff --git a/tests/qtest/migration-helpers.c >> b/tests/qtest/migration-helpers.c >> index f1106128a9..164e09c299 100644 >> --- a/tests/qtest/migration-helpers.c >> +++ b/tests/qtest/migration-helpers.c >> @@ -298,3 +298,35 @@ char *resolve_machine_version(const char *alias, const >> char *var1, >> >> return find_common_machine_version(machine_name, var1, var2); >> } >> + >> +typedef struct { >> + char *name; >> + void (*func)(void); >> +} MigrationTest; >> + >> +static void migration_test_destroy(gpointer data) >> +{ >> + MigrationTest *test = (MigrationTest *)data; >> + >> + g_free(test->name); >> + g_free(test); >> +} >> + >> +static void migration_test_wrapper(const void *data) >> +{ >> + MigrationTest *test = (MigrationTest *)data; >> + >> + g_test_message("Running /%s%s", qtest_get_arch(), test->name); > > /%s/%s?
The test name contains a leading slash.