Message ID | 653a5ef61c5e7d160e4d6294e542c57ea324cee4.1611704181.git.qemu_oss@crudebyte.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | enhance debugging with qtest framework | expand |
On 27/01/2021 00.04, Christian Schoenebeck wrote: > These two are macros wrapping regular printf() call. They are intended > to be used instead of calling printf() directly in order to avoid > breaking TAP output format. > > TAP output format is enabled by using --tap command line argument. > Starting with glib 2.62 it is enabled by default. > > Unfortunately there is currently no public glib API available to check > whether TAP output format is enabled. For that reason qos_printf() > simply always prepends a '#' character for now. > > Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com> > --- > tests/qtest/libqos/qgraph_internal.h | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/tests/qtest/libqos/qgraph_internal.h b/tests/qtest/libqos/qgraph_internal.h > index 974985dce9..c0025f5ab9 100644 > --- a/tests/qtest/libqos/qgraph_internal.h > +++ b/tests/qtest/libqos/qgraph_internal.h > @@ -255,4 +255,15 @@ void qos_delete_cmd_line(const char *name); > */ > void qos_graph_node_set_availability(const char *node, bool av); > > +/* > + * Prepends a '#' character in front for not breaking TAP output format. > + */ > +#define qos_printf(...) printf("# " __VA_ARGS__) > + > +/* > + * Intended for printing something literally, i.e. for appending text as is > + * to a line already been started by qos_printf() before. > + */ > +#define qos_printf_literal printf I'd maybe rather name it qos_printf_append ... but that's just a matter of taste. Reviewed-by: Thomas Huth <thuth@redhat.com>
On Donnerstag, 28. Januar 2021 11:13:27 CET Thomas Huth wrote: > On 27/01/2021 00.04, Christian Schoenebeck wrote: > > These two are macros wrapping regular printf() call. They are intended > > to be used instead of calling printf() directly in order to avoid > > breaking TAP output format. > > > > TAP output format is enabled by using --tap command line argument. > > Starting with glib 2.62 it is enabled by default. > > > > Unfortunately there is currently no public glib API available to check > > whether TAP output format is enabled. For that reason qos_printf() > > simply always prepends a '#' character for now. > > > > Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com> > > --- > > > > tests/qtest/libqos/qgraph_internal.h | 11 +++++++++++ > > 1 file changed, 11 insertions(+) > > > > diff --git a/tests/qtest/libqos/qgraph_internal.h > > b/tests/qtest/libqos/qgraph_internal.h index 974985dce9..c0025f5ab9 > > 100644 > > --- a/tests/qtest/libqos/qgraph_internal.h > > +++ b/tests/qtest/libqos/qgraph_internal.h > > @@ -255,4 +255,15 @@ void qos_delete_cmd_line(const char *name); > > > > */ > > > > void qos_graph_node_set_availability(const char *node, bool av); > > > > +/* > > + * Prepends a '#' character in front for not breaking TAP output format. > > + */ > > +#define qos_printf(...) printf("# " __VA_ARGS__) > > + > > +/* > > + * Intended for printing something literally, i.e. for appending text as > > is + * to a line already been started by qos_printf() before. > > + */ > > +#define qos_printf_literal printf > > I'd maybe rather name it qos_printf_append ... but that's just a matter of > taste. > > Reviewed-by: Thomas Huth <thuth@redhat.com> PING Best regards, Christian Schoenebeck
diff --git a/tests/qtest/libqos/qgraph_internal.h b/tests/qtest/libqos/qgraph_internal.h index 974985dce9..c0025f5ab9 100644 --- a/tests/qtest/libqos/qgraph_internal.h +++ b/tests/qtest/libqos/qgraph_internal.h @@ -255,4 +255,15 @@ void qos_delete_cmd_line(const char *name); */ void qos_graph_node_set_availability(const char *node, bool av); +/* + * Prepends a '#' character in front for not breaking TAP output format. + */ +#define qos_printf(...) printf("# " __VA_ARGS__) + +/* + * Intended for printing something literally, i.e. for appending text as is + * to a line already been started by qos_printf() before. + */ +#define qos_printf_literal printf + #endif
These two are macros wrapping regular printf() call. They are intended to be used instead of calling printf() directly in order to avoid breaking TAP output format. TAP output format is enabled by using --tap command line argument. Starting with glib 2.62 it is enabled by default. Unfortunately there is currently no public glib API available to check whether TAP output format is enabled. For that reason qos_printf() simply always prepends a '#' character for now. Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com> --- tests/qtest/libqos/qgraph_internal.h | 11 +++++++++++ 1 file changed, 11 insertions(+)