On Donnerstag, 8. Oktober 2020 14:37:00 CEST Paolo Bonzini wrote: > On 02/10/20 18:15, Christian Schoenebeck wrote: > > -int main(int argc, char **argv) > > +int main(int argc, char **argv, char** envp) > > > > { > > > > g_test_init(&argc, &argv, NULL); > > > > + if (g_test_verbose()) { > > + printf("ENVIRONMENT VARIABLES: {\n"); > > + for (char **env = envp; *env != 0; env++) { > > + printf("\t%s\n", *env); > > + } > > + printf("}\n"); > > + } > > But doesn't this (and patch 6 as well) break TAP output? Using > g_test_message + g_test_verbose would be the best of both worlds.
If there was TAP output then yes, patches 4, 5, 6 would probably break it. How/when is TAP output enabled? I don't see any TAP output by default. > In fact using printf in tests should be forbidden, since glib 2.62 and > newer _always_ emit TAP. > > Paolo The reason why I used printf() was because g_test_message() clutters the output tremendously, as it always wraps the text of each g_test_message() call into: "(MSG: %s)\n" which is inappropriate for multi-line messages as these proposed patches do. Is that actually a real-life problem? I mean these patches only output anything if --verbose CL switch is used, and I don't see any TAP output enabled by default. And the --verbose CL switch is usually just used by developers for debugging test case issues, isn't it? Best regards, Christian Schoenebeck