All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v1] test/qtest: Remove s390x boot device support check in pxe-test.c
@ 2026-10-08 15:34 Zhuoying Cai
  2026-10-08 15:45 ` Daniel P. Berrangé
  0 siblings, 1 reply; 4+ messages in thread
From: Zhuoying Cai @ 2026-10-08 15:34 UTC (permalink / raw)
  To: qemu-devel, qemu-s390x; +Cc: shentey, zycai, cohuck, farman, mjrosato

The s390x PXE tests used `memmem` to probe the s390-ccw.img firmware
for device support strings before running each test. MinGW-w64 does
not provide `memmem`, breaking the MSYS2/GCC build.

Remove the check as a workaround.

Signed-off-by: Zhuoying Cai <zycai@linux.ibm.com>
Reported-by: Bernhard Beschow <shentey@gmail.com>
---
 tests/qtest/pxe-test.c | 97 +-----------------------------------------
 1 file changed, 2 insertions(+), 95 deletions(-)

diff --git a/tests/qtest/pxe-test.c b/tests/qtest/pxe-test.c
index 61c92a2df4..51e6bdac2a 100644
--- a/tests/qtest/pxe-test.c
+++ b/tests/qtest/pxe-test.c
@@ -26,7 +26,6 @@ typedef struct testdef {
     const char *machine;    /* Machine type */
     const char *model;      /* NIC device model */
     const char *extra;      /* Any additional parameters */
-    bool (*boot_dev_support)(void); /* optional: boot device support check */
 } testdef_t;
 
 static testdef_t x86_tests[] = {
@@ -59,91 +58,9 @@ static testdef_t ppc64_tests_slow[] = {
     { NULL },
 };
 
-static const char *s390_bios_load(gsize *len)
-{
-    static char *cached_contents;
-    static gsize cached_len;
-    const char *qemu_bin;
-    g_autofree char *cmd = NULL;
-    char dir[PATH_MAX];
-    char *found = NULL;
-    char *path = NULL;
-    FILE *fp;
-
-    if (cached_contents) {
-        g_test_message("Using cached bios contents");
-        goto out;
-    }
-
-    /* search the qemu binary's data directories for s390-ccw.img */
-    qemu_bin = qtest_qemu_binary(NULL);
-    cmd = g_strdup_printf("%s -L help", qemu_bin);
-    fp = popen(cmd, "r");
-
-    if (!fp) {
-        g_error("Failed to run '%s'", cmd);
-    }
-
-    while (fgets(dir, sizeof(dir), fp) && !found) {
-        dir[strcspn(dir, "\n")] = '\0';
-        path = g_build_filename(dir, "s390-ccw.img", NULL);
-        if (g_file_get_contents(path, &cached_contents, &cached_len, NULL)) {
-            found = path;
-        } else {
-            g_free(path);
-        }
-    }
-    pclose(fp);
-
-    if (!found) {
-        g_error("s390-ccw.img not found");
-    }
-
-    g_test_message("Loaded %s", found);
-    g_free(found);
-
-out:
-    *len = cached_len;
-    return cached_contents;
-}
-
-static bool s390_bios_has_string(const char *needle)
-{
-    const char *contents;
-    gsize len;
-    bool found;
-
-    contents = s390_bios_load(&len);
-    found = memmem(contents, len, needle, strlen(needle)) != NULL;
-
-    g_test_message("\"%s\" %s in bios", needle, found ? "found" : "not found");
-    return found;
-}
-
-static bool s390_bios_has_net_ccw(void)
-{
-    /*
-     * Assume that netboot support always includes virtio-net-ccw support.
-     * Check only that netboot code exists, rather than probing virtio-net-ccw
-     * support directly.
-     */
-    return s390_bios_has_string("Network boot starting...");
-}
-
-static bool s390_bios_has_net_pci(void)
-{
-    /*
-     * Check for a string unique to virtio-net-pci boot support in the bios
-     * to determine if the binary was built with support for this device.
-     */
-    return s390_bios_has_string("Setup failed for virtio-net-pci");
-}
-
 static testdef_t s390x_tests[] = {
-    { "s390-ccw-virtio", "virtio-net-ccw",
-      .boot_dev_support = s390_bios_has_net_ccw },
-    { "s390-ccw-virtio", "virtio-net-pci",
-      .boot_dev_support = s390_bios_has_net_pci },
+    { "s390-ccw-virtio", "virtio-net-ccw"},
+    { "s390-ccw-virtio", "virtio-net-pci"},
     { NULL },
 };
 
@@ -174,11 +91,6 @@ static void test_pxe_ipv4(gconstpointer data)
 {
     const testdef_t *test = data;
 
-    if (test->boot_dev_support && !test->boot_dev_support()) {
-        g_test_skip("The bios does not support booting this device");
-        return;
-    }
-
     test_pxe_one(test, false);
 }
 
@@ -186,11 +98,6 @@ static void test_pxe_ipv6(gconstpointer data)
 {
     const testdef_t *test = data;
 
-    if (test->boot_dev_support && !test->boot_dev_support()) {
-        g_test_skip("The bios does not support booting this device");
-        return;
-    }
-
     test_pxe_one(test, true);
 }
 
-- 
2.56.0



^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2026-10-08 20:01 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-08 15:34 [PATCH v1] test/qtest: Remove s390x boot device support check in pxe-test.c Zhuoying Cai
2026-10-08 15:45 ` Daniel P. Berrangé
2026-10-08 18:46   ` Yonggang Luo
2026-10-08 20:00     ` Zhuoying Cai

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.