[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] tests/qtest/rtl8139-test: Make the test less verbose by defa
From: |
Fabiano Rosas |
Subject: |
Re: [PATCH] tests/qtest/rtl8139-test: Make the test less verbose by default |
Date: |
Wed, 15 Feb 2023 10:38:19 -0300 |
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.