* [PATCH] tests/qtest: Decrease the amount of output from the qom-test
@ 2022-11-21 19:42 Thomas Huth
2022-11-21 21:07 ` Stefan Hajnoczi
0 siblings, 1 reply; 2+ messages in thread
From: Thomas Huth @ 2022-11-21 19:42 UTC (permalink / raw)
To: Paolo Bonzini, qemu-devel
Cc: Alex Bennée, Stefan Hajnoczi, Peter Maydell
The logs in the gitlab-CI have a size constraint, and sometimes
we already hit this limit. The biggest part of the log then seems
to be filled by the qom-test, so we should decrease the size of
the output - which can be done easily by not printing the path
for each property, since the path has already been logged at the
beginning of each node that we handle here.
However, if we omit the path, we should make sure to not recurse
into child nodes in between, so that it is clear to which node
each property belongs. Thus store the children and links in a
temporary list and recurse only at the end of each node, when
all properties have already been printed.
Signed-off-by: Thomas Huth <thuth@redhat.com>
---
See e.g. here for a log that got too big:
https://gitlab.com/qemu-project/qemu/-/jobs/3355901224
tests/qtest/qom-test.c | 22 +++++++++++++++++++---
1 file changed, 19 insertions(+), 3 deletions(-)
diff --git a/tests/qtest/qom-test.c b/tests/qtest/qom-test.c
index 7b871b2a31..13510bc349 100644
--- a/tests/qtest/qom-test.c
+++ b/tests/qtest/qom-test.c
@@ -20,6 +20,7 @@ static void test_properties(QTestState *qts, const char *path, bool recurse)
QDict *response, *tuple, *tmp;
QList *list;
QListEntry *entry;
+ GSList *children = NULL, *links = NULL;
g_test_message("Obtaining properties of %s", path);
response = qtest_qmp(qts, "{ 'execute': 'qom-list',"
@@ -41,11 +42,14 @@ static void test_properties(QTestState *qts, const char *path, bool recurse)
if (is_child || is_link) {
child_path = g_strdup_printf("%s/%s",
path, qdict_get_str(tuple, "name"));
- test_properties(qts, child_path, is_child);
- g_free(child_path);
+ if (is_child) {
+ children = g_slist_prepend(children, child_path);
+ } else {
+ links = g_slist_prepend(links, child_path);
+ }
} else {
const char *prop = qdict_get_str(tuple, "name");
- g_test_message("Testing property %s.%s", path, prop);
+ g_test_message("-> %s", prop);
tmp = qtest_qmp(qts,
"{ 'execute': 'qom-get',"
" 'arguments': { 'path': %s, 'property': %s } }",
@@ -55,6 +59,18 @@ static void test_properties(QTestState *qts, const char *path, bool recurse)
qobject_unref(tmp);
}
}
+
+ while (links) {
+ test_properties(qts, links->data, false);
+ g_free(links->data);
+ links = g_slist_delete_link(links, links);
+ }
+ while (children) {
+ test_properties(qts, children->data, true);
+ g_free(children->data);
+ children = g_slist_delete_link(children, children);
+ }
+
qobject_unref(response);
}
--
2.31.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] tests/qtest: Decrease the amount of output from the qom-test
2022-11-21 19:42 [PATCH] tests/qtest: Decrease the amount of output from the qom-test Thomas Huth
@ 2022-11-21 21:07 ` Stefan Hajnoczi
0 siblings, 0 replies; 2+ messages in thread
From: Stefan Hajnoczi @ 2022-11-21 21:07 UTC (permalink / raw)
To: Thomas Huth
Cc: Paolo Bonzini, qemu-devel, Alex Bennée, Stefan Hajnoczi,
Peter Maydell
On Mon, 21 Nov 2022 at 14:44, Thomas Huth <thuth@redhat.com> wrote:
>
> The logs in the gitlab-CI have a size constraint, and sometimes
> we already hit this limit. The biggest part of the log then seems
> to be filled by the qom-test, so we should decrease the size of
> the output - which can be done easily by not printing the path
> for each property, since the path has already been logged at the
> beginning of each node that we handle here.
>
> However, if we omit the path, we should make sure to not recurse
> into child nodes in between, so that it is clear to which node
> each property belongs. Thus store the children and links in a
> temporary list and recurse only at the end of each node, when
> all properties have already been printed.
>
> Signed-off-by: Thomas Huth <thuth@redhat.com>
> ---
> See e.g. here for a log that got too big:
> https://gitlab.com/qemu-project/qemu/-/jobs/3355901224
>
> tests/qtest/qom-test.c | 22 +++++++++++++++++++---
> 1 file changed, 19 insertions(+), 3 deletions(-)
Nice!
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-11-21 21:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-11-21 19:42 [PATCH] tests/qtest: Decrease the amount of output from the qom-test Thomas Huth
2022-11-21 21:07 ` Stefan Hajnoczi
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).