scripts/device-crash-test.py | 520 +++++++++++++++++++++++++++++++++++++++++++ scripts/qemu.py | 16 +- 2 files changed, 531 insertions(+), 5 deletions(-) create mode 100755 scripts/device-crash-test.py
Changes v1 -> v2: * Use a simpler method to query QEMU exit code in qemu.py * Use only qemu.py module, instead of qtest.py * New whitelist entries: * "could not find stage1 bootloader" * Segfaults when using devices: a15mpcore_priv, sb16, cs4231a, arm-gicv3 * Format "success" line using formatTestCase(), and using DEBUG loglevel * Reword "test case:" line with "running test case:", for clarity * Fix "pc-.*" whitelist to include "q35" too * Add --devtype option to test only a specific device type * Send all log messages to stdout instead of stderr * Avoid printing "obsolete whitelist entry?" messages if we know we are not testing every single accel/machine/device combination * --quick mode, to skip cases where failures are always expected, and to print a warning in case we don't get an expected failure * Use qemu.QEMUMachine instead of qtest.QEMUQtestMachine, as we don't use any of the QEMUQtestMachine features * Fix handling of multiple '-t' options * Simplify code that generate random sample of test cases This series adds scripts/device-crashtest.py, that can be used to crash-test -device with multiple machine/accel/device combinations. The script found a few crashes on some machines/devices. A dump of existing cases can be seen here: https://gist.github.com/ehabkost/503b0af0375f0d98d3e84017e8ca54eb The script contains a whitelist that can also be useful as documentation of existing ways -device can fail or crash. Note that the script takes a few hours to run on the default mode (testing all accel/machine/device combinations), but the "-r N" option can be used to make it only test N random samples. Example script output: $ ../scripts/device-crash-test.py -v --shuffle INFO: test case: machine=verdex binary=./aarch64-softmmu/qemu-system-aarch64 device=exynos4210-ehci-usb accel=tcg INFO: test case: machine=none binary=./aarch64-softmmu/qemu-system-aarch64 device=onenand accel=tcg INFO: test case: machine=pc-i440fx-2.2 binary=./x86_64-softmmu/qemu-system-x86_64 device=ide-cd accel=kvm INFO: success: ./x86_64-softmmu/qemu-system-x86_64 -S -machine pc-i440fx-2.2,accel=kvm -device ide-cd INFO: test case: machine=SPARCClassic binary=./sparc-softmmu/qemu-system-sparc device=memory accel=tcg qemu received signal 6: -S -machine SPARCClassic,accel=tcg -device memory ERROR: failed: machine=SPARCClassic binary=./sparc-softmmu/qemu-system-sparc device=memory accel=tcg ERROR: cmdline: ./sparc-softmmu/qemu-system-sparc -S -machine SPARCClassic,accel=tcg -device memory ERROR: log: qemu-system-sparc: /root/qemu-build/exec.c:1500: find_ram_offset: Assertion `size != 0' failed. ERROR: exit code: -6 INFO: test case: machine=romulus-bmc binary=./arm-softmmu/qemu-system-arm device=ich9-usb-uhci6 accel=tcg INFO: test case: machine=ref405ep binary=./ppc-softmmu/qemu-system-ppc device=ivshmem-doorbell accel=tcg INFO: test case: machine=romulus-bmc binary=./aarch64-softmmu/qemu-system-aarch64 device=l2x0 accel=tcg INFO: test case: machine=pc-i440fx-1.7 binary=./x86_64-softmmu/qemu-system-x86_64 device=virtio-input-host-pci accel=tcg INFO: test case: machine=none binary=./ppc-softmmu/qemu-system-ppc device=virtio-tablet-pci accel=tcg INFO: test case: machine=terrier binary=./aarch64-softmmu/qemu-system-aarch64 device=sst25vf016b accel=tcg INFO: success: ./aarch64-softmmu/qemu-system-aarch64 -S -machine terrier,accel=tcg -device sst25vf016b INFO: test case: machine=none binary=./i386-softmmu/qemu-system-i386 device=intel-iommu accel=kvm qemu received signal 6: -S -machine none,accel=kvm -device intel-iommu ERROR: failed: machine=none binary=./i386-softmmu/qemu-system-i386 device=intel-iommu accel=kvm ERROR: cmdline: ./i386-softmmu/qemu-system-i386 -S -machine none,accel=kvm -device intel-iommu ERROR: log: /root/qemu-build/hw/i386/intel_iommu.c:2565:vtd_realize: Object 0x7fe117fabfb0 is not an instance of type generic-pc-machine ERROR: exit code: -6 INFO: test case: machine=tosa binary=./aarch64-softmmu/qemu-system-aarch64 device=integrator_core accel=tcg INFO: test case: machine=isapc binary=./i386-softmmu/qemu-system-i386 device=i82550 accel=kvm INFO: test case: machine=xlnx-ep108 binary=./aarch64-softmmu/qemu-system-aarch64 device=digic accel=tcg qemu received signal 6: -S -machine xlnx-ep108,accel=tcg -device digic ERROR: failed: machine=xlnx-ep108 binary=./aarch64-softmmu/qemu-system-aarch64 device=digic accel=tcg ERROR: cmdline: ./aarch64-softmmu/qemu-system-aarch64 -S -machine xlnx-ep108,accel=tcg -device digic ERROR: log: audio: Could not init `oss' audio driver ERROR: log: Unexpected error in qemu_chr_fe_init() at /root/qemu-build/chardev/char.c:512: ERROR: log: qemu-system-aarch64: -device digic: Device 'serial0' is in use ERROR: exit code: -6 INFO: test case: machine=raspi2 binary=./arm-softmmu/qemu-system-arm device=sd-card accel=tcg INFO: success: ./arm-softmmu/qemu-system-arm -S -machine raspi2,accel=tcg -device sd-card [...] Eduardo Habkost (3): qemu.py: Don't set _popen=None on error/shutdown qemu.py: Add QEMUMachine.exitcode() method scripts: Test script to look for -device crashes scripts/device-crash-test.py | 520 +++++++++++++++++++++++++++++++++++++++++++ scripts/qemu.py | 16 +- 2 files changed, 531 insertions(+), 5 deletions(-) create mode 100755 scripts/device-crash-test.py -- 2.11.0.259.g40922b1
Hi,
This series seems to have some coding style problems. See output below for
more information:
Type: series
Message-id: 20170513033316.22395-1-ehabkost@redhat.com
Subject: [Qemu-devel] [PATCH v2 0/3] script for crash-testing -device
=== TEST SCRIPT BEGIN ===
#!/bin/bash
BASE=base
n=1
total=$(git log --oneline $BASE.. | wc -l)
failed=0
git config --local diff.renamelimit 0
git config --local diff.renames True
commits="$(git log --format=%H --reverse $BASE..)"
for c in $commits; do
echo "Checking PATCH $n/$total: $(git log -n 1 --format=%s $c)..."
if ! git show $c --format=email | ./scripts/checkpatch.pl --mailback -; then
failed=1
echo
fi
n=$((n+1))
done
exit $failed
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
Switched to a new branch 'test'
67ffc03 scripts: Test script to look for -device crashes
0be0012 qemu.py: Add QEMUMachine.exitcode() method
2dea278 qemu.py: Don't set _popen=None on error/shutdown
=== OUTPUT BEGIN ===
Checking PATCH 1/3: qemu.py: Don't set _popen=None on error/shutdown...
Checking PATCH 2/3: qemu.py: Add QEMUMachine.exitcode() method...
Checking PATCH 3/3: scripts: Test script to look for -device crashes...
WARNING: line over 80 characters
#82: FILE: scripts/device-crash-test.py:47:
+ dict(machine='niagara', expected=True), # Unable to load a firmware for -M niagara
ERROR: line over 90 characters
#83: FILE: scripts/device-crash-test.py:48:
+ dict(machine='boston', expected=True), # Please provide either a -kernel or -bios argument
ERROR: line over 90 characters
#86: FILE: scripts/device-crash-test.py:51:
+ # devices that don't work out of the box because they require extra options to "-device DEV":
WARNING: line over 80 characters
#88: FILE: scripts/device-crash-test.py:53:
+ dict(device='.*-(i386|x86_64)-cpu', expected=True), # CPU socket-id is not set
WARNING: line over 80 characters
#89: FILE: scripts/device-crash-test.py:54:
+ dict(device='ARM,bitband-memory', expected=True), # source-memory property not set
ERROR: line over 90 characters
#90: FILE: scripts/device-crash-test.py:55:
+ dict(device='arm.cortex-a9-global-timer', expected=True), # a9_gtimer_realize: num-cpu must be between 1 and 4
WARNING: line over 80 characters
#91: FILE: scripts/device-crash-test.py:56:
+ dict(device='arm_mptimer', expected=True), # num-cpu must be between 1 and 4
WARNING: line over 80 characters
#92: FILE: scripts/device-crash-test.py:57:
+ dict(device='armv7m', expected=True), # memory property was not set
WARNING: line over 80 characters
#93: FILE: scripts/device-crash-test.py:58:
+ dict(device='aspeed.scu', expected=True), # Unknown silicon revision: 0x0
WARNING: line over 80 characters
#94: FILE: scripts/device-crash-test.py:59:
+ dict(device='aspeed.sdmc', expected=True), # Unknown silicon revision: 0x0
ERROR: line over 90 characters
#95: FILE: scripts/device-crash-test.py:60:
+ dict(device='bcm2835-dma', expected=True), # bcm2835_dma_realize: required dma-mr link not found: Property '.dma-mr' not found
ERROR: line over 90 characters
#96: FILE: scripts/device-crash-test.py:61:
+ dict(device='bcm2835-fb', expected=True), # bcm2835_fb_realize: required vcram-base property not set
ERROR: line over 90 characters
#97: FILE: scripts/device-crash-test.py:62:
+ dict(device='bcm2835-mbox', expected=True), # bcm2835_mbox_realize: required mbox-mr link not found: Property '.mbox-mr' not found
ERROR: line over 90 characters
#98: FILE: scripts/device-crash-test.py:63:
+ dict(device='bcm2835-peripherals', expected=True), # bcm2835_peripherals_realize: required ram link not found: Property '.ram' not found
ERROR: line over 90 characters
#99: FILE: scripts/device-crash-test.py:64:
+ dict(device='bcm2835-property', expected=True), # bcm2835_property_realize: required fb link not found: Property '.fb' not found
ERROR: line over 90 characters
#100: FILE: scripts/device-crash-test.py:65:
+ dict(device='bcm2835_gpio', expected=True), # bcm2835_gpio_realize: required sdhci link not found: Property '.sdbus-sdhci' not found
ERROR: line over 90 characters
#101: FILE: scripts/device-crash-test.py:66:
+ dict(device='bcm2836', expected=True), # bcm2836_realize: required ram link not found: Property '.ram' not found
ERROR: line over 90 characters
#102: FILE: scripts/device-crash-test.py:67:
+ dict(device='cfi.pflash01', expected=True), # attribute "sector-length" not specified or zero.
ERROR: line over 90 characters
#103: FILE: scripts/device-crash-test.py:68:
+ dict(device='cfi.pflash02', expected=True), # attribute "sector-length" not specified or zero.
ERROR: line over 90 characters
#104: FILE: scripts/device-crash-test.py:69:
+ dict(device='icp', expected=True), # icp_realize: required link 'xics' not found: Property '.xics' not found
ERROR: line over 90 characters
#105: FILE: scripts/device-crash-test.py:70:
+ dict(device='ics', expected=True), # ics_base_realize: required link 'xics' not found: Property '.xics' not found
ERROR: line over 90 characters
#108: FILE: scripts/device-crash-test.py:73:
+ dict(device='ipmi-bmc-extern', expected=True), # IPMI external bmc requires chardev attribute
ERROR: line over 90 characters
#109: FILE: scripts/device-crash-test.py:74:
+ dict(device='isa-debugcon', expected=True), # Can't create serial device, empty char device
ERROR: line over 90 characters
#110: FILE: scripts/device-crash-test.py:75:
+ dict(device='isa-ipmi-bt', expected=True), # IPMI device requires a bmc attribute to be set
ERROR: line over 90 characters
#111: FILE: scripts/device-crash-test.py:76:
+ dict(device='isa-ipmi-kcs', expected=True), # IPMI device requires a bmc attribute to be set
ERROR: line over 90 characters
#112: FILE: scripts/device-crash-test.py:77:
+ dict(device='isa-parallel', expected=True), # Can't create serial device, empty char device
ERROR: line over 90 characters
#113: FILE: scripts/device-crash-test.py:78:
+ dict(device='isa-serial', expected=True), # Can't create serial device, empty char device
ERROR: line over 90 characters
#114: FILE: scripts/device-crash-test.py:79:
+ dict(device='ivshmem', expected=True), # You must specify either 'shm' or 'chardev'
WARNING: line over 80 characters
#115: FILE: scripts/device-crash-test.py:80:
+ dict(device='ivshmem-doorbell', expected=True), # You must specify a 'chardev'
WARNING: line over 80 characters
#116: FILE: scripts/device-crash-test.py:81:
+ dict(device='ivshmem-plain', expected=True), # You must specify a 'memdev'
WARNING: line over 80 characters
#117: FILE: scripts/device-crash-test.py:82:
+ dict(device='kvm-pci-assign', expected=True), # no host device specified
WARNING: line over 80 characters
#118: FILE: scripts/device-crash-test.py:83:
+ dict(device='loader', expected=True), # please include valid arguments
ERROR: line over 90 characters
#119: FILE: scripts/device-crash-test.py:84:
+ dict(device='nand', expected=True), #' Unsupported NAND block size 0x1
WARNING: line over 80 characters
#120: FILE: scripts/device-crash-test.py:85:
+ dict(device='nvdimm', expected=True), # 'memdev' property is not set
WARNING: line over 80 characters
#121: FILE: scripts/device-crash-test.py:86:
+ dict(device='nvme', expected=True), # Device initialization failed
WARNING: line over 80 characters
#122: FILE: scripts/device-crash-test.py:87:
+ dict(device='pc-dimm', expected=True), # 'memdev' property is not set
ERROR: line over 90 characters
#123: FILE: scripts/device-crash-test.py:88:
+ dict(device='pci-bridge', expected=True), # Bridge chassis not specified. Each bridge is required to be assigned a unique chassis id > 0.
ERROR: line over 90 characters
#124: FILE: scripts/device-crash-test.py:89:
+ dict(device='pci-bridge-seat', expected=True), # Bridge chassis not specified. Each bridge is required to be assigned a unique chassis id > 0.
ERROR: line over 90 characters
#125: FILE: scripts/device-crash-test.py:90:
+ dict(device='pci-serial', expected=True), # Can't create serial device, empty char device
ERROR: line over 90 characters
#126: FILE: scripts/device-crash-test.py:91:
+ dict(device='pci-serial-2x', expected=True), # Can't create serial device, empty char device
ERROR: line over 90 characters
#127: FILE: scripts/device-crash-test.py:92:
+ dict(device='pci-serial-4x', expected=True), # Can't create serial device, empty char device
WARNING: line over 80 characters
#128: FILE: scripts/device-crash-test.py:93:
+ dict(device='pxa2xx-dma', expected=True), # channels value invalid
ERROR: line over 90 characters
#129: FILE: scripts/device-crash-test.py:94:
+ dict(device='pxb', expected=True), # Bridge chassis not specified. Each bridge is required to be assigned a unique chassis id > 0.
WARNING: line over 80 characters
#130: FILE: scripts/device-crash-test.py:95:
+ dict(device='scsi-block', expected=True), # drive property not set
WARNING: line over 80 characters
#131: FILE: scripts/device-crash-test.py:96:
+ dict(device='scsi-disk', expected=True), # drive property not set
WARNING: line over 80 characters
#132: FILE: scripts/device-crash-test.py:97:
+ dict(device='scsi-generic', expected=True), # drive property not set
WARNING: line over 80 characters
#133: FILE: scripts/device-crash-test.py:98:
+ dict(device='scsi-hd', expected=True), # drive property not set
WARNING: line over 80 characters
#134: FILE: scripts/device-crash-test.py:99:
+ dict(device='spapr-pci-host-bridge', expected=True), # BUID not specified for PHB
WARNING: line over 80 characters
#135: FILE: scripts/device-crash-test.py:100:
+ dict(device='spapr-pci-vfio-host-bridge', expected=True), # BUID not specified for PHB
ERROR: line over 90 characters
#136: FILE: scripts/device-crash-test.py:101:
+ dict(device='spapr-rng', expected=True), #' spapr-rng needs an RNG backend!
WARNING: line over 80 characters
#137: FILE: scripts/device-crash-test.py:102:
+ dict(device='spapr-vty', expected=True), # chardev property not set
ERROR: line over 90 characters
#138: FILE: scripts/device-crash-test.py:103:
+ dict(device='tpm-tis', expected=True), # tpm_tis: backend driver with id (null) could not be found
ERROR: line over 90 characters
#139: FILE: scripts/device-crash-test.py:104:
+ dict(device='unimplemented-device', expected=True), # property 'size' not specified or zero
WARNING: line over 80 characters
#140: FILE: scripts/device-crash-test.py:105:
+ dict(device='usb-braille', expected=True), # Property chardev is required
ERROR: line over 90 characters
#141: FILE: scripts/device-crash-test.py:106:
+ dict(device='usb-mtp', expected=True), # x-root property must be configured
WARNING: line over 80 characters
#142: FILE: scripts/device-crash-test.py:107:
+ dict(device='usb-redir', expected=True), # Parameter 'chardev' is missing
WARNING: line over 80 characters
#143: FILE: scripts/device-crash-test.py:108:
+ dict(device='usb-serial', expected=True), # Property chardev is required
WARNING: line over 80 characters
#144: FILE: scripts/device-crash-test.py:109:
+ dict(device='usb-storage', expected=True), # drive property not set
ERROR: line over 90 characters
#145: FILE: scripts/device-crash-test.py:110:
+ dict(device='vfio-amd-xgbe', expected=True), # -device vfio-amd-xgbe: vfio error: wrong host device name
ERROR: line over 90 characters
#146: FILE: scripts/device-crash-test.py:111:
+ dict(device='vfio-calxeda-xgmac', expected=True), # -device vfio-calxeda-xgmac: vfio error: wrong host device name
WARNING: line over 80 characters
#147: FILE: scripts/device-crash-test.py:112:
+ dict(device='vfio-pci', expected=True), # No provided host device
ERROR: line over 90 characters
#148: FILE: scripts/device-crash-test.py:113:
+ dict(device='vfio-pci-igd-lpc-bridge', expected=True), # VFIO dummy ISA/LPC bridge must have address 1f.0
WARNING: line over 80 characters
#149: FILE: scripts/device-crash-test.py:114:
+ dict(device='vhost-scsi.*', expected=True), # vhost-scsi: missing wwpn
ERROR: line over 90 characters
#150: FILE: scripts/device-crash-test.py:115:
+ dict(device='vhost-vsock-device', expected=True), # guest-cid property must be greater than 2
ERROR: line over 90 characters
#151: FILE: scripts/device-crash-test.py:116:
+ dict(device='vhost-vsock-pci', expected=True), # guest-cid property must be greater than 2
ERROR: line over 90 characters
#152: FILE: scripts/device-crash-test.py:117:
+ dict(device='virtio-9p-ccw', expected=True), # 9pfs device couldn't find fsdev with the id = NULL
ERROR: line over 90 characters
#153: FILE: scripts/device-crash-test.py:118:
+ dict(device='virtio-9p-device', expected=True), # 9pfs device couldn't find fsdev with the id = NULL
ERROR: line over 90 characters
#154: FILE: scripts/device-crash-test.py:119:
+ dict(device='virtio-9p-pci', expected=True), # 9pfs device couldn't find fsdev with the id = NULL
WARNING: line over 80 characters
#155: FILE: scripts/device-crash-test.py:120:
+ dict(device='virtio-blk-ccw', expected=True), # drive property not set
WARNING: line over 80 characters
#156: FILE: scripts/device-crash-test.py:121:
+ dict(device='virtio-blk-device', expected=True), # drive property not set
WARNING: line over 80 characters
#157: FILE: scripts/device-crash-test.py:122:
+ dict(device='virtio-blk-device', expected=True), # drive property not set
WARNING: line over 80 characters
#158: FILE: scripts/device-crash-test.py:123:
+ dict(device='virtio-blk-pci', expected=True), # drive property not set
ERROR: line over 90 characters
#159: FILE: scripts/device-crash-test.py:124:
+ dict(device='virtio-crypto-ccw', expected=True), # 'cryptodev' parameter expects a valid object
ERROR: line over 90 characters
#160: FILE: scripts/device-crash-test.py:125:
+ dict(device='virtio-crypto-device', expected=True), # 'cryptodev' parameter expects a valid object
ERROR: line over 90 characters
#161: FILE: scripts/device-crash-test.py:126:
+ dict(device='virtio-crypto-pci', expected=True), # 'cryptodev' parameter expects a valid object
WARNING: line over 80 characters
#162: FILE: scripts/device-crash-test.py:127:
+ dict(device='virtio-input-host-device', expected=True), # evdev property is required
WARNING: line over 80 characters
#163: FILE: scripts/device-crash-test.py:128:
+ dict(device='virtio-input-host-pci', expected=True), # evdev property is required
ERROR: line over 90 characters
#164: FILE: scripts/device-crash-test.py:129:
+ dict(device='xen-pvdevice', expected=True), # Device ID invalid, it must always be supplied
ERROR: line over 90 characters
#165: FILE: scripts/device-crash-test.py:130:
+ dict(device='vhost-vsock-ccw', expected=True), # guest-cid property must be greater than 2
ERROR: line over 90 characters
#166: FILE: scripts/device-crash-test.py:131:
+ dict(device='ALTR.timer', expected=True), # "clock-frequency" property must be provided
WARNING: line over 80 characters
#167: FILE: scripts/device-crash-test.py:132:
+ dict(device='zpci', expected=True), # target must be defined
WARNING: line over 80 characters
#170: FILE: scripts/device-crash-test.py:135:
+ dict(machine='q35|pc.*', device='kvm-ioapic', expected=True), # Only 1 ioapics allowed
WARNING: line over 80 characters
#171: FILE: scripts/device-crash-test.py:136:
+ dict(machine='q35|pc.*', device='ioapic', expected=True), # Only 1 ioapics allowed
ERROR: line over 90 characters
#184: FILE: scripts/device-crash-test.py:149:
+ dict(exitcode=-6, log=r"spapr_rtas_register: Assertion .*rtas_table\[token\]\.name.* failed", loglevel=logging.ERROR),
ERROR: line over 90 characters
#185: FILE: scripts/device-crash-test.py:150:
+ dict(exitcode=-6, log=r"qemu_net_client_setup: Assertion `!peer->peer' failed", loglevel=logging.ERROR),
WARNING: line over 80 characters
#186: FILE: scripts/device-crash-test.py:151:
+ dict(exitcode=-6, log=r'RAMBlock "[\w.-]+" already registered', loglevel=logging.ERROR),
ERROR: line over 90 characters
#187: FILE: scripts/device-crash-test.py:152:
+ dict(exitcode=-6, log=r"find_ram_offset: Assertion `size != 0' failed.", loglevel=logging.ERROR),
ERROR: line over 90 characters
#188: FILE: scripts/device-crash-test.py:153:
+ dict(exitcode=-6, log=r"puv3_load_kernel: Assertion `kernel_filename != NULL' failed", loglevel=logging.ERROR),
ERROR: line over 90 characters
#189: FILE: scripts/device-crash-test.py:154:
+ dict(exitcode=-6, log=r"add_cpreg_to_hashtable: code should not be reached", loglevel=logging.ERROR),
ERROR: line over 90 characters
#190: FILE: scripts/device-crash-test.py:155:
+ dict(exitcode=-6, log=r"qemu_alloc_display: Assertion `surface->image != NULL' failed", loglevel=logging.ERROR),
ERROR: line over 90 characters
#191: FILE: scripts/device-crash-test.py:156:
+ dict(exitcode=-6, log=r"Unexpected error in error_set_from_qdev_prop_error", loglevel=logging.ERROR),
ERROR: line over 90 characters
#192: FILE: scripts/device-crash-test.py:157:
+ dict(exitcode=-6, log=r"Object .* is not an instance of type spapr-machine", loglevel=logging.ERROR),
ERROR: line over 90 characters
#193: FILE: scripts/device-crash-test.py:158:
+ dict(exitcode=-6, log=r"Object .* is not an instance of type generic-pc-machine", loglevel=logging.ERROR),
ERROR: line over 90 characters
#194: FILE: scripts/device-crash-test.py:159:
+ dict(exitcode=-6, log=r"Object .* is not an instance of type e500-ccsr", loglevel=logging.ERROR),
ERROR: line over 90 characters
#195: FILE: scripts/device-crash-test.py:160:
+ dict(exitcode=-6, log=r"vmstate_register_with_alias_id: Assertion `!se->compat || se->instance_id == 0' failed", loglevel=logging.ERROR),
WARNING: line over 80 characters
#196: FILE: scripts/device-crash-test.py:161:
+ dict(exitcode=-11, device='stm32f205-soc', loglevel=logging.ERROR, expected=True),
WARNING: line over 80 characters
#197: FILE: scripts/device-crash-test.py:162:
+ dict(exitcode=-11, device='xlnx,zynqmp', loglevel=logging.ERROR, expected=True),
WARNING: line over 80 characters
#200: FILE: scripts/device-crash-test.py:165:
+ dict(exitcode=-11, device='a9mpcore_priv', loglevel=logging.ERROR, expected=True),
WARNING: line over 80 characters
#201: FILE: scripts/device-crash-test.py:166:
+ dict(exitcode=-11, device='a15mpcore_priv', loglevel=logging.ERROR, expected=True),
WARNING: line over 80 characters
#202: FILE: scripts/device-crash-test.py:167:
+ dict(exitcode=-11, device='isa-serial', loglevel=logging.ERROR, expected=True),
ERROR: line over 90 characters
#206: FILE: scripts/device-crash-test.py:171:
+ dict(exitcode=-11, machine='isapc', device='.*-iommu', loglevel=logging.ERROR, expected=True),
WARNING: line over 80 characters
#217: FILE: scripts/device-crash-test.py:182:
+ # sysbus-related error messages: most machines reject most dynamic sysbus devices:
ERROR: line over 90 characters
#229: FILE: scripts/device-crash-test.py:194:
+ dict(log=r"sd_init failed: Drive 'sd0' is already in use because it has been automatically connected to another device"),
WARNING: line over 80 characters
#311: FILE: scripts/device-crash-test.py:276:
+ self.alldevs = set(qomListTypeNames(vm, implements=devtype, abstract=False))
WARNING: line over 80 characters
#312: FILE: scripts/device-crash-test.py:277:
+ # there's no way to query cannot_instantiate_with_device_add_yet using QMP,
WARNING: line over 80 characters
#314: FILE: scripts/device-crash-test.py:279:
+ self.no_user_devs = set([d['name'] for d in infoQDM(vm, ) if d['no-user']])
WARNING: line over 80 characters
#315: FILE: scripts/device-crash-test.py:280:
+ self.machines = list(m['name'] for m in vm.command('query-machines'))
WARNING: line over 80 characters
#467: FILE: scripts/device-crash-test.py:432:
+ help="Quick mode, skip test cases that are expected to fail")
WARNING: line over 80 characters
#478: FILE: scripts/device-crash-test.py:443:
+ logging.basicConfig(stream=sys.stdout, level=lvl, format='%(levelname)s: %(message)s')
total: 59 errors, 50 warnings, 520 lines checked
Your patch has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
=== OUTPUT END ===
Test command exited with code: 1
---
Email generated automatically by Patchew [http://patchew.org/].
Please send your feedback to patchew-devel@freelists.org
© 2016 - 2026 Red Hat, Inc.