[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 3/3] scripts: Test script to look for -device
From: |
Eduardo Habkost |
Subject: |
Re: [Qemu-devel] [PATCH v2 3/3] scripts: Test script to look for -device crashes |
Date: |
Wed, 31 May 2017 14:41:45 -0300 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
On Mon, May 29, 2017 at 11:25:03AM +0200, Markus Armbruster wrote:
> Eduardo Habkost <address@hidden> writes:
> > On Tue, May 23, 2017 at 04:52:47PM +0200, Markus Armbruster wrote:
[...]
> >> > +ERROR_WHITELIST = [
> >> > + # Machines that won't work out of the box:
> >> > + # MACHINE | ERROR MESSAGE
> >> > + dict(machine='niagara', expected=True), # Unable to load a
> >> > firmware for -M niagara
> >>
> >> What's wrong with dictionary displays?
> >>
> >> {'expected': True, 'machine': 'niagara'}
> >
> > Nothing wrong. I just prefer the dict(key=value) syntax to the
> > colons and extra quotes in {'key': value}.
>
> Since Python provides syntactic sugar ("dictionary displays")
> specifically for creating dictionaries, shouldn't we use it?
>
> As far as I can tell, existing Python code always uses dictionary
> displays, never the equivalent constructor call.
Well, if dict literals is less surprising, I can change it.
I will squash this in:
diff --git a/scripts/device-crash-test b/scripts/device-crash-test
index 3b089099ce..5f90e9bb54 100755
--- a/scripts/device-crash-test
+++ b/scripts/device-crash-test
@@ -65,175 +65,175 @@ dbg = logger.debug
ERROR_WHITELIST = [
# Machines that won't work out of the box:
# MACHINE | ERROR MESSAGE
- dict(machine='niagara', expected=True), # Unable to load a firmware
for -M niagara
- dict(machine='boston', expected=True), # Please provide either a
-kernel or -bios argument
- dict(machine='leon3_generic', expected=True), # Can't read bios image
(null)
+ {'machine':'niagara', 'expected':True}, # Unable to load a firmware
for -M niagara
+ {'machine':'boston', 'expected':True}, # Please provide either a
-kernel or -bios argument
+ {'machine':'leon3_generic', 'expected':True}, # Can't read bios image
(null)
# devices that don't work out of the box because they require extra
options to "-device DEV":
# DEVICE | ERROR MESSAGE
- dict(device='.*-(i386|x86_64)-cpu', expected=True), # CPU socket-id is
not set
- dict(device='ARM,bitband-memory', expected=True), # source-memory
property not set
- dict(device='arm.cortex-a9-global-timer', expected=True), #
a9_gtimer_realize: num-cpu must be between 1 and 4
- dict(device='arm_mptimer', expected=True), # num-cpu must be
between 1 and 4
- dict(device='armv7m', expected=True), # memory property
was not set
- dict(device='aspeed.scu', expected=True), # Unknown silicon
revision: 0x0
- dict(device='aspeed.sdmc', expected=True), # Unknown silicon
revision: 0x0
- dict(device='bcm2835-dma', expected=True), #
bcm2835_dma_realize: required dma-mr link not found: Property '.dma-mr' not
found
- dict(device='bcm2835-fb', expected=True), #
bcm2835_fb_realize: required vcram-base property not set
- dict(device='bcm2835-mbox', expected=True), #
bcm2835_mbox_realize: required mbox-mr link not found: Property '.mbox-mr' not
found
- dict(device='bcm2835-peripherals', expected=True), #
bcm2835_peripherals_realize: required ram link not found: Property '.ram' not
found
- dict(device='bcm2835-property', expected=True), #
bcm2835_property_realize: required fb link not found: Property '.fb' not found
- dict(device='bcm2835_gpio', expected=True), #
bcm2835_gpio_realize: required sdhci link not found: Property '.sdbus-sdhci'
not found
- dict(device='bcm2836', expected=True), # bcm2836_realize:
required ram link not found: Property '.ram' not found
- dict(device='cfi.pflash01', expected=True), # attribute
"sector-length" not specified or zero.
- dict(device='cfi.pflash02', expected=True), # attribute
"sector-length" not specified or zero.
- dict(device='icp', expected=True), # icp_realize:
required link 'xics' not found: Property '.xics' not found
- dict(device='ics', expected=True), # ics_base_realize:
required link 'xics' not found: Property '.xics' not found
+ {'device':'.*-(i386|x86_64)-cpu', 'expected':True}, # CPU socket-id is
not set
+ {'device':'ARM,bitband-memory', 'expected':True}, # source-memory
property not set
+ {'device':'arm.cortex-a9-global-timer', 'expected':True}, #
a9_gtimer_realize: num-cpu must be between 1 and 4
+ {'device':'arm_mptimer', 'expected':True}, # num-cpu must be
between 1 and 4
+ {'device':'armv7m', 'expected':True}, # memory property
was not set
+ {'device':'aspeed.scu', 'expected':True}, # Unknown silicon
revision: 0x0
+ {'device':'aspeed.sdmc', 'expected':True}, # Unknown silicon
revision: 0x0
+ {'device':'bcm2835-dma', 'expected':True}, #
bcm2835_dma_realize: required dma-mr link not found: Property '.dma-mr' not
found
+ {'device':'bcm2835-fb', 'expected':True}, #
bcm2835_fb_realize: required vcram-base property not set
+ {'device':'bcm2835-mbox', 'expected':True}, #
bcm2835_mbox_realize: required mbox-mr link not found: Property '.mbox-mr' not
found
+ {'device':'bcm2835-peripherals', 'expected':True}, #
bcm2835_peripherals_realize: required ram link not found: Property '.ram' not
found
+ {'device':'bcm2835-property', 'expected':True}, #
bcm2835_property_realize: required fb link not found: Property '.fb' not found
+ {'device':'bcm2835_gpio', 'expected':True}, #
bcm2835_gpio_realize: required sdhci link not found: Property '.sdbus-sdhci'
not found
+ {'device':'bcm2836', 'expected':True}, # bcm2836_realize:
required ram link not found: Property '.ram' not found
+ {'device':'cfi.pflash01', 'expected':True}, # attribute
"sector-length" not specified or zero.
+ {'device':'cfi.pflash02', 'expected':True}, # attribute
"sector-length" not specified or zero.
+ {'device':'icp', 'expected':True}, # icp_realize:
required link 'xics' not found: Property '.xics' not found
+ {'device':'ics', 'expected':True}, # ics_base_realize:
required link 'xics' not found: Property '.xics' not found
# "-device ide-cd" does work on more recent QEMU versions, so it doesn't
have expected=True
- dict(device='ide-cd'), # No drive specified
- dict(device='ide-drive', expected=True), # No drive specified
- dict(device='ide-hd', expected=True), # No drive specified
- dict(device='ipmi-bmc-extern', expected=True), # IPMI external bmc
requires chardev attribute
- dict(device='isa-debugcon', expected=True), # Can't create
serial device, empty char device
- dict(device='isa-ipmi-bt', expected=True), # IPMI device
requires a bmc attribute to be set
- dict(device='isa-ipmi-kcs', expected=True), # IPMI device
requires a bmc attribute to be set
- dict(device='isa-parallel', expected=True), # Can't create
serial device, empty char device
- dict(device='isa-serial', expected=True), # Can't create
serial device, empty char device
- dict(device='ivshmem', expected=True), # You must specify
either 'shm' or 'chardev'
- dict(device='ivshmem-doorbell', expected=True), # You must specify
a 'chardev'
- dict(device='ivshmem-plain', expected=True), # You must specify
a 'memdev'
- dict(device='kvm-pci-assign', expected=True), # no host device
specified
- dict(device='loader', expected=True), # please include
valid arguments
- dict(device='nand', expected=True), # Unsupported NAND
block size 0x1
- dict(device='nvdimm', expected=True), # 'memdev' property
is not set
- dict(device='nvme', expected=True), # Device
initialization failed
- dict(device='pc-dimm', expected=True), # 'memdev' property
is not set
- dict(device='pci-bridge', expected=True), # Bridge chassis
not specified. Each bridge is required to be assigned a unique chassis id > 0.
- dict(device='pci-bridge-seat', expected=True), # Bridge chassis
not specified. Each bridge is required to be assigned a unique chassis id > 0.
- dict(device='pci-serial', expected=True), # Can't create
serial device, empty char device
- dict(device='pci-serial-2x', expected=True), # Can't create
serial device, empty char device
- dict(device='pci-serial-4x', expected=True), # Can't create
serial device, empty char device
- dict(device='pxa2xx-dma', expected=True), # channels value
invalid
- dict(device='pxb', expected=True), # Bridge chassis
not specified. Each bridge is required to be assigned a unique chassis id > 0.
- dict(device='scsi-block', expected=True), # drive property
not set
- dict(device='scsi-disk', expected=True), # drive property
not set
- dict(device='scsi-generic', expected=True), # drive property
not set
- dict(device='scsi-hd', expected=True), # drive property
not set
- dict(device='spapr-pci-host-bridge', expected=True), # BUID not
specified for PHB
- dict(device='spapr-pci-vfio-host-bridge', expected=True), # BUID not
specified for PHB
- dict(device='spapr-rng', expected=True), # spapr-rng needs
an RNG backend!
- dict(device='spapr-vty', expected=True), # chardev property
not set
- dict(device='tpm-tis', expected=True), # tpm_tis: backend
driver with id (null) could not be found
- dict(device='unimplemented-device', expected=True), # property 'size'
not specified or zero
- dict(device='usb-braille', expected=True), # Property chardev
is required
- dict(device='usb-mtp', expected=True), # x-root property
must be configured
- dict(device='usb-redir', expected=True), # Parameter
'chardev' is missing
- dict(device='usb-serial', expected=True), # Property chardev
is required
- dict(device='usb-storage', expected=True), # drive property
not set
- dict(device='vfio-amd-xgbe', expected=True), # -device
vfio-amd-xgbe: vfio error: wrong host device name
- dict(device='vfio-calxeda-xgmac', expected=True), # -device
vfio-calxeda-xgmac: vfio error: wrong host device name
- dict(device='vfio-pci', expected=True), # No provided host
device
- dict(device='vfio-pci-igd-lpc-bridge', expected=True), # VFIO dummy
ISA/LPC bridge must have address 1f.0
- dict(device='vhost-scsi.*', expected=True), # vhost-scsi:
missing wwpn
- dict(device='vhost-vsock-device', expected=True), # guest-cid
property must be greater than 2
- dict(device='vhost-vsock-pci', expected=True), # guest-cid
property must be greater than 2
- dict(device='virtio-9p-ccw', expected=True), # 9pfs device
couldn't find fsdev with the id = NULL
- dict(device='virtio-9p-device', expected=True), # 9pfs device
couldn't find fsdev with the id = NULL
- dict(device='virtio-9p-pci', expected=True), # 9pfs device
couldn't find fsdev with the id = NULL
- dict(device='virtio-blk-ccw', expected=True), # drive property
not set
- dict(device='virtio-blk-device', expected=True), # drive property
not set
- dict(device='virtio-blk-device', expected=True), # drive property
not set
- dict(device='virtio-blk-pci', expected=True), # drive property
not set
- dict(device='virtio-crypto-ccw', expected=True), # 'cryptodev'
parameter expects a valid object
- dict(device='virtio-crypto-device', expected=True), # 'cryptodev'
parameter expects a valid object
- dict(device='virtio-crypto-pci', expected=True), # 'cryptodev'
parameter expects a valid object
- dict(device='virtio-input-host-device', expected=True), # evdev property
is required
- dict(device='virtio-input-host-pci', expected=True), # evdev property is
required
- dict(device='xen-pvdevice', expected=True), # Device ID
invalid, it must always be supplied
- dict(device='vhost-vsock-ccw', expected=True), # guest-cid
property must be greater than 2
- dict(device='ALTR.timer', expected=True), # "clock-frequency"
property must be provided
- dict(device='zpci', expected=True), # target must be
defined
- dict(device='pnv-(occ|icp|lpc)', expected=True), # required link
'xics' not found: Property '.xics' not found
- dict(device='powernv-cpu-.*', expected=True), # pnv_core_realize:
required link 'xics' not found: Property '.xics' not found
+ {'device':'ide-cd'}, # No drive specified
+ {'device':'ide-drive', 'expected':True}, # No drive specified
+ {'device':'ide-hd', 'expected':True}, # No drive specified
+ {'device':'ipmi-bmc-extern', 'expected':True}, # IPMI external bmc
requires chardev attribute
+ {'device':'isa-debugcon', 'expected':True}, # Can't create
serial device, empty char device
+ {'device':'isa-ipmi-bt', 'expected':True}, # IPMI device
requires a bmc attribute to be set
+ {'device':'isa-ipmi-kcs', 'expected':True}, # IPMI device
requires a bmc attribute to be set
+ {'device':'isa-parallel', 'expected':True}, # Can't create
serial device, empty char device
+ {'device':'isa-serial', 'expected':True}, # Can't create
serial device, empty char device
+ {'device':'ivshmem', 'expected':True}, # You must specify
either 'shm' or 'chardev'
+ {'device':'ivshmem-doorbell', 'expected':True}, # You must specify
a 'chardev'
+ {'device':'ivshmem-plain', 'expected':True}, # You must specify
a 'memdev'
+ {'device':'kvm-pci-assign', 'expected':True}, # no host device
specified
+ {'device':'loader', 'expected':True}, # please include
valid arguments
+ {'device':'nand', 'expected':True}, # Unsupported NAND
block size 0x1
+ {'device':'nvdimm', 'expected':True}, # 'memdev' property
is not set
+ {'device':'nvme', 'expected':True}, # Device
initialization failed
+ {'device':'pc-dimm', 'expected':True}, # 'memdev' property
is not set
+ {'device':'pci-bridge', 'expected':True}, # Bridge chassis
not specified. Each bridge is required to be assigned a unique chassis id > 0.
+ {'device':'pci-bridge-seat', 'expected':True}, # Bridge chassis
not specified. Each bridge is required to be assigned a unique chassis id > 0.
+ {'device':'pci-serial', 'expected':True}, # Can't create
serial device, empty char device
+ {'device':'pci-serial-2x', 'expected':True}, # Can't create
serial device, empty char device
+ {'device':'pci-serial-4x', 'expected':True}, # Can't create
serial device, empty char device
+ {'device':'pxa2xx-dma', 'expected':True}, # channels value
invalid
+ {'device':'pxb', 'expected':True}, # Bridge chassis
not specified. Each bridge is required to be assigned a unique chassis id > 0.
+ {'device':'scsi-block', 'expected':True}, # drive property
not set
+ {'device':'scsi-disk', 'expected':True}, # drive property
not set
+ {'device':'scsi-generic', 'expected':True}, # drive property
not set
+ {'device':'scsi-hd', 'expected':True}, # drive property
not set
+ {'device':'spapr-pci-host-bridge', 'expected':True}, # BUID not
specified for PHB
+ {'device':'spapr-pci-vfio-host-bridge', 'expected':True}, # BUID not
specified for PHB
+ {'device':'spapr-rng', 'expected':True}, # spapr-rng needs
an RNG backend!
+ {'device':'spapr-vty', 'expected':True}, # chardev property
not set
+ {'device':'tpm-tis', 'expected':True}, # tpm_tis: backend
driver with id (null) could not be found
+ {'device':'unimplemented-device', 'expected':True}, # property 'size'
not specified or zero
+ {'device':'usb-braille', 'expected':True}, # Property chardev
is required
+ {'device':'usb-mtp', 'expected':True}, # x-root property
must be configured
+ {'device':'usb-redir', 'expected':True}, # Parameter
'chardev' is missing
+ {'device':'usb-serial', 'expected':True}, # Property chardev
is required
+ {'device':'usb-storage', 'expected':True}, # drive property
not set
+ {'device':'vfio-amd-xgbe', 'expected':True}, # -device
vfio-amd-xgbe: vfio error: wrong host device name
+ {'device':'vfio-calxeda-xgmac', 'expected':True}, # -device
vfio-calxeda-xgmac: vfio error: wrong host device name
+ {'device':'vfio-pci', 'expected':True}, # No provided host
device
+ {'device':'vfio-pci-igd-lpc-bridge', 'expected':True}, # VFIO dummy
ISA/LPC bridge must have address 1f.0
+ {'device':'vhost-scsi.*', 'expected':True}, # vhost-scsi:
missing wwpn
+ {'device':'vhost-vsock-device', 'expected':True}, # guest-cid
property must be greater than 2
+ {'device':'vhost-vsock-pci', 'expected':True}, # guest-cid
property must be greater than 2
+ {'device':'virtio-9p-ccw', 'expected':True}, # 9pfs device
couldn't find fsdev with the id = NULL
+ {'device':'virtio-9p-device', 'expected':True}, # 9pfs device
couldn't find fsdev with the id = NULL
+ {'device':'virtio-9p-pci', 'expected':True}, # 9pfs device
couldn't find fsdev with the id = NULL
+ {'device':'virtio-blk-ccw', 'expected':True}, # drive property
not set
+ {'device':'virtio-blk-device', 'expected':True}, # drive property
not set
+ {'device':'virtio-blk-device', 'expected':True}, # drive property
not set
+ {'device':'virtio-blk-pci', 'expected':True}, # drive property
not set
+ {'device':'virtio-crypto-ccw', 'expected':True}, # 'cryptodev'
parameter expects a valid object
+ {'device':'virtio-crypto-device', 'expected':True}, # 'cryptodev'
parameter expects a valid object
+ {'device':'virtio-crypto-pci', 'expected':True}, # 'cryptodev'
parameter expects a valid object
+ {'device':'virtio-input-host-device', 'expected':True}, # evdev property
is required
+ {'device':'virtio-input-host-pci', 'expected':True}, # evdev property is
required
+ {'device':'xen-pvdevice', 'expected':True}, # Device ID
invalid, it must always be supplied
+ {'device':'vhost-vsock-ccw', 'expected':True}, # guest-cid
property must be greater than 2
+ {'device':'ALTR.timer', 'expected':True}, # "clock-frequency"
property must be provided
+ {'device':'zpci', 'expected':True}, # target must be
defined
+ {'device':'pnv-(occ|icp|lpc)', 'expected':True}, # required link
'xics' not found: Property '.xics' not found
+ {'device':'powernv-cpu-.*', 'expected':True}, # pnv_core_realize:
required link 'xics' not found: Property '.xics' not found
# ioapic devices are already created by pc and will fail:
- dict(machine='q35|pc.*', device='kvm-ioapic', expected=True), # Only 1
ioapics allowed
- dict(machine='q35|pc.*', device='ioapic', expected=True), # Only 1
ioapics allowed
+ {'machine':'q35|pc.*', 'device':'kvm-ioapic', 'expected':True}, # Only 1
ioapics allowed
+ {'machine':'q35|pc.*', 'device':'ioapic', 'expected':True}, # Only 1
ioapics allowed
# KVM-specific devices shouldn't be tried without accel=kvm:
- dict(accel='(?!kvm).*', device='kvmclock', expected=True),
- dict(accel='(?!kvm).*', device='kvm-pci-assign', expected=True),
+ {'accel':'(?!kvm).*', 'device':'kvmclock', 'expected':True},
+ {'accel':'(?!kvm).*', 'device':'kvm-pci-assign', 'expected':True},
# xen-specific machines and devices:
- dict(accel='(?!xen).*', machine='xen.*', expected=True),
- dict(accel='(?!xen).*', device='xen-.*', expected=True),
+ {'accel':'(?!xen).*', 'machine':'xen.*', 'expected':True},
+ {'accel':'(?!xen).*', 'device':'xen-.*', 'expected':True},
# this fails on some machine-types, but not all, so they don't have
expected=True:
- dict(device='vmgenid'), # vmgenid requires DMA write support in fw_cfg,
which this machine type does not provide
+ {'device':'vmgenid'}, # vmgenid requires DMA write support in fw_cfg,
which this machine type does not provide
# Silence INFO messages for errors that are common on multiple
# devices/machines:
- dict(log=r"No '[\w-]+' bus found for device '[\w-]+'"),
- dict(log=r"images* must be given with the 'pflash' parameter"),
- dict(log=r"(Guest|ROM|Flash|Kernel) image must be specified"),
- dict(log=r"[cC]ould not load [\w ]+ (BIOS|bios) '[\w-]+\.bin'"),
- dict(log=r"Couldn't find rom image '[\w-]+\.bin'"),
- dict(log=r"speed mismatch trying to attach usb device"),
- dict(log=r"Can't create a second ISA bus"),
- dict(log=r"duplicate fw_cfg file name"),
+ {'log':r"No '[\w-]+' bus found for device '[\w-]+'"},
+ {'log':r"images* must be given with the 'pflash' parameter"},
+ {'log':r"(Guest|ROM|Flash|Kernel) image must be specified"},
+ {'log':r"[cC]ould not load [\w ]+ (BIOS|bios) '[\w-]+\.bin'"},
+ {'log':r"Couldn't find rom image '[\w-]+\.bin'"},
+ {'log':r"speed mismatch trying to attach usb device"},
+ {'log':r"Can't create a second ISA bus"},
+ {'log':r"duplicate fw_cfg file name"},
# sysbus-related error messages: most machines reject most dynamic sysbus
devices:
- dict(log=r"Option '-device [\w.,-]+' cannot be handled by this machine"),
- dict(log=r"Device [\w.,-]+ is not supported by this machine yet"),
- dict(log=r"Device [\w.,-]+ can not be dynamically instantiated"),
- dict(log=r"Platform Bus: Can not fit MMIO region of size "),
+ {'log':r"Option '-device [\w.,-]+' cannot be handled by this machine"},
+ {'log':r"Device [\w.,-]+ is not supported by this machine yet"},
+ {'log':r"Device [\w.,-]+ can not be dynamically instantiated"},
+ {'log':r"Platform Bus: Can not fit MMIO region of size "},
# other more specific errors we will ignore:
- dict(device='allwinner-a10', log="Unsupported NIC model:"),
- dict(device='.*-spapr-cpu-core', log=r"CPU core type should be"),
- dict(log=r"MSI(-X)? is not supported by interrupt controller"),
- dict(log=r"pxb-pcie? devices cannot reside on a PCIe? bus"),
- dict(log=r"Ignoring smp_cpus value"),
- dict(log=r"sd_init failed: Drive 'sd0' is already in use because it has
been automatically connected to another device"),
- dict(log=r"This CPU requires a smaller page size than the system is
using"),
- dict(log=r"MSI-X support is mandatory in the S390 architecture"),
- dict(log=r"rom check and register reset failed"),
- dict(log=r"Unable to initialize GIC, CPUState for CPU#0 not valid"),
- dict(log=r"Multiple VT220 operator consoles are not supported"),
- dict(log=r"core 0 already populated"),
- dict(log=r"could not find stage1 bootloader"),
+ {'device':'allwinner-a10', 'log':"Unsupported NIC model:"},
+ {'device':'.*-spapr-cpu-core', 'log':r"CPU core type should be"},
+ {'log':r"MSI(-X)? is not supported by interrupt controller"},
+ {'log':r"pxb-pcie? devices cannot reside on a PCIe? bus"},
+ {'log':r"Ignoring smp_cpus value"},
+ {'log':r"sd_init failed: Drive 'sd0' is already in use because it has been
automatically connected to another device"},
+ {'log':r"This CPU requires a smaller page size than the system is using"},
+ {'log':r"MSI-X support is mandatory in the S390 architecture"},
+ {'log':r"rom check and register reset failed"},
+ {'log':r"Unable to initialize GIC, CPUState for CPU#0 not valid"},
+ {'log':r"Multiple VT220 operator consoles are not supported"},
+ {'log':r"core 0 already populated"},
+ {'log':r"could not find stage1 bootloader"},
# other exitcode=1 failures not listed above will just generate INFO
messages:
- dict(exitcode=1, loglevel=logging.INFO),
+ {'exitcode':1, 'loglevel':logging.INFO},
# KNOWN CRASHES:
# Known crashes will generate error messages, but won't be fatal.
# Those entries must be removed once we fix the crashes.
- dict(exitcode=-6, log=r"Device 'serial0' is in use",
loglevel=logging.ERROR),
- dict(exitcode=-6, log=r"spapr_rtas_register: Assertion
.*rtas_table\[token\]\.name.* failed", loglevel=logging.ERROR),
- dict(exitcode=-6, log=r"qemu_net_client_setup: Assertion `!peer->peer'
failed", loglevel=logging.ERROR),
- dict(exitcode=-6, log=r'RAMBlock "[\w.-]+" already registered',
loglevel=logging.ERROR),
- dict(exitcode=-6, log=r"find_ram_offset: Assertion `size != 0' failed.",
loglevel=logging.ERROR),
- dict(exitcode=-6, log=r"puv3_load_kernel: Assertion `kernel_filename !=
NULL' failed", loglevel=logging.ERROR),
- dict(exitcode=-6, log=r"add_cpreg_to_hashtable: code should not be
reached", loglevel=logging.ERROR),
- dict(exitcode=-6, log=r"qemu_alloc_display: Assertion `surface->image !=
NULL' failed", loglevel=logging.ERROR),
- dict(exitcode=-6, log=r"Unexpected error in
error_set_from_qdev_prop_error", loglevel=logging.ERROR),
- dict(exitcode=-6, log=r"Object .* is not an instance of type
spapr-machine", loglevel=logging.ERROR),
- dict(exitcode=-6, log=r"Object .* is not an instance of type
generic-pc-machine", loglevel=logging.ERROR),
- dict(exitcode=-6, log=r"Object .* is not an instance of type e500-ccsr",
loglevel=logging.ERROR),
- dict(exitcode=-6, log=r"vmstate_register_with_alias_id: Assertion
`!se->compat || se->instance_id == 0' failed", loglevel=logging.ERROR),
- dict(exitcode=-11, device='stm32f205-soc', loglevel=logging.ERROR,
expected=True),
- dict(exitcode=-11, device='xlnx,zynqmp', loglevel=logging.ERROR,
expected=True),
- dict(exitcode=-11, device='mips-cps', loglevel=logging.ERROR,
expected=True),
- dict(exitcode=-11, device='gus', loglevel=logging.ERROR, expected=True),
- dict(exitcode=-11, device='a9mpcore_priv', loglevel=logging.ERROR,
expected=True),
- dict(exitcode=-11, device='a15mpcore_priv', loglevel=logging.ERROR,
expected=True),
- dict(exitcode=-11, device='isa-serial', loglevel=logging.ERROR,
expected=True),
- dict(exitcode=-11, device='sb16', loglevel=logging.ERROR, expected=True),
- dict(exitcode=-11, device='cs4231a', loglevel=logging.ERROR,
expected=True),
- dict(exitcode=-11, device='arm-gicv3', loglevel=logging.ERROR,
expected=True),
- dict(exitcode=-11, machine='isapc', device='.*-iommu',
loglevel=logging.ERROR, expected=True),
+ {'exitcode':-6, 'log':r"Device 'serial0' is in use",
'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r"spapr_rtas_register: Assertion
.*rtas_table\[token\]\.name.* failed", 'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r"qemu_net_client_setup: Assertion `!peer->peer'
failed", 'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r'RAMBlock "[\w.-]+" already registered',
'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r"find_ram_offset: Assertion `size != 0' failed.",
'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r"puv3_load_kernel: Assertion `kernel_filename !=
NULL' failed", 'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r"add_cpreg_to_hashtable: code should not be
reached", 'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r"qemu_alloc_display: Assertion `surface->image !=
NULL' failed", 'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r"Unexpected error in
error_set_from_qdev_prop_error", 'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r"Object .* is not an instance of type
spapr-machine", 'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r"Object .* is not an instance of type
generic-pc-machine", 'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r"Object .* is not an instance of type e500-ccsr",
'loglevel':logging.ERROR},
+ {'exitcode':-6, 'log':r"vmstate_register_with_alias_id: Assertion
`!se->compat || se->instance_id == 0' failed", 'loglevel':logging.ERROR},
+ {'exitcode':-11, 'device':'stm32f205-soc', 'loglevel':logging.ERROR,
'expected':True},
+ {'exitcode':-11, 'device':'xlnx,zynqmp', 'loglevel':logging.ERROR,
'expected':True},
+ {'exitcode':-11, 'device':'mips-cps', 'loglevel':logging.ERROR,
'expected':True},
+ {'exitcode':-11, 'device':'gus', 'loglevel':logging.ERROR,
'expected':True},
+ {'exitcode':-11, 'device':'a9mpcore_priv', 'loglevel':logging.ERROR,
'expected':True},
+ {'exitcode':-11, 'device':'a15mpcore_priv', 'loglevel':logging.ERROR,
'expected':True},
+ {'exitcode':-11, 'device':'isa-serial', 'loglevel':logging.ERROR,
'expected':True},
+ {'exitcode':-11, 'device':'sb16', 'loglevel':logging.ERROR,
'expected':True},
+ {'exitcode':-11, 'device':'cs4231a', 'loglevel':logging.ERROR,
'expected':True},
+ {'exitcode':-11, 'device':'arm-gicv3', 'loglevel':logging.ERROR,
'expected':True},
+ {'exitcode':-11, 'machine':'isapc', 'device':'.*-iommu',
'loglevel':logging.ERROR, 'expected':True},
# everything else (including SIGABRT and SIGSEGV) will be a fatal error:
- dict(exitcode=None, fatal=True, loglevel=logging.FATAL),
+ {'exitcode':None, 'fatal':True, 'loglevel':logging.FATAL},
]
@@ -423,11 +423,11 @@ def checkOneCase(args, testcase):
log = vm.get_log()
if exc_traceback is not None or ec != 0:
- return dict(exc_traceback=exc_traceback,
- exitcode=ec,
- log=log,
- testcase=testcase,
- cmdline=cmdline)
+ return {'exc_traceback':exc_traceback,
+ 'exitcode':ec,
+ 'log':log,
+ 'testcase':testcase,
+ 'cmdline':cmdline}
def binariesToTest(args, testcase):
--
Eduardo
Re: [Qemu-devel] [PATCH v2 0/3] script for crash-testing -device, no-reply, 2017/05/13