QA output created by 067
Formatting 'TEST_DIR/t.IMGFMT', fmt=IMGFMT size=134217728

=== -drive/-device and device_del ===

Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,if=none,id=disk -device virtio-blk-pci,drive=disk,id=virtio0
{
    QMP_VERSION
}
{
    "return": {
    }
}
{
    "return": [
        {
            "io-status": "ok",
            "device": "disk",
            "locked": false,
            "removable": false,
            "inserted": {
                "iops_rd": 0,
                "detect_zeroes": "off",
                "image": {
                    "virtual-size": 134217728,
                    "filename": "TEST_DIR/t.qcow2",
                    "cluster-size": 65536,
                    "format": "qcow2",
                    "actual-size": SIZE,
                    "format-specific": {
                        "type": "qcow2",
                        "data": {
                            "compat": "1.1",
                            "lazy-refcounts": false,
                            "corrupt": false
                        }
                    },
                    "dirty-flag": false
                },
                "iops_wr": 0,
                "ro": false,
                "backing_file_depth": 0,
                "drv": "qcow2",
                "iops": 0,
                "bps_wr": 0,
                "write_threshold": 0,
                "encrypted": false,
                "bps": 0,
                "bps_rd": 0,
                "cache": {
                    "no-flush": false,
                    "direct": false,
                    "writeback": true
                },
                "file": "TEST_DIR/t.qcow2",
                "encryption_key_missing": false
            },
            "type": "unknown"
        },
        {
            "io-status": "ok",
            "device": "ide1-cd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "floppy0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "sd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        }
    ]
}
{
    "return": {
    }
}
{
    "return": {
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_DELETED",
    "data": {
        "path": "/machine/peripheral/virtio0/virtio-backend"
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_DELETED",
    "data": {
        "device": "virtio0",
        "path": "/machine/peripheral/virtio0"
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "RESET"
}
{
    "return": [
        {
            "io-status": "ok",
            "device": "ide1-cd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "floppy0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "sd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        }
    ]
}
{
    "return": {
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "SHUTDOWN"
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_TRAY_MOVED",
    "data": {
        "device": "ide1-cd0",
        "tray-open": true
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_TRAY_MOVED",
    "data": {
        "device": "floppy0",
        "tray-open": true
    }
}


=== -drive/device_add and device_del ===

Testing: -drive file=TEST_DIR/t.qcow2,format=qcow2,if=none,id=disk
{
    QMP_VERSION
}
{
    "return": {
    }
}
{
    "return": [
        {
            "device": "disk",
            "locked": false,
            "removable": true,
            "inserted": {
                "iops_rd": 0,
                "detect_zeroes": "off",
                "image": {
                    "virtual-size": 134217728,
                    "filename": "TEST_DIR/t.qcow2",
                    "cluster-size": 65536,
                    "format": "qcow2",
                    "actual-size": SIZE,
                    "format-specific": {
                        "type": "qcow2",
                        "data": {
                            "compat": "1.1",
                            "lazy-refcounts": false,
                            "corrupt": false
                        }
                    },
                    "dirty-flag": false
                },
                "iops_wr": 0,
                "ro": false,
                "backing_file_depth": 0,
                "drv": "qcow2",
                "iops": 0,
                "bps_wr": 0,
                "write_threshold": 0,
                "encrypted": false,
                "bps": 0,
                "bps_rd": 0,
                "cache": {
                    "no-flush": false,
                    "direct": false,
                    "writeback": true
                },
                "file": "TEST_DIR/t.qcow2",
                "encryption_key_missing": false
            },
            "tray_open": false,
            "type": "unknown"
        },
        {
            "io-status": "ok",
            "device": "ide1-cd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "floppy0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "sd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        }
    ]
}
{
    "return": {
    }
}
{
    "return": {
    }
}
{
    "return": {
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_DELETED",
    "data": {
        "path": "/machine/peripheral/virtio0/virtio-backend"
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_DELETED",
    "data": {
        "device": "virtio0",
        "path": "/machine/peripheral/virtio0"
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "RESET"
}
{
    "return": [
        {
            "io-status": "ok",
            "device": "ide1-cd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "floppy0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "sd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        }
    ]
}
{
    "return": {
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "SHUTDOWN"
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_TRAY_MOVED",
    "data": {
        "device": "ide1-cd0",
        "tray-open": true
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_TRAY_MOVED",
    "data": {
        "device": "floppy0",
        "tray-open": true
    }
}


=== drive_add/device_add and device_del ===

Testing:
{
    QMP_VERSION
}
{
    "return": {
    }
}
{
    "return": "OK\r\n"
}
{
    "return": [
        {
            "io-status": "ok",
            "device": "ide1-cd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "floppy0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "sd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "disk",
            "locked": false,
            "removable": true,
            "inserted": {
                "iops_rd": 0,
                "detect_zeroes": "off",
                "image": {
                    "virtual-size": 134217728,
                    "filename": "TEST_DIR/t.qcow2",
                    "cluster-size": 65536,
                    "format": "qcow2",
                    "actual-size": SIZE,
                    "format-specific": {
                        "type": "qcow2",
                        "data": {
                            "compat": "1.1",
                            "lazy-refcounts": false,
                            "corrupt": false
                        }
                    },
                    "dirty-flag": false
                },
                "iops_wr": 0,
                "ro": false,
                "backing_file_depth": 0,
                "drv": "qcow2",
                "iops": 0,
                "bps_wr": 0,
                "write_threshold": 0,
                "encrypted": false,
                "bps": 0,
                "bps_rd": 0,
                "cache": {
                    "no-flush": false,
                    "direct": false,
                    "writeback": true
                },
                "file": "TEST_DIR/t.qcow2",
                "encryption_key_missing": false
            },
            "tray_open": false,
            "type": "unknown"
        }
    ]
}
{
    "return": {
    }
}
{
    "return": {
    }
}
{
    "return": {
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_DELETED",
    "data": {
        "path": "/machine/peripheral/virtio0/virtio-backend"
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_DELETED",
    "data": {
        "device": "virtio0",
        "path": "/machine/peripheral/virtio0"
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "RESET"
}
{
    "return": [
        {
            "io-status": "ok",
            "device": "ide1-cd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "floppy0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "sd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        }
    ]
}
{
    "return": {
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "SHUTDOWN"
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_TRAY_MOVED",
    "data": {
        "device": "ide1-cd0",
        "tray-open": true
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_TRAY_MOVED",
    "data": {
        "device": "floppy0",
        "tray-open": true
    }
}


=== blockdev_add/device_add and device_del ===

Testing:
{
    QMP_VERSION
}
{
    "return": {
    }
}
{
    "return": {
    }
}
{
    "return": [
        {
            "io-status": "ok",
            "device": "ide1-cd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "floppy0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "sd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "disk",
            "locked": false,
            "removable": true,
            "inserted": {
                "iops_rd": 0,
                "detect_zeroes": "off",
                "image": {
                    "virtual-size": 134217728,
                    "filename": "TEST_DIR/t.qcow2",
                    "cluster-size": 65536,
                    "format": "qcow2",
                    "actual-size": SIZE,
                    "format-specific": {
                        "type": "qcow2",
                        "data": {
                            "compat": "1.1",
                            "lazy-refcounts": false,
                            "corrupt": false
                        }
                    },
                    "dirty-flag": false
                },
                "iops_wr": 0,
                "ro": false,
                "backing_file_depth": 0,
                "drv": "qcow2",
                "iops": 0,
                "bps_wr": 0,
                "write_threshold": 0,
                "encrypted": false,
                "bps": 0,
                "bps_rd": 0,
                "cache": {
                    "no-flush": false,
                    "direct": false,
                    "writeback": true
                },
                "file": "TEST_DIR/t.qcow2",
                "encryption_key_missing": false
            },
            "tray_open": false,
            "type": "unknown"
        }
    ]
}
{
    "return": {
    }
}
{
    "return": {
    }
}
{
    "return": {
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_DELETED",
    "data": {
        "path": "/machine/peripheral/virtio0/virtio-backend"
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_DELETED",
    "data": {
        "device": "virtio0",
        "path": "/machine/peripheral/virtio0"
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "RESET"
}
{
    "return": [
        {
            "io-status": "ok",
            "device": "ide1-cd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "floppy0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "device": "sd0",
            "locked": false,
            "removable": true,
            "tray_open": false,
            "type": "unknown"
        },
        {
            "io-status": "ok",
            "device": "disk",
            "locked": false,
            "removable": true,
            "inserted": {
                "iops_rd": 0,
                "detect_zeroes": "off",
                "image": {
                    "virtual-size": 134217728,
                    "filename": "TEST_DIR/t.qcow2",
                    "cluster-size": 65536,
                    "format": "qcow2",
                    "actual-size": SIZE,
                    "format-specific": {
                        "type": "qcow2",
                        "data": {
                            "compat": "1.1",
                            "lazy-refcounts": false,
                            "corrupt": false
                        }
                    },
                    "dirty-flag": false
                },
                "iops_wr": 0,
                "ro": false,
                "backing_file_depth": 0,
                "drv": "qcow2",
                "iops": 0,
                "bps_wr": 0,
                "write_threshold": 0,
                "encrypted": false,
                "bps": 0,
                "bps_rd": 0,
                "cache": {
                    "no-flush": false,
                    "direct": false,
                    "writeback": true
                },
                "file": "TEST_DIR/t.qcow2",
                "encryption_key_missing": false
            },
            "tray_open": false,
            "type": "unknown"
        }
    ]
}
{
    "return": {
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "SHUTDOWN"
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_TRAY_MOVED",
    "data": {
        "device": "ide1-cd0",
        "tray-open": true
    }
}
{
    "timestamp": {
        "seconds":  TIMESTAMP,
        "microseconds":  TIMESTAMP
    },
    "event": "DEVICE_TRAY_MOVED",
    "data": {
        "device": "floppy0",
        "tray-open": true
    }
}

*** done
