[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v2 1/2] tests/qtest: Only run fuzz-megasas-test if megasas de
From: |
Alexander Bulekov |
Subject: |
Re: [PATCH v2 1/2] tests/qtest: Only run fuzz-megasas-test if megasas device is available |
Date: |
Tue, 26 Jan 2021 13:01:49 -0500 |
On 210126 1851, Thomas Huth wrote:
> On 26/01/2021 12.16, Philippe Mathieu-Daudé wrote:
> > This test fails when QEMU is built without the megasas device,
> > restrict it to its availability.
> >
> > Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
> > ---
> > tests/qtest/fuzz-megasas-test.c | 49 +++++++++++++++++++++++++++++++++
> > tests/qtest/fuzz-test.c | 25 -----------------
> > MAINTAINERS | 1 +
> > tests/qtest/meson.build | 4 ++-
> > 4 files changed, 53 insertions(+), 26 deletions(-)
> > create mode 100644 tests/qtest/fuzz-megasas-test.c
> >
> > diff --git a/tests/qtest/fuzz-megasas-test.c
> > b/tests/qtest/fuzz-megasas-test.c
> > new file mode 100644
> > index 00000000000..940a76bf25a
> > --- /dev/null
> > +++ b/tests/qtest/fuzz-megasas-test.c
> > @@ -0,0 +1,49 @@
> > +/*
> > + * QTest fuzzer-generated testcase for megasas device
> > + *
> > + * Copyright (c) 2020 Li Qiang <liq3ea@gmail.com>
> > + *
> > + * This work is licensed under the terms of the GNU GPL, version 2 or
> > later.
> > + * See the COPYING file in the top-level directory.
> > + */
> > +
> > +#include "qemu/osdep.h"
> > +
> > +#include "libqos/libqtest.h"
> > +
> > +/*
> > + * This used to trigger the assert in scsi_dma_complete
> > + * https://bugs.launchpad.net/qemu/+bug/1878263
> > + */
> > +static void test_lp1878263_megasas_zero_iov_cnt(void)
> > +{
> > + QTestState *s;
> > +
> > + s = qtest_init("-nographic -monitor none -serial none "
> > + "-M q35 -device megasas -device scsi-cd,drive=null0 "
> > + "-blockdev
> > driver=null-co,read-zeroes=on,node-name=null0");
> > + qtest_outl(s, 0xcf8, 0x80001818);
> > + qtest_outl(s, 0xcfc, 0xc101);
> > + qtest_outl(s, 0xcf8, 0x8000181c);
> > + qtest_outl(s, 0xcf8, 0x80001804);
> > + qtest_outw(s, 0xcfc, 0x7);
> > + qtest_outl(s, 0xcf8, 0x8000186a);
> > + qtest_writeb(s, 0x14, 0xfe);
> > + qtest_writeb(s, 0x0, 0x02);
> > + qtest_outb(s, 0xc1c0, 0x17);
> > + qtest_quit(s);
> > +}
> > +
> > +int main(int argc, char **argv)
> > +{
> > + const char *arch = qtest_get_arch();
> > +
> > + g_test_init(&argc, &argv, NULL);
> > +
> > + if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> > + qtest_add_func("fuzz/test_lp1878263_megasas_zero_iov_cnt",
> > + test_lp1878263_megasas_zero_iov_cnt);
> > + }
> > +
> > + return g_test_run();
> > +}
> > diff --git a/tests/qtest/fuzz-test.c b/tests/qtest/fuzz-test.c
> > index cdb1100a0b8..6188fbb8e96 100644
> > --- a/tests/qtest/fuzz-test.c
> > +++ b/tests/qtest/fuzz-test.c
> > @@ -11,29 +11,6 @@
> > #include "libqos/libqtest.h"
> > -/*
> > - * This used to trigger the assert in scsi_dma_complete
> > - * https://bugs.launchpad.net/qemu/+bug/1878263
> > - */
> > -static void test_lp1878263_megasas_zero_iov_cnt(void)
> > -{
> > - QTestState *s;
> > -
> > - s = qtest_init("-nographic -monitor none -serial none "
> > - "-M q35 -device megasas -device scsi-cd,drive=null0 "
> > - "-blockdev
> > driver=null-co,read-zeroes=on,node-name=null0");
> > - qtest_outl(s, 0xcf8, 0x80001818);
> > - qtest_outl(s, 0xcfc, 0xc101);
> > - qtest_outl(s, 0xcf8, 0x8000181c);
> > - qtest_outl(s, 0xcf8, 0x80001804);
> > - qtest_outw(s, 0xcfc, 0x7);
> > - qtest_outl(s, 0xcf8, 0x8000186a);
> > - qtest_writeb(s, 0x14, 0xfe);
> > - qtest_writeb(s, 0x0, 0x02);
> > - qtest_outb(s, 0xc1c0, 0x17);
> > - qtest_quit(s);
> > -}
> > -
> > static void test_lp1878642_pci_bus_get_irq_level_assert(void)
> > {
> > QTestState *s;
> > @@ -104,8 +81,6 @@ int main(int argc, char **argv)
> > g_test_init(&argc, &argv, NULL);
> > if (strcmp(arch, "i386") == 0 || strcmp(arch, "x86_64") == 0) {
> > - qtest_add_func("fuzz/test_lp1878263_megasas_zero_iov_cnt",
> > - test_lp1878263_megasas_zero_iov_cnt);
> > qtest_add_func("fuzz/test_lp1878642_pci_bus_get_irq_level_assert",
> > test_lp1878642_pci_bus_get_irq_level_assert);
> > qtest_add_func("fuzz/test_mmio_oob_from_memory_region_cache",
> > diff --git a/MAINTAINERS b/MAINTAINERS
> > index 34359a99b8e..44cd74b03cd 100644
> > --- a/MAINTAINERS
> > +++ b/MAINTAINERS
> > @@ -1925,6 +1925,7 @@ S: Supported
> > F: hw/scsi/megasas.c
> > F: hw/scsi/mfi.h
> > F: tests/qtest/megasas-test.c
> > +F: tests/qtest/fuzz-megasas-test.c
> > Network packet abstractions
> > M: Dmitry Fleytman <dmitry.fleytman@gmail.com>
> > diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build
> > index 16d04625b8b..85682d0dfce 100644
> > --- a/tests/qtest/meson.build
> > +++ b/tests/qtest/meson.build
> > @@ -4,7 +4,9 @@
> > subdir_done()
> > endif
> > -qtests_generic = [
> > +qtests_generic = \
> > + (config_all_devices.has_key('CONFIG_MEGASAS_SCSI_PCI') ?
> > ['fuzz-megasas-test'] : []) + \
> > + [
> > 'cdrom-test',
> > 'device-introspect-test',
> > 'machine-none-test',
> >
>
> Reviewed-by: Thomas Huth <thuth@redhat.com>
>
> I assume Alexander will take this patch through his fuzzer branch now? Or
> shall I take it via the qtest branch?
I can take take this through my branch, unless thats somehow inconvenient.
-Alex
> Thomas
>