get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/1.1/patches/2230490/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 2230490,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2230490/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260429190550.20122-2-farosas@suse.de/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/1.1/projects/14/?format=api",
        "name": "QEMU Development",
        "link_name": "qemu-devel",
        "list_id": "qemu-devel.nongnu.org",
        "list_email": "qemu-devel@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": ""
    },
    "msgid": "<20260429190550.20122-2-farosas@suse.de>",
    "date": "2026-04-29T19:05:46",
    "name": "[v1,1/5] tests/qtest/dbus-vmstate: Bring the test up-to-date",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "d58621d0fa6d21f90c91632ed987363ad7608466",
    "submitter": {
        "id": 85343,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/85343/?format=api",
        "name": "Fabiano Rosas",
        "email": "farosas@suse.de"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260429190550.20122-2-farosas@suse.de/mbox/",
    "series": [
        {
            "id": 502137,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/502137/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=502137",
            "date": "2026-04-29T19:05:45",
            "name": "tests/qtest: Re-enable dbus-vmstate",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/502137/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2230490/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2230490/checks/",
    "tags": {},
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": [
            "legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=suse.de header.i=@suse.de header.a=rsa-sha256\n header.s=susede2_rsa header.b=pkwV8D+e;\n\tdkim=pass header.d=suse.de header.i=@suse.de header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=1If5pFj+;\n\tdkim=pass (1024-bit key) header.d=suse.de header.i=@suse.de\n header.a=rsa-sha256 header.s=susede2_rsa header.b=1B8+HuC3;\n\tdkim=neutral header.d=suse.de header.i=@suse.de header.a=ed25519-sha256\n header.s=susede2_ed25519 header.b=bME7acoI;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)",
            "smtp-out1.suse.de;\n dkim=pass header.d=suse.de header.s=susede2_rsa header.b=1B8+HuC3;\n dkim=pass header.d=suse.de header.s=susede2_ed25519 header.b=bME7acoI"
        ],
        "Received": [
            "from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5Rds1C7Kz1xqf\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 05:08:01 +1000 (AEST)",
            "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wIAEV-0001lU-BQ; Wed, 29 Apr 2026 15:06:03 -0400",
            "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <farosas@suse.de>) id 1wIAET-0001k0-1c\n for qemu-devel@nongnu.org; Wed, 29 Apr 2026 15:06:01 -0400",
            "from smtp-out1.suse.de ([195.135.223.130])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <farosas@suse.de>) id 1wIAEQ-0000LF-5o\n for qemu-devel@nongnu.org; Wed, 29 Apr 2026 15:06:00 -0400",
            "from imap1.dmz-prg2.suse.org (imap1.dmz-prg2.suse.org\n [IPv6:2a07:de40:b281:104:10:150:64:97])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by smtp-out1.suse.de (Postfix) with ESMTPS id 4EC176A815;\n Wed, 29 Apr 2026 19:05:55 +0000 (UTC)",
            "from imap1.dmz-prg2.suse.org (localhost [127.0.0.1])\n (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest\n SHA256)\n (No client certificate requested)\n by imap1.dmz-prg2.suse.org (Postfix) with ESMTPS id EA272593B0;\n Wed, 29 Apr 2026 19:05:53 +0000 (UTC)",
            "from dovecot-director2.suse.de ([2a07:de40:b281:106:10:150:64:167])\n by imap1.dmz-prg2.suse.org with ESMTPSA id ELK6LZFW8mm/eQAAD6G6ig\n (envelope-from <farosas@suse.de>); Wed, 29 Apr 2026 19:05:53 +0000"
        ],
        "DKIM-Signature": [
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_rsa;\n t=1777489556;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=eUxDq/SnIjAGROivgUJT7M70dRNJv1YG66xD1uHbj4c=;\n b=pkwV8D+es/Mq2FDs3LFf3Xn6L5FYJ5EqRhO8wqPH86alJD1MsnVGUvZDvIu3I7JxYWO7h4\n m2Bo3+AzkaM291W9XM3AOGJ3HzHeBEbH9BsXp0pFdqxA1LmWhrOZyaeRNVUtZxw0loZ023\n OBFuvyu+vP9ZiZnfSbhbGxeRqmL0Wlg=",
            "v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_ed25519; t=1777489556;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=eUxDq/SnIjAGROivgUJT7M70dRNJv1YG66xD1uHbj4c=;\n b=1If5pFj+dtSPaBRyH3HLT1QCV6IXLeG30k2uyKDlnkHnkkMFxWateXobdVsrrtcVO9ZcNS\n RZP29h2Yp/6NcNBg==",
            "v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_rsa;\n t=1777489555;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=eUxDq/SnIjAGROivgUJT7M70dRNJv1YG66xD1uHbj4c=;\n b=1B8+HuC3k7/rbbhTdO1yZjVFm4X77j14GOXDfOeTq8KpppTiMPemio+69/Ar4t5XJyfq7r\n qTXwaWwBbdEvifr5IDtPvp2p6HwzlG2jlQqbkNk5HXBpJ66mHduxj+7wLr8R/GvZDBvvUj\n Y0Xa2zTM/FhZLUjzmEoMCR5hJe01R6E=",
            "v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de;\n s=susede2_ed25519; t=1777489555;\n h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc:\n mime-version:mime-version:\n content-transfer-encoding:content-transfer-encoding:\n in-reply-to:in-reply-to:references:references;\n bh=eUxDq/SnIjAGROivgUJT7M70dRNJv1YG66xD1uHbj4c=;\n b=bME7acoIXKngUIVFdLcyg9RETTp+zRWMDqS7xAkQz4SiznduE2MLn2oR0mXXGOf3aPOece\n oqh6DFjMKVMgmkCQ=="
        ],
        "From": "Fabiano Rosas <farosas@suse.de>",
        "To": "qemu-devel@nongnu.org",
        "Cc": "Peter Xu <peterx@redhat.com>, marcandre.lureau@redhat.com,\n Laurent Vivier <lvivier@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>",
        "Subject": "[PATCH v1 1/5] tests/qtest/dbus-vmstate: Bring the test up-to-date",
        "Date": "Wed, 29 Apr 2026 16:05:46 -0300",
        "Message-ID": "<20260429190550.20122-2-farosas@suse.de>",
        "X-Mailer": "git-send-email 2.51.0",
        "In-Reply-To": "<20260429190550.20122-1-farosas@suse.de>",
        "References": "<20260429190550.20122-1-farosas@suse.de>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Rspamd-Action": "no action",
        "X-Rspamd-Server": "rspamd2.dmz-prg2.suse.org",
        "X-Spamd-Result": "default: False [-3.01 / 50.00]; BAYES_HAM(-3.00)[100.00%];\n MID_CONTAINS_FROM(1.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000];\n R_MISSING_CHARSET(0.50)[];\n R_DKIM_ALLOW(-0.20)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];\n NEURAL_HAM_SHORT(-0.20)[-1.000]; MIME_GOOD(-0.10)[text/plain];\n MX_GOOD(-0.01)[]; TO_DN_SOME(0.00)[]; ARC_NA(0.00)[];\n FUZZY_RATELIMITED(0.00)[rspamd.com];\n SPAMHAUS_XBL(0.00)[2a07:de40:b281:104:10:150:64:97:from];\n MIME_TRACE(0.00)[0:+]; RCVD_VIA_SMTP_AUTH(0.00)[];\n DNSWL_BLOCKED(0.00)[2a07:de40:b281:104:10:150:64:97:from];\n DKIM_SIGNED(0.00)[suse.de:s=susede2_rsa,suse.de:s=susede2_ed25519];\n FROM_EQ_ENVFROM(0.00)[]; FROM_HAS_DN(0.00)[];\n RCPT_COUNT_FIVE(0.00)[5]; RCVD_TLS_ALL(0.00)[];\n DBL_BLOCKED_OPENRESOLVER(0.00)[imap1.dmz-prg2.suse.org:helo,imap1.dmz-prg2.suse.org:rdns,suse.de:dkim,suse.de:mid,suse.de:email];\n RCVD_COUNT_TWO(0.00)[2]; TO_MATCH_ENVRCPT_ALL(0.00)[];\n DKIM_TRACE(0.00)[suse.de:+]",
        "X-Rspamd-Queue-Id": "4EC176A815",
        "X-Spam-Score": "-3.01",
        "Received-SPF": "pass client-ip=195.135.223.130; envelope-from=farosas@suse.de;\n helo=smtp-out1.suse.de",
        "X-Spam_score_int": "-43",
        "X-Spam_score": "-4.4",
        "X-Spam_bar": "----",
        "X-Spam_report": "(-4.4 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no",
        "X-Spam_action": "no action",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "qemu development <qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>",
        "List-Post": "<mailto:qemu-devel@nongnu.org>",
        "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>",
        "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"
    },
    "content": "The dbus-vmstate-test has been disabled for years. Here's the things\nthat have changed in the meantime and how to update the test:\n\n- Migration tests got new headers.\nUpdate the includes.\n\n- migrate_qmp got new parameters.\nUpdate the caller.\n\n- migrate_incoming_qmp is now used instead of -incoming URL.\nUse -incoming defer.\n\n- Tests expecting failure should not check non-zero return code.\nCheck for failed migration state instead.\n\n- The test result enum was introduced.\nReplace the migration_fail flag with the enum.\n\n- The DEVICE state was added.\nReplace wait_for_migration_complete with migration_event_wait, which\nwon't trip on intermediary states.\n\n- Migration completion was reworked.\nExplicitly wait for the RESUME event before asserting runstate is\nRUNNING to avoid checking too quickly and seeing FINISH_MIGRATE\ninstead.\n\n- The FAILING state was added.\nWait for it before waiting for the RESUME event.\n\n- Sanity checks were added to migration_get_env().\nStart calling that function in main.\n\n- qtest_add_func now has a wrapper.\nReplace qtest_add_func with migration_test_add. Update tests'\nsignatures to take MigrationCommon, although it's unused.\n\n- meson now sets up G_TEST_DBUS_DAEMON.\nRemove the logic around it.\n\nSigned-off-by: Fabiano Rosas <farosas@suse.de>\n---\n tests/qtest/dbus-vmstate-test.c | 71 +++++++++++++++++++--------------\n tests/qtest/meson.build         |  7 +++-\n 2 files changed, 46 insertions(+), 32 deletions(-)",
    "diff": "diff --git a/tests/qtest/dbus-vmstate-test.c b/tests/qtest/dbus-vmstate-test.c\nindex 0a82cc9f93..90c050b448 100644\n--- a/tests/qtest/dbus-vmstate-test.c\n+++ b/tests/qtest/dbus-vmstate-test.c\n@@ -2,8 +2,8 @@\n #include <glib/gstdio.h>\n #include <gio/gio.h>\n #include \"libqtest.h\"\n+#include \"migration/migration-qmp.h\"\n #include \"dbus-vmstate1.h\"\n-#include \"migration-helpers.h\"\n \n static char *workdir;\n \n@@ -29,7 +29,7 @@ typedef struct TestServer {\n \n typedef struct Test {\n     const char *id_list;\n-    bool migrate_fail;\n+    int result;\n     bool without_dst_b;\n     TestServer srcA;\n     TestServer dstA;\n@@ -190,6 +190,7 @@ test_dbus_vmstate(Test *test)\n     g_autofree char *uri = NULL;\n     QTestState *src_qemu = NULL, *dst_qemu = NULL;\n     guint ownsrcA, ownsrcB, owndstA, owndstB;\n+    QTestMigrationState src_state = { };\n \n     uri = g_strdup_printf(\"unix:%s/migsocket\", workdir);\n \n@@ -224,17 +225,33 @@ test_dbus_vmstate(Test *test)\n \n     src_qemu = qtest_init(src_qemu_args);\n     dst_qemu = qtest_init(dst_qemu_args);\n+\n+    migrate_set_capability(src_qemu, \"events\", true);\n+    qtest_qmp_set_event_callback(src_qemu, migrate_watch_for_events,\n+                                 &src_state);\n+\n     set_id_list(test, src_qemu);\n     set_id_list(test, dst_qemu);\n \n     thread = g_thread_new(\"dbus-vmstate-thread\", dbus_vmstate_thread, loop);\n \n     migrate_incoming_qmp(dst_qemu, uri, NULL, \"{}\");\n-    migrate_qmp(src_qemu, uri, \"{}\");\n+    migrate_ensure_converge(src_qemu);\n+    migrate_qmp(src_qemu, NULL, uri, NULL, \"{}\");\n     test->src_qemu = src_qemu;\n-    if (test->migrate_fail) {\n-        wait_for_migration_fail(src_qemu, true);\n-        qtest_set_expected_status(dst_qemu, EXIT_FAILURE);\n+\n+    if (test->result != MIG_TEST_SUCCEED) {\n+        QDict *rsp;\n+\n+        migration_event_wait(src_qemu, \"failing\");\n+        wait_for_resume(src_qemu, &src_state);\n+        migration_event_wait(src_qemu, \"failed\");\n+\n+        rsp = qtest_qmp_assert_success_ref(src_qemu,\n+                                           \"{ 'execute': 'query-status' }\");\n+        g_assert(qdict_haskey(rsp, \"running\"));\n+        g_assert(qdict_get_bool(rsp, \"running\"));\n+        qobject_unref(rsp);\n     } else {\n         wait_for_migration_complete(src_qemu);\n     }\n@@ -270,7 +287,7 @@ check_migrated(TestServer *s, TestServer *d)\n }\n \n static void\n-test_dbus_vmstate_without_list(void)\n+test_dbus_vmstate_without_list(char *name, MigrateCommon *args)\n {\n     Test test = { 0, };\n \n@@ -281,7 +298,7 @@ test_dbus_vmstate_without_list(void)\n }\n \n static void\n-test_dbus_vmstate_with_list(void)\n+test_dbus_vmstate_with_list(char *name, MigrateCommon *args)\n {\n     Test test = { .id_list = \"idA,idB\" };\n \n@@ -292,7 +309,7 @@ test_dbus_vmstate_with_list(void)\n }\n \n static void\n-test_dbus_vmstate_only_a(void)\n+test_dbus_vmstate_only_a(char *name, MigrateCommon *args)\n {\n     Test test = { .id_list = \"idA\" };\n \n@@ -303,9 +320,10 @@ test_dbus_vmstate_only_a(void)\n }\n \n static void\n-test_dbus_vmstate_missing_src(void)\n+test_dbus_vmstate_missing_src(char *name, MigrateCommon *args)\n {\n-    Test test = { .id_list = \"idA,idC\", .migrate_fail = true };\n+    Test test = { .id_list = \"idA,idC\",\n+        .result = MIG_TEST_FAIL };\n \n     /* run in subprocess to silence QEMU error reporting */\n     if (g_test_subprocess()) {\n@@ -320,11 +338,11 @@ test_dbus_vmstate_missing_src(void)\n }\n \n static void\n-test_dbus_vmstate_missing_dst(void)\n+test_dbus_vmstate_missing_dst(char *name, MigrateCommon *args)\n {\n     Test test = { .id_list = \"idA,idB\",\n                   .without_dst_b = true,\n-                  .migrate_fail = true };\n+                  .result = MIG_TEST_FAIL };\n \n     /* run in subprocess to silence QEMU error reporting */\n     if (g_test_subprocess()) {\n@@ -343,15 +361,8 @@ int\n main(int argc, char **argv)\n {\n     GError *err = NULL;\n-    g_autofree char *dbus_daemon = NULL;\n     int ret;\n \n-    dbus_daemon = g_build_filename(G_STRINGIFY(SRCDIR),\n-                                   \"tests\",\n-                                   \"dbus-vmstate-daemon.sh\",\n-                                   NULL);\n-    g_setenv(\"G_TEST_DBUS_DAEMON\", dbus_daemon, true);\n-\n     g_test_init(&argc, &argv, NULL);\n \n     workdir = g_dir_make_tmp(\"dbus-vmstate-test-XXXXXX\", &err);\n@@ -362,16 +373,16 @@ main(int argc, char **argv)\n \n     g_setenv(\"DBUS_VMSTATE_TEST_TMPDIR\", workdir, true);\n \n-    qtest_add_func(\"/dbus-vmstate/without-list\",\n-                   test_dbus_vmstate_without_list);\n-    qtest_add_func(\"/dbus-vmstate/with-list\",\n-                   test_dbus_vmstate_with_list);\n-    qtest_add_func(\"/dbus-vmstate/only-a\",\n-                   test_dbus_vmstate_only_a);\n-    qtest_add_func(\"/dbus-vmstate/missing-src\",\n-                   test_dbus_vmstate_missing_src);\n-    qtest_add_func(\"/dbus-vmstate/missing-dst\",\n-                   test_dbus_vmstate_missing_dst);\n+    migration_test_add(\"/dbus-vmstate/without-list\",\n+                       test_dbus_vmstate_without_list);\n+    migration_test_add(\"/dbus-vmstate/with-list\",\n+                       test_dbus_vmstate_with_list);\n+    migration_test_add(\"/dbus-vmstate/only-a\",\n+                       test_dbus_vmstate_only_a);\n+    migration_test_add(\"/dbus-vmstate/missing-src\",\n+                       test_dbus_vmstate_missing_src);\n+    migration_test_add(\"/dbus-vmstate/missing-dst\",\n+                       test_dbus_vmstate_missing_dst);\n \n     ret = g_test_run();\n \ndiff --git a/tests/qtest/meson.build b/tests/qtest/meson.build\nindex b735f55fc4..0d04e2cbaa 100644\n--- a/tests/qtest/meson.build\n+++ b/tests/qtest/meson.build\n@@ -126,10 +126,12 @@ if dbus_daemon.found() and gdbus_codegen.found()\n   # Temporarily disabled due to Patchew failures:\n   #qtests_i386 += ['dbus-vmstate-test']\n   dbus_vmstate1 = custom_target('dbus-vmstate description',\n-                                output: ['dbus-vmstate1.h', 'dbus-vmstate1.c'],\n+                                build_by_default: true,\n+                                output: [ 'dbus-vmstate1.h', 'dbus-vmstate1.c'],\n                                 input: meson.project_source_root() / 'backends/dbus-vmstate1.xml',\n                                 command: [gdbus_codegen, '@INPUT@',\n                                           '--interface-prefix', 'org.qemu',\n+                                          '--output-directory', meson.current_build_dir(),\n                                           '--generate-c-code', '@BASENAME@']).to_list()\n else\n   dbus_vmstate1 = []\n@@ -385,7 +387,8 @@ qtests = {\n   'bios-tables-test': [io, 'boot-sector.c', 'acpi-utils.c', 'tpm-emu.c'],\n   'cdrom-test': files('boot-sector.c'),\n   'dbus-vmstate-test': files('migration/migration-qmp.c',\n-                             'migration/migration-util.c') + dbus_vmstate1,\n+                             'migration/migration-util.c') + dbus_vmstate1 +\n+                       [gio],\n   'erst-test': files('erst-test.c'),\n   'ivshmem-test': [rt, '../../contrib/ivshmem-server/ivshmem-server.c'],\n   'migration-test': test_migration_files + migration_tls_files + migration_colo_files,\n",
    "prefixes": [
        "v1",
        "1/5"
    ]
}