[PATCH] tests/qtest/qom-test: Do not print tested properties by default

Thomas Huth posted 1 patch 1 year, 4 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20221215140152.284180-1-thuth@redhat.com
Maintainers: Thomas Huth <thuth@redhat.com>, Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>
There is a newer version of this series
tests/qtest/qom-test.c | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
[PATCH] tests/qtest/qom-test: Do not print tested properties by default
Posted by Thomas Huth 1 year, 4 months ago
We're still running into the problem that some logs are cut in the
gitlab-CI since they got too big. The biggest part of the log is
still the output of the qom-test. Let's stop printing the properties
by default to get to a saner size here. The full output can still
be enabled by setting V=2 (or higher) in the environment.

Signed-off-by: Thomas Huth <thuth@redhat.com>
---
 tests/qtest/qom-test.c | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/tests/qtest/qom-test.c b/tests/qtest/qom-test.c
index 13510bc349..a0e5672cb3 100644
--- a/tests/qtest/qom-test.c
+++ b/tests/qtest/qom-test.c
@@ -14,6 +14,8 @@
 #include "qemu/cutils.h"
 #include "libqtest.h"
 
+static bool verbose;
+
 static void test_properties(QTestState *qts, const char *path, bool recurse)
 {
     char *child_path;
@@ -49,7 +51,9 @@ static void test_properties(QTestState *qts, const char *path, bool recurse)
             }
         } else {
             const char *prop = qdict_get_str(tuple, "name");
-            g_test_message("-> %s", prop);
+            if (verbose) {
+                g_test_message("-> %s", prop);
+            }
             tmp = qtest_qmp(qts,
                             "{ 'execute': 'qom-get',"
                             "  'arguments': { 'path': %s, 'property': %s } }",
@@ -103,6 +107,12 @@ static void add_machine_test_case(const char *mname)
 
 int main(int argc, char **argv)
 {
+    char *v_env = getenv("V");
+
+    if (v_env && *v_env >= '2') {
+        verbose = true;
+    }
+
     g_test_init(&argc, &argv, NULL);
 
     qtest_cb_for_every_machine(add_machine_test_case, g_test_quick());
-- 
2.31.1
Re: [PATCH] tests/qtest/qom-test: Do not print tested properties by default
Posted by Peter Maydell 1 year, 4 months ago
On Thu, 15 Dec 2022 at 14:01, Thomas Huth <thuth@redhat.com> wrote:
>
> We're still running into the problem that some logs are cut in the
> gitlab-CI since they got too big. The biggest part of the log is
> still the output of the qom-test. Let's stop printing the properties
> by default to get to a saner size here. The full output can still
> be enabled by setting V=2 (or higher) in the environment.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>

> @@ -103,6 +107,12 @@ static void add_machine_test_case(const char *mname)
>
>  int main(int argc, char **argv)
>  {
> +    char *v_env = getenv("V");
> +
> +    if (v_env && *v_env >= '2') {
> +        verbose = true;
> +    }

This is a bit cheesy -- I think we should parse the string
to a number properly rather than accepting '2', '23',
'2.89237', '2e45' '2fast2furious' etc :-)

thanks
-- PMM
Re: [PATCH] tests/qtest/qom-test: Do not print tested properties by default
Posted by Thomas Huth 1 year, 4 months ago
On 15/12/2022 15.04, Peter Maydell wrote:
> On Thu, 15 Dec 2022 at 14:01, Thomas Huth <thuth@redhat.com> wrote:
>>
>> We're still running into the problem that some logs are cut in the
>> gitlab-CI since they got too big. The biggest part of the log is
>> still the output of the qom-test. Let's stop printing the properties
>> by default to get to a saner size here. The full output can still
>> be enabled by setting V=2 (or higher) in the environment.
>>
>> Signed-off-by: Thomas Huth <thuth@redhat.com>
> 
>> @@ -103,6 +107,12 @@ static void add_machine_test_case(const char *mname)
>>
>>   int main(int argc, char **argv)
>>   {
>> +    char *v_env = getenv("V");
>> +
>> +    if (v_env && *v_env >= '2') {
>> +        verbose = true;
>> +    }
> 
> This is a bit cheesy -- I think we should parse the string
> to a number properly rather than accepting '2', '23',
> '2.89237', '2e45' '2fast2furious' etc :-)

Ok, true, it's a little bit weird that it's verbose for V=9 but not for V=10 
... I'll rework the patch and send a patch for hmp-test.c, too (where I've 
copied the code from).

  Thomas