* [PATCH] tests/qtest/rtl8139-test: Make the test less verbose by default @ 2023-02-15 12:41 Thomas Huth 2023-02-15 12:46 ` Daniel P. Berrangé 0 siblings, 1 reply; 4+ messages in thread From: Thomas Huth @ 2023-02-15 12:41 UTC (permalink / raw) To: qemu-devel; +Cc: Laurent Vivier, Peter Maydell We are facing the issues that some test logs in the gitlab CI are too big (and thus cut off). The rtl8139-test is one of the few qtests that prints many lines of output by default when running with V=1, so it contributes to this problem. Almost all other qtests are silent with V=1 and only print debug messages with V=2 and higher. Thus let's change the rtl8139-test to behave more like the other tests and only print the debug messages with V=2 (or higher). Signed-off-by: Thomas Huth <thuth@redhat.com> --- tests/qtest/rtl8139-test.c | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/tests/qtest/rtl8139-test.c b/tests/qtest/rtl8139-test.c index 8fa3313cc3..1beb83805c 100644 --- a/tests/qtest/rtl8139-test.c +++ b/tests/qtest/rtl8139-test.c @@ -12,6 +12,8 @@ #include "libqos/pci-pc.h" #include "qemu/timer.h" +static int verbosity_level; + /* Tests only initialization so far. TODO: Replace with functional tests */ static void nop(void) { @@ -45,12 +47,16 @@ static QPCIDevice *get_device(void) static unsigned __attribute__((unused)) in_##name(void) \ { \ unsigned res = qpci_io_read##len(dev, dev_bar, (val)); \ - g_test_message("*%s -> %x", #name, res); \ + if (verbosity_level >= 2) { \ + g_test_message("*%s -> %x", #name, res); \ + } \ return res; \ } \ static void out_##name(unsigned v) \ { \ - g_test_message("%x -> *%s", v, #name); \ + if (verbosity_level >= 2) { \ + g_test_message("%x -> *%s", v, #name); \ + } \ qpci_io_write##len(dev, dev_bar, (val), v); \ } @@ -195,6 +201,11 @@ static void test_init(void) int main(int argc, char **argv) { int ret; + char *v_env = getenv("V"); + + if (v_env) { + verbosity_level = atoi(v_env); + } qtest_start("-device rtl8139"); -- 2.31.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] tests/qtest/rtl8139-test: Make the test less verbose by default 2023-02-15 12:41 [PATCH] tests/qtest/rtl8139-test: Make the test less verbose by default Thomas Huth @ 2023-02-15 12:46 ` Daniel P. Berrangé 2023-02-15 13:38 ` Fabiano Rosas 0 siblings, 1 reply; 4+ messages in thread From: Daniel P. Berrangé @ 2023-02-15 12:46 UTC (permalink / raw) To: Thomas Huth; +Cc: qemu-devel, Laurent Vivier, Peter Maydell On Wed, Feb 15, 2023 at 01:41:22PM +0100, Thomas Huth wrote: > We are facing the issues that some test logs in the gitlab CI are > too big (and thus cut off). The rtl8139-test is one of the few qtests > that prints many lines of output by default when running with V=1, so > it contributes to this problem. Almost all other qtests are silent > with V=1 and only print debug messages with V=2 and higher. Thus let's > change the rtl8139-test to behave more like the other tests and only > print the debug messages with V=2 (or higher). > > Signed-off-by: Thomas Huth <thuth@redhat.com> > --- > tests/qtest/rtl8139-test.c | 15 +++++++++++++-- > 1 file changed, 13 insertions(+), 2 deletions(-) Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > > diff --git a/tests/qtest/rtl8139-test.c b/tests/qtest/rtl8139-test.c > index 8fa3313cc3..1beb83805c 100644 > --- a/tests/qtest/rtl8139-test.c > +++ b/tests/qtest/rtl8139-test.c > @@ -12,6 +12,8 @@ > #include "libqos/pci-pc.h" > #include "qemu/timer.h" > > +static int verbosity_level; > + > /* Tests only initialization so far. TODO: Replace with functional tests */ > static void nop(void) > { > @@ -45,12 +47,16 @@ static QPCIDevice *get_device(void) > static unsigned __attribute__((unused)) in_##name(void) \ > { \ > unsigned res = qpci_io_read##len(dev, dev_bar, (val)); \ > - g_test_message("*%s -> %x", #name, res); \ > + if (verbosity_level >= 2) { \ > + g_test_message("*%s -> %x", #name, res); \ > + } \ > return res; \ > } \ > static void out_##name(unsigned v) \ > { \ > - g_test_message("%x -> *%s", v, #name); \ > + if (verbosity_level >= 2) { \ > + g_test_message("%x -> *%s", v, #name); \ > + } \ > qpci_io_write##len(dev, dev_bar, (val), v); \ > } > > @@ -195,6 +201,11 @@ static void test_init(void) > int main(int argc, char **argv) > { > int ret; > + char *v_env = getenv("V"); > + > + if (v_env) { > + verbosity_level = atoi(v_env); > + } *Not* something I'm requesting you to do now, just an observation / idea. We've copied this pattern into several tests. It is starting to feel like we should have a header with a 'qtests_env_setup()' method we call as first thing in main, and exporting 'verbosity_level' from the header. Perhaps also with a 'qtest_verbose(...)' macro that wraps if (verbosity_level >= 2) { g_test_message(...) } With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] tests/qtest/rtl8139-test: Make the test less verbose by default 2023-02-15 12:46 ` Daniel P. Berrangé @ 2023-02-15 13:38 ` Fabiano Rosas 2023-02-15 14:10 ` Thomas Huth 0 siblings, 1 reply; 4+ messages in thread From: Fabiano Rosas @ 2023-02-15 13:38 UTC (permalink / raw) To: Daniel P. Berrangé, Thomas Huth Cc: qemu-devel, Laurent Vivier, Peter Maydell Daniel P. Berrangé <berrange@redhat.com> writes: > On Wed, Feb 15, 2023 at 01:41:22PM +0100, Thomas Huth wrote: >> We are facing the issues that some test logs in the gitlab CI are >> too big (and thus cut off). The rtl8139-test is one of the few qtests >> that prints many lines of output by default when running with V=1, so >> it contributes to this problem. Almost all other qtests are silent >> with V=1 and only print debug messages with V=2 and higher. Thus let's >> change the rtl8139-test to behave more like the other tests and only >> print the debug messages with V=2 (or higher). >> >> Signed-off-by: Thomas Huth <thuth@redhat.com> >> --- >> tests/qtest/rtl8139-test.c | 15 +++++++++++++-- >> 1 file changed, 13 insertions(+), 2 deletions(-) > > Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> > >> >> diff --git a/tests/qtest/rtl8139-test.c b/tests/qtest/rtl8139-test.c >> index 8fa3313cc3..1beb83805c 100644 >> --- a/tests/qtest/rtl8139-test.c >> +++ b/tests/qtest/rtl8139-test.c >> @@ -12,6 +12,8 @@ >> #include "libqos/pci-pc.h" >> #include "qemu/timer.h" >> >> +static int verbosity_level; >> + >> /* Tests only initialization so far. TODO: Replace with functional tests */ >> static void nop(void) >> { >> @@ -45,12 +47,16 @@ static QPCIDevice *get_device(void) >> static unsigned __attribute__((unused)) in_##name(void) \ >> { \ >> unsigned res = qpci_io_read##len(dev, dev_bar, (val)); \ >> - g_test_message("*%s -> %x", #name, res); \ >> + if (verbosity_level >= 2) { \ >> + g_test_message("*%s -> %x", #name, res); \ >> + } \ >> return res; \ >> } \ >> static void out_##name(unsigned v) \ >> { \ >> - g_test_message("%x -> *%s", v, #name); \ >> + if (verbosity_level >= 2) { \ >> + g_test_message("%x -> *%s", v, #name); \ >> + } \ >> qpci_io_write##len(dev, dev_bar, (val), v); \ >> } >> >> @@ -195,6 +201,11 @@ static void test_init(void) >> int main(int argc, char **argv) >> { >> int ret; >> + char *v_env = getenv("V"); >> + >> + if (v_env) { >> + verbosity_level = atoi(v_env); >> + } > > *Not* something I'm requesting you to do now, just an observation / idea. > > We've copied this pattern into several tests. > > It is starting to feel like we should have a header with a > 'qtests_env_setup()' method we call as first thing in main, > and exporting 'verbosity_level' from the header. > > Perhaps also with a 'qtest_verbose(...)' macro that wraps > > if (verbosity_level >= 2) { > g_test_message(...) > } Could we maybe play with g_test_verbose and g_test_quiet? The docs say "The default is neither g_test_verbose() nor g_test_quiet()." So perhaps: V= --quiet, g_test_quiet V=1 no option, default verbosity V=2 --verbose, g_test_verbose Then test g_test_quiet|verbose instead of reading from env directly. ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] tests/qtest/rtl8139-test: Make the test less verbose by default 2023-02-15 13:38 ` Fabiano Rosas @ 2023-02-15 14:10 ` Thomas Huth 0 siblings, 0 replies; 4+ messages in thread From: Thomas Huth @ 2023-02-15 14:10 UTC (permalink / raw) To: Fabiano Rosas, Daniel P. Berrangé Cc: qemu-devel, Laurent Vivier, Peter Maydell On 15/02/2023 14.38, Fabiano Rosas wrote: > Daniel P. Berrangé <berrange@redhat.com> writes: > >> On Wed, Feb 15, 2023 at 01:41:22PM +0100, Thomas Huth wrote: >>> We are facing the issues that some test logs in the gitlab CI are >>> too big (and thus cut off). The rtl8139-test is one of the few qtests >>> that prints many lines of output by default when running with V=1, so >>> it contributes to this problem. Almost all other qtests are silent >>> with V=1 and only print debug messages with V=2 and higher. Thus let's >>> change the rtl8139-test to behave more like the other tests and only >>> print the debug messages with V=2 (or higher). >>> >>> Signed-off-by: Thomas Huth <thuth@redhat.com> >>> --- >>> tests/qtest/rtl8139-test.c | 15 +++++++++++++-- >>> 1 file changed, 13 insertions(+), 2 deletions(-) >> >> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> >> >>> >>> diff --git a/tests/qtest/rtl8139-test.c b/tests/qtest/rtl8139-test.c >>> index 8fa3313cc3..1beb83805c 100644 >>> --- a/tests/qtest/rtl8139-test.c >>> +++ b/tests/qtest/rtl8139-test.c >>> @@ -12,6 +12,8 @@ >>> #include "libqos/pci-pc.h" >>> #include "qemu/timer.h" >>> >>> +static int verbosity_level; >>> + >>> /* Tests only initialization so far. TODO: Replace with functional tests */ >>> static void nop(void) >>> { >>> @@ -45,12 +47,16 @@ static QPCIDevice *get_device(void) >>> static unsigned __attribute__((unused)) in_##name(void) \ >>> { \ >>> unsigned res = qpci_io_read##len(dev, dev_bar, (val)); \ >>> - g_test_message("*%s -> %x", #name, res); \ >>> + if (verbosity_level >= 2) { \ >>> + g_test_message("*%s -> %x", #name, res); \ >>> + } \ >>> return res; \ >>> } \ >>> static void out_##name(unsigned v) \ >>> { \ >>> - g_test_message("%x -> *%s", v, #name); \ >>> + if (verbosity_level >= 2) { \ >>> + g_test_message("%x -> *%s", v, #name); \ >>> + } \ >>> qpci_io_write##len(dev, dev_bar, (val), v); \ >>> } >>> >>> @@ -195,6 +201,11 @@ static void test_init(void) >>> int main(int argc, char **argv) >>> { >>> int ret; >>> + char *v_env = getenv("V"); >>> + >>> + if (v_env) { >>> + verbosity_level = atoi(v_env); >>> + } >> >> *Not* something I'm requesting you to do now, just an observation / idea. >> >> We've copied this pattern into several tests. >> >> It is starting to feel like we should have a header with a >> 'qtests_env_setup()' method we call as first thing in main, >> and exporting 'verbosity_level' from the header. >> >> Perhaps also with a 'qtest_verbose(...)' macro that wraps >> >> if (verbosity_level >= 2) { >> g_test_message(...) >> } Agree, we could generalize this stuff somehow ... maybe also simply adding a qtest_log(int level, char *format, ...) function that does the getenv() checking on the first invocation, or something like that. > Could we maybe play with g_test_verbose and g_test_quiet? The docs say > "The default is neither g_test_verbose() nor g_test_quiet()." So > perhaps: > > V= --quiet, g_test_quiet > V=1 no option, default verbosity > V=2 --verbose, g_test_verbose > > Then test g_test_quiet|verbose instead of reading from env directly. Sounds like an option, too ... but we would not have a V=3 level that way (which is already used in qom-test.c - not sure whether we really need it, though, we could use V=2 for all debug messages, too). Thomas ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2023-02-15 14:11 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2023-02-15 12:41 [PATCH] tests/qtest/rtl8139-test: Make the test less verbose by default Thomas Huth 2023-02-15 12:46 ` Daniel P. Berrangé 2023-02-15 13:38 ` Fabiano Rosas 2023-02-15 14:10 ` Thomas Huth
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).