diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2019-05-21 14:24:26 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2019-05-21 14:24:26 +0100 |
commit | 62516a0a18cd156d913dd625baca52c46743223b (patch) | |
tree | 443d8dceaba12284e3d1d43259664bc5f0c0efcb /tests | |
parent | 293c76cb48332d2bbd70bd975dc60ee3650b3170 (diff) | |
parent | b3763a195cc167152df1f762b3c3a73f7db7677b (diff) |
Merge remote-tracking branch 'remotes/huth-gitlab/tags/pull-request-2019-05-21' into staging
- qtest patches to get rid of the global_qtest variable in more tests
- some iotests patches that have multiple reviews and thus are ready to go
# gpg: Signature made Tue 21 May 2019 11:40:31 BST
# gpg: using RSA key 2ED9D774FE702DB5
# gpg: Good signature from "Thomas Huth <th.huth@gmx.de>" [full]
# gpg: aka "Thomas Huth <thuth@redhat.com>" [full]
# gpg: aka "Thomas Huth <huth@tuxfamily.org>" [full]
# gpg: aka "Thomas Huth <th.huth@posteo.de>" [unknown]
# Primary key fingerprint: 27B8 8847 EEE0 2501 18F3 EAB9 2ED9 D774 FE70 2DB5
* remotes/huth-gitlab/tags/pull-request-2019-05-21:
tests/qemu-iotests: Remove the "_supported_os Linux" line from many tests
cirrus / travis: Add gnu-sed and bash for macOS and FreeBSD
tests/qemu-iotests: Do not hard-code the path to bash
tests/qemu-iotests/check: Pick a default machine if necessary
tests/qemu-iotests/005: Add a sanity check for large sparse file support
tests/hd-geo-test: Use qtest_init() instead of qtest_start()
tests/device-introspect: Use qtest_init() instead of qtest_start()
tests/qom-test: Use qtest_init() instead of qtest_start()
tests/numa-test: Use qtest_init() instead of qtest_start()
tests/q35-test: Make test independent of global_qtest
tests/libqos: Get rid of global_qtest dependency in qvring_init()
tests/libqtest: Fix description of qtest_vinitf() and qtest_initf()
tests/libqtest: Remove unused global_qtest-related wrapper functions
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'tests')
116 files changed, 192 insertions, 369 deletions
diff --git a/tests/device-introspect-test.c b/tests/device-introspect-test.c index a25092dfaa..04f22903b0 100644 --- a/tests/device-introspect-test.c +++ b/tests/device-introspect-test.c @@ -26,7 +26,8 @@ const char common_args[] = "-nodefaults -machine none"; -static QList *qom_list_types(const char *implements, bool abstract) +static QList *qom_list_types(QTestState * qts, const char *implements, + bool abstract) { QDict *resp; QList *ret; @@ -36,8 +37,8 @@ static QList *qom_list_types(const char *implements, bool abstract) if (implements) { qdict_put_str(args, "implements", implements); } - resp = qmp("{'execute': 'qom-list-types'," - " 'arguments': %p }", args); + resp = qtest_qmp(qts, "{'execute': 'qom-list-types', 'arguments': %p }", + args); g_assert(qdict_haskey(resp, "return")); ret = qdict_get_qlist(resp, "return"); qobject_ref(ret); @@ -95,12 +96,12 @@ static QDict *type_list_find(QList *types, const char *name) return NULL; } -static QList *device_type_list(bool abstract) +static QList *device_type_list(QTestState *qts, bool abstract) { - return qom_list_types("device", abstract); + return qom_list_types(qts, "device", abstract); } -static void test_one_device(const char *type) +static void test_one_device(QTestState *qts, const char *type) { QDict *resp; char *help; @@ -109,15 +110,15 @@ static void test_one_device(const char *type) g_test_message("Testing device '%s'", type); - qom_tree_start = hmp("info qom-tree"); - qtree_start = hmp("info qtree"); + qom_tree_start = qtest_hmp(qts, "info qom-tree"); + qtree_start = qtest_hmp(qts, "info qtree"); - resp = qmp("{'execute': 'device-list-properties'," - " 'arguments': {'typename': %s}}", + resp = qtest_qmp(qts, "{'execute': 'device-list-properties'," + " 'arguments': {'typename': %s}}", type); qobject_unref(resp); - help = hmp("device_add \"%s,help\"", type); + help = qtest_hmp(qts, "device_add \"%s,help\"", type); g_free(help); /* @@ -125,12 +126,12 @@ static void test_one_device(const char *type) * "info qom-tree" or "info qtree" have a good chance at crashing then. * Also make sure that the tree did not change. */ - qom_tree_end = hmp("info qom-tree"); + qom_tree_end = qtest_hmp(qts, "info qom-tree"); g_assert_cmpstr(qom_tree_start, ==, qom_tree_end); g_free(qom_tree_start); g_free(qom_tree_end); - qtree_end = hmp("info qtree"); + qtree_end = qtest_hmp(qts, "info qtree"); g_assert_cmpstr(qtree_start, ==, qtree_end); g_free(qtree_start); g_free(qtree_end); @@ -140,29 +141,30 @@ static void test_device_intro_list(void) { QList *types; char *help; + QTestState *qts; - qtest_start(common_args); + qts = qtest_init(common_args); - types = device_type_list(true); + types = device_type_list(qts, true); qobject_unref(types); - help = hmp("device_add help"); + help = qtest_hmp(qts, "device_add help"); g_free(help); - qtest_end(); + qtest_quit(qts); } /* * Ensure all entries returned by qom-list-types implements=<parent> * have <parent> as a parent. */ -static void test_qom_list_parents(const char *parent) +static void test_qom_list_parents(QTestState *qts, const char *parent) { QList *types; QListEntry *e; QDict *index; - types = qom_list_types(parent, true); + types = qom_list_types(qts, parent, true); index = qom_type_index(types); QLIST_FOREACH_ENTRY(types, e) { @@ -181,11 +183,12 @@ static void test_qom_list_fields(void) QList *all_types; QList *non_abstract; QListEntry *e; + QTestState *qts; - qtest_start(common_args); + qts = qtest_init(common_args); - all_types = qom_list_types(NULL, true); - non_abstract = qom_list_types(NULL, false); + all_types = qom_list_types(qts, NULL, true); + non_abstract = qom_list_types(qts, NULL, false); QLIST_FOREACH_ENTRY(all_types, e) { QDict *d = qobject_to(QDict, qlist_entry_obj(e)); @@ -198,27 +201,29 @@ static void test_qom_list_fields(void) g_assert(abstract == expected_abstract); } - test_qom_list_parents("object"); - test_qom_list_parents("device"); - test_qom_list_parents("sys-bus-device"); + test_qom_list_parents(qts, "object"); + test_qom_list_parents(qts, "device"); + test_qom_list_parents(qts, "sys-bus-device"); qobject_unref(all_types); qobject_unref(non_abstract); - qtest_end(); + qtest_quit(qts); } static void test_device_intro_none(void) { - qtest_start(common_args); - test_one_device("nonexistent"); - qtest_end(); + QTestState *qts = qtest_init(common_args); + + test_one_device(qts, "nonexistent"); + qtest_quit(qts); } static void test_device_intro_abstract(void) { - qtest_start(common_args); - test_one_device("device"); - qtest_end(); + QTestState *qts = qtest_init(common_args); + + test_one_device(qts, "device"); + qtest_quit(qts); } static void test_device_intro_concrete(const void *args) @@ -226,19 +231,20 @@ static void test_device_intro_concrete(const void *args) QList *types; QListEntry *entry; const char *type; + QTestState *qts; - qtest_start(args); - types = device_type_list(false); + qts = qtest_init(args); + types = device_type_list(qts, false); QLIST_FOREACH_ENTRY(types, entry) { type = qdict_get_try_str(qobject_to(QDict, qlist_entry_obj(entry)), "name"); g_assert(type); - test_one_device(type); + test_one_device(qts, type); } qobject_unref(types); - qtest_end(); + qtest_quit(qts); g_free((void *)args); } @@ -247,10 +253,11 @@ static void test_abstract_interfaces(void) QList *all_types; QListEntry *e; QDict *index; + QTestState *qts; - qtest_start(common_args); + qts = qtest_init(common_args); - all_types = qom_list_types("interface", true); + all_types = qom_list_types(qts, "interface", true); index = qom_type_index(all_types); QLIST_FOREACH_ENTRY(all_types, e) { @@ -273,7 +280,7 @@ static void test_abstract_interfaces(void) qobject_unref(all_types); qobject_unref(index); - qtest_end(); + qtest_quit(qts); } static void add_machine_test_case(const char *mname) diff --git a/tests/hd-geo-test.c b/tests/hd-geo-test.c index ce665f1f83..62eb624726 100644 --- a/tests/hd-geo-test.c +++ b/tests/hd-geo-test.c @@ -77,33 +77,35 @@ static bool is_hd(const CHST *expected_chst) return expected_chst && expected_chst->cyls; } -static void test_cmos_byte(int reg, int expected) +static void test_cmos_byte(QTestState *qts, int reg, int expected) { enum { cmos_base = 0x70 }; int actual; - outb(cmos_base + 0, reg); - actual = inb(cmos_base + 1); + qtest_outb(qts, cmos_base + 0, reg); + actual = qtest_inb(qts, cmos_base + 1); g_assert(actual == expected); } -static void test_cmos_bytes(int reg0, int n, uint8_t expected[]) +static void test_cmos_bytes(QTestState *qts, int reg0, int n, + uint8_t expected[]) { int i; for (i = 0; i < 9; i++) { - test_cmos_byte(reg0 + i, expected[i]); + test_cmos_byte(qts, reg0 + i, expected[i]); } } -static void test_cmos_disk_data(void) +static void test_cmos_disk_data(QTestState *qts) { - test_cmos_byte(0x12, + test_cmos_byte(qts, 0x12, (is_hd(cur_ide[0]) ? 0xf0 : 0) | (is_hd(cur_ide[1]) ? 0x0f : 0)); } -static void test_cmos_drive_cyl(int reg0, const CHST *expected_chst) +static void test_cmos_drive_cyl(QTestState *qts, int reg0, + const CHST *expected_chst) { if (is_hd(expected_chst)) { int c = expected_chst->cyls; @@ -113,29 +115,29 @@ static void test_cmos_drive_cyl(int reg0, const CHST *expected_chst) c & 0xff, c >> 8, h, 0xff, 0xff, 0xc0 | ((h > 8) << 3), c & 0xff, c >> 8, s }; - test_cmos_bytes(reg0, 9, expected_bytes); + test_cmos_bytes(qts, reg0, 9, expected_bytes); } else { int i; for (i = 0; i < 9; i++) { - test_cmos_byte(reg0 + i, 0); + test_cmos_byte(qts, reg0 + i, 0); } } } -static void test_cmos_drive1(void) +static void test_cmos_drive1(QTestState *qts) { - test_cmos_byte(0x19, is_hd(cur_ide[0]) ? 47 : 0); - test_cmos_drive_cyl(0x1b, cur_ide[0]); + test_cmos_byte(qts, 0x19, is_hd(cur_ide[0]) ? 47 : 0); + test_cmos_drive_cyl(qts, 0x1b, cur_ide[0]); } -static void test_cmos_drive2(void) +static void test_cmos_drive2(QTestState *qts) { - test_cmos_byte(0x1a, is_hd(cur_ide[1]) ? 47 : 0); - test_cmos_drive_cyl(0x24, cur_ide[1]); + test_cmos_byte(qts, 0x1a, is_hd(cur_ide[1]) ? 47 : 0); + test_cmos_drive_cyl(qts, 0x24, cur_ide[1]); } -static void test_cmos_disktransflag(void) +static void test_cmos_disktransflag(QTestState *qts) { int val, i; @@ -145,15 +147,15 @@ static void test_cmos_disktransflag(void) val |= cur_ide[i]->trans << (2 * i); } } - test_cmos_byte(0x39, val); + test_cmos_byte(qts, 0x39, val); } -static void test_cmos(void) +static void test_cmos(QTestState *qts) { - test_cmos_disk_data(); - test_cmos_drive1(); - test_cmos_drive2(); - test_cmos_disktransflag(); + test_cmos_disk_data(qts); + test_cmos_drive1(qts); + test_cmos_drive2(qts); + test_cmos_disktransflag(qts); } static int append_arg(int argc, char *argv[], int argv_sz, char *arg) @@ -238,14 +240,15 @@ static void test_ide_none(void) { char **argv = g_new0(char *, ARGV_SIZE); char *args; + QTestState *qts; setup_common(argv, ARGV_SIZE); args = g_strjoinv(" ", argv); - qtest_start(args); + qts = qtest_init(args); g_strfreev(argv); g_free(args); - test_cmos(); - qtest_end(); + test_cmos(qts); + qtest_quit(qts); } static void test_ide_mbr(bool use_device, MBRcontents mbr) @@ -255,6 +258,7 @@ static void test_ide_mbr(bool use_device, MBRcontents mbr) int argc; Backend i; const char *dev; + QTestState *qts; argc = setup_common(argv, ARGV_SIZE); for (i = 0; i < backend_last; i++) { @@ -263,11 +267,11 @@ static void test_ide_mbr(bool use_device, MBRcontents mbr) argc = setup_ide(argc, argv, ARGV_SIZE, i, dev, i, mbr); } args = g_strjoinv(" ", argv); - qtest_start(args); + qts = qtest_init(args); g_strfreev(argv); g_free(args); - test_cmos(); - qtest_end(); + test_cmos(qts); + qtest_quit(qts); } /* @@ -325,6 +329,7 @@ static void test_ide_drive_user(const char *dev, bool trans) int argc; int secs = img_secs[backend_small]; const CHST expected_chst = { secs / (4 * 32) , 4, 32, trans }; + QTestState *qts; argc = setup_common(argv, ARGV_SIZE); opts = g_strdup_printf("%s,%scyls=%d,heads=%d,secs=%d", @@ -335,11 +340,11 @@ static void test_ide_drive_user(const char *dev, bool trans) argc = setup_ide(argc, argv, ARGV_SIZE, 0, opts, backend_small, mbr_chs); g_free(opts); args = g_strjoinv(" ", argv); - qtest_start(args); + qts = qtest_init(args); g_strfreev(argv); g_free(args); - test_cmos(); - qtest_end(); + test_cmos(qts); + qtest_quit(qts); } /* @@ -367,6 +372,7 @@ static void test_ide_drive_cd_0(void) char *args; int argc, ide_idx; Backend i; + QTestState *qts; argc = setup_common(argv, ARGV_SIZE); for (i = 0; i <= backend_empty; i++) { @@ -375,11 +381,11 @@ static void test_ide_drive_cd_0(void) argc = setup_ide(argc, argv, ARGV_SIZE, ide_idx, NULL, i, mbr_blank); } args = g_strjoinv(" ", argv); - qtest_start(args); + qts = qtest_init(args); g_strfreev(argv); g_free(args); - test_cmos(); - qtest_end(); + test_cmos(qts); + qtest_quit(qts); } int main(int argc, char **argv) diff --git a/tests/libqos/virtio-mmio.c b/tests/libqos/virtio-mmio.c index 3678c07ef0..213a5f9de0 100644 --- a/tests/libqos/virtio-mmio.c +++ b/tests/libqos/virtio-mmio.c @@ -148,7 +148,7 @@ static QVirtQueue *qvirtio_mmio_virtqueue_setup(QVirtioDevice *d, g_assert_cmpint(vq->size & (vq->size - 1), ==, 0); addr = guest_alloc(alloc, qvring_size(vq->size, dev->page_size)); - qvring_init(alloc, vq, addr); + qvring_init(dev->qts, alloc, vq, addr); qvirtio_mmio_set_queue_address(d, vq->desc / dev->page_size); return vq; diff --git a/tests/libqos/virtio-pci.c b/tests/libqos/virtio-pci.c index 993d347830..a622ca26ca 100644 --- a/tests/libqos/virtio-pci.c +++ b/tests/libqos/virtio-pci.c @@ -199,6 +199,7 @@ static QVirtQueue *qvirtio_pci_virtqueue_setup(QVirtioDevice *d, uint32_t feat; uint64_t addr; QVirtQueuePCI *vqpci; + QVirtioPCIDevice *qvpcidev = container_of(d, QVirtioPCIDevice, vdev); vqpci = g_malloc0(sizeof(*vqpci)); feat = qvirtio_pci_get_guest_features(d); @@ -224,7 +225,7 @@ static QVirtQueue *qvirtio_pci_virtqueue_setup(QVirtioDevice *d, addr = guest_alloc(alloc, qvring_size(vqpci->vq.size, VIRTIO_PCI_VRING_ALIGN)); - qvring_init(alloc, &vqpci->vq, addr); + qvring_init(qvpcidev->pdev->bus->qts, alloc, &vqpci->vq, addr); qvirtio_pci_set_queue_address(d, vqpci->vq.desc / VIRTIO_PCI_VRING_ALIGN); return &vqpci->vq; diff --git a/tests/libqos/virtio.c b/tests/libqos/virtio.c index 5e8f39b4d3..b4c01dc0c1 100644 --- a/tests/libqos/virtio.c +++ b/tests/libqos/virtio.c @@ -162,7 +162,8 @@ void qvirtio_wait_config_isr(QVirtioDevice *d, gint64 timeout_us) } } -void qvring_init(const QGuestAllocator *alloc, QVirtQueue *vq, uint64_t addr) +void qvring_init(QTestState *qts, const QGuestAllocator *alloc, QVirtQueue *vq, + uint64_t addr) { int i; @@ -173,22 +174,23 @@ void qvring_init(const QGuestAllocator *alloc, QVirtQueue *vq, uint64_t addr) for (i = 0; i < vq->size - 1; i++) { /* vq->desc[i].addr */ - writeq(vq->desc + (16 * i), 0); + qtest_writeq(qts, vq->desc + (16 * i), 0); /* vq->desc[i].next */ - writew(vq->desc + (16 * i) + 14, i + 1); + qtest_writew(qts, vq->desc + (16 * i) + 14, i + 1); } /* vq->avail->flags */ - writew(vq->avail, 0); + qtest_writew(qts, vq->avail, 0); /* vq->avail->idx */ - writew(vq->avail + 2, 0); + qtest_writew(qts, vq->avail + 2, 0); /* vq->avail->used_event */ - writew(vq->avail + 4 + (2 * vq->size), 0); + qtest_writew(qts, vq->avail + 4 + (2 * vq->size), 0); /* vq->used->flags */ - writew(vq->used, 0); + qtest_writew(qts, vq->used, 0); /* vq->used->avail_event */ - writew(vq->used + 2 + sizeof(struct vring_used_elem) * vq->size, 0); + qtest_writew(qts, vq->used + 2 + sizeof(struct vring_used_elem) * vq->size, + 0); } QVRingIndirectDesc *qvring_indirect_desc_setup(QVirtioDevice *d, diff --git a/tests/libqos/virtio.h b/tests/libqos/virtio.h index 51d2359ace..7b97f5e567 100644 --- a/tests/libqos/virtio.h +++ b/tests/libqos/virtio.h @@ -129,7 +129,8 @@ QVirtQueue *qvirtqueue_setup(QVirtioDevice *d, void qvirtqueue_cleanup(const QVirtioBus *bus, QVirtQueue *vq, QGuestAllocator *alloc); -void qvring_init(const QGuestAllocator *alloc, QVirtQueue *vq, uint64_t addr); +void qvring_init(QTestState *qts, const QGuestAllocator *alloc, QVirtQueue *vq, + uint64_t addr); QVRingIndirectDesc *qvring_indirect_desc_setup(QVirtioDevice *d, QGuestAllocator *alloc, uint16_t elem); void qvring_indirect_desc_add(QVRingIndirectDesc *indirect, uint64_t data, diff --git a/tests/libqtest.c b/tests/libqtest.c index c49b85482d..8ac0c02af4 100644 --- a/tests/libqtest.c +++ b/tests/libqtest.c @@ -1038,15 +1038,6 @@ QDict *qmp(const char *fmt, ...) return response; } -void qmp_send(const char *fmt, ...) -{ - va_list ap; - - va_start(ap, fmt); - qtest_qmp_vsend(global_qtest, fmt, ap); - va_end(ap); -} - char *hmp(const char *fmt, ...) { va_list ap; @@ -1232,7 +1223,7 @@ void qtest_qmp_device_del(const char *id) &got_event); qobject_unref(rsp); if (!got_event) { - rsp = qmp_receive(); + rsp = qtest_qmp_receive(global_qtest); g_assert_cmpstr(qdict_get_try_str(rsp, "event"), ==, "DEVICE_DELETED"); qobject_unref(rsp); diff --git a/tests/libqtest.h b/tests/libqtest.h index a16acd58a6..a98ea15b7d 100644 --- a/tests/libqtest.h +++ b/tests/libqtest.h @@ -29,7 +29,7 @@ extern QTestState *global_qtest; * @fmt...: Format for creating other arguments to pass to QEMU, formatted * like sprintf(). * - * Convenience wrapper around qtest_start(). + * Convenience wrapper around qtest_init(). * * Returns: #QTestState instance. */ @@ -41,7 +41,7 @@ QTestState *qtest_initf(const char *fmt, ...) GCC_FMT_ATTR(1, 2); * like vsprintf(). * @ap: Format arguments. * - * Convenience wrapper around qtest_start(). + * Convenience wrapper around qtest_init(). * * Returns: #QTestState instance. */ @@ -619,26 +619,6 @@ static inline void qtest_end(void) QDict *qmp(const char *fmt, ...) GCC_FMT_ATTR(1, 2); /** - * qmp_send: - * @fmt...: QMP message to send to qemu, formatted like - * qobject_from_jsonf_nofail(). See parse_escape() for what's - * supported after '%'. - * - * Sends a QMP message to QEMU and leaves the response in the stream. - */ -void qmp_send(const char *fmt, ...) GCC_FMT_ATTR(1, 2); - -/** - * qmp_receive: - * - * Reads a QMP message from QEMU and returns the response. - */ -static inline QDict *qmp_receive(void) -{ - return qtest_qmp_receive(global_qtest); -} - -/** * qmp_eventwait: * @s: #event event to wait for. * @@ -650,18 +630,6 @@ static inline void qmp_eventwait(const char *event) } /** - * qmp_eventwait_ref: - * @s: #event event to wait for. - * - * Continuously polls for QMP responses until it receives the desired event. - * Returns a copy of the event for further investigation. - */ -static inline QDict *qmp_eventwait_ref(const char *event) -{ - return qtest_qmp_eventwait_ref(global_qtest, event); -} - -/** * hmp: * @fmt...: HMP command to send to QEMU, formats arguments like sprintf(). * @@ -683,30 +651,6 @@ static inline bool get_irq(int num) } /** - * irq_intercept_in: - * @string: QOM path of a device. - * - * Associate qtest irqs with the GPIO-in pins of the device - * whose path is specified by @string. - */ -static inline void irq_intercept_in(const char *string) -{ - qtest_irq_intercept_in(global_qtest, string); -} - -/** - * qtest_irq_intercept_out: - * @string: QOM path of a device. - * - * Associate qtest irqs with the GPIO-out pins of the device - * whose path is specified by @string. - */ -static inline void irq_intercept_out(const char *string) -{ - qtest_irq_intercept_out(global_qtest, string); -} - -/** * outb: * @addr: I/O port to write to. * @value: Value being written. @@ -895,19 +839,6 @@ static inline void memread(uint64_t addr, void *data, size_t size) } /** - * bufread: - * @addr: Guest address to read from. - * @data: Pointer to where memory contents will be stored. - * @size: Number of bytes to read. - * - * Read guest memory into a buffer, receive using a base64 encoding. - */ -static inline void bufread(uint64_t addr, void *data, size_t size) -{ - qtest_bufread(global_qtest, addr, data, size); -} - -/** * memwrite: * @addr: Guest address to write to. * @data: Pointer to the bytes that will be written to guest memory. @@ -921,32 +852,6 @@ static inline void memwrite(uint64_t addr, const void *data, size_t size) } /** - * bufwrite: - * @addr: Guest address to write to. - * @data: Pointer to the bytes that will be written to guest memory. - * @size: Number of bytes to write. - * - * Write a buffer to guest memory, transmit using a base64 encoding. - */ -static inline void bufwrite(uint64_t addr, const void *data, size_t size) -{ - qtest_bufwrite(global_qtest, addr, data, size); -} - -/** - * qmemset: - * @addr: Guest address to write to. - * @patt: Byte pattern to fill the guest memory region with. - * @size: Number of bytes to write. - * - * Write a pattern to guest memory. - */ -static inline void qmemset(uint64_t addr, uint8_t patt, size_t size) -{ - qtest_memset(global_qtest, addr, patt, size); -} - -/** * clock_step_next: * * Advance the QEMU_CLOCK_VIRTUAL to the next deadline. @@ -971,19 +876,6 @@ static inline int64_t clock_step(int64_t step) return qtest_clock_step(global_qtest, step); } -/** - * clock_set: - * @val: Nanoseconds value to advance the clock to. - * - * Advance the QEMU_CLOCK_VIRTUAL to @val nanoseconds since the VM was launched. - * - * Returns: The current value of the QEMU_CLOCK_VIRTUAL in nanoseconds. - */ -static inline int64_t clock_set(int64_t val) -{ - return qtest_clock_set(global_qtest, val); -} - QDict *qmp_fd_receive(int fd); void qmp_fd_vsend(int fd, const char *fmt, va_list ap) GCC_FMT_ATTR(2, 0); void qmp_fd_send(int fd, const char *fmt, ...) GCC_FMT_ATTR(2, 3); diff --git a/tests/numa-test.c b/tests/numa-test.c index 9824fdd587..8de8581231 100644 --- a/tests/numa-test.c +++ b/tests/numa-test.c @@ -23,18 +23,19 @@ static void test_mon_explicit(const void *data) { char *s; char *cli; + QTestState *qts; cli = make_cli(data, "-smp 8 " "-numa node,nodeid=0,cpus=0-3 " "-numa node,nodeid=1,cpus=4-7 "); - qtest_start(cli); + qts = qtest_init(cli); - s = hmp("info numa"); + s = qtest_hmp(qts, "info numa"); g_assert(strstr(s, "node 0 cpus: 0 1 2 3")); g_assert(strstr(s, "node 1 cpus: 4 5 6 7")); g_free(s); - qtest_end(); + qtest_quit(qts); g_free(cli); } @@ -42,16 +43,17 @@ static void test_mon_default(const void *data) { char *s; char *cli; + QTestState *qts; cli = make_cli(data, "-smp 8 -numa node -numa node"); - qtest_start(cli); + qts = qtest_init(cli); - s = hmp("info numa"); + s = qtest_hmp(qts, "info numa"); g_assert(strstr(s, "node 0 cpus: 0 2 4 6")); g_assert(strstr(s, "node 1 cpus: 1 3 5 7")); g_free(s); - qtest_end(); + qtest_quit(qts); g_free(cli); } @@ -59,24 +61,25 @@ static void test_mon_partial(const void *data) { char *s; char *cli; + QTestState *qts; cli = make_cli(data, "-smp 8 " "-numa node,nodeid=0,cpus=0-1 " "-numa node,nodeid=1,cpus=4-5 "); - qtest_start(cli); + qts = qtest_init(cli); - s = hmp("info numa"); + s = qtest_hmp(qts, "info numa"); g_assert(strstr(s, "node 0 cpus: 0 1 2 3 6 7")); g_assert(strstr(s, "node 1 cpus: 4 5")); g_free(s); - qtest_end(); + qtest_quit(qts); g_free(cli); } -static QList *get_cpus(QDict **resp) +static QList *get_cpus(QTestState *qts, QDict **resp) { - *resp = qmp("{ 'execute': 'query-cpus' }"); + *resp = qtest_qmp(qts, "{ 'execute': 'query-cpus' }"); g_assert(*resp); g_assert(qdict_haskey(*resp, "return")); return qdict_get_qlist(*resp, "return"); @@ -88,10 +91,11 @@ static void test_query_cpus(const void *data) QDict *resp; QList *cpus; QObject *e; + QTestState *qts; cli = make_cli(data, "-smp 8 -numa node,cpus=0-3 -numa node,cpus=4-7"); - qtest_start(cli); - cpus = get_cpus(&resp); + qts = qtest_init(cli); + cpus = get_cpus(qts, &resp); g_assert(cpus); while ((e = qlist_pop(cpus))) { @@ -115,7 +119,7 @@ static void test_query_cpus(const void *data) } qobject_unref(resp); - qtest_end(); + qtest_quit(qts); g_free(cli); } @@ -125,6 +129,7 @@ static void pc_numa_cpu(const void *data) QDict *resp; QList *cpus; QObject *e; + QTestState *qts; cli = make_cli(data, "-cpu pentium -smp 8,sockets=2,cores=2,threads=2 " "-numa node,nodeid=0 -numa node,nodeid=1 " @@ -132,8 +137,8 @@ static void pc_numa_cpu(const void *data) "-numa cpu,node-id=0,socket-id=1,core-id=0 " "-numa cpu,node-id=0,socket-id=1,core-id=1,thread-id=0 " "-numa cpu,node-id=1,socket-id=1,core-id=1,thread-id=1"); - qtest_start(cli); - cpus = get_cpus(&resp); + qts = qtest_init(cli); + cpus = get_cpus(qts, &resp); g_assert(cpus); while ((e = qlist_pop(cpus))) { @@ -168,7 +173,7 @@ static void pc_numa_cpu(const void *data) } qobject_unref(resp); - qtest_end(); + qtest_quit(qts); g_free(cli); } @@ -178,6 +183,7 @@ static void spapr_numa_cpu(const void *data) QDict *resp; QList *cpus; QObject *e; + QTestState *qts; cli = make_cli(data, "-smp 4,cores=4 " "-numa node,nodeid=0 -numa node,nodeid=1 " @@ -185,8 +191,8 @@ static void spapr_numa_cpu(const void *data) "-numa cpu,node-id=0,core-id=1 " "-numa cpu,node-id=0,core-id=2 " "-numa cpu,node-id=1,core-id=3"); - qtest_start(cli); - cpus = get_cpus(&resp); + qts = qtest_init(cli); + cpus = get_cpus(qts, &resp); g_assert(cpus); while ((e = qlist_pop(cpus))) { @@ -213,7 +219,7 @@ static void spapr_numa_cpu(const void *data) } qobject_unref(resp); - qtest_end(); + qtest_quit(qts); g_free(cli); } @@ -223,13 +229,14 @@ static void aarch64_numa_cpu(const void *data) QDict *resp; QList *cpus; QObject *e; + QTestState *qts; cli = make_cli(data, "-smp 2 " "-numa node,nodeid=0 -numa node,nodeid=1 " "-numa cpu,node-id=1,thread-id=0 " "-numa cpu,node-id=0,thread-id=1"); - qtest_start(cli); - cpus = get_cpus(&resp); + qts = qtest_init(cli); + cpus = get_cpus(qts, &resp); g_assert(cpus); while ((e = qlist_pop(cpus))) { @@ -256,7 +263,7 @@ static void aarch64_numa_cpu(const void *data) } qobject_unref(resp); - qtest_end(); + qtest_quit(qts); g_free(cli); } diff --git a/tests/q35-test.c b/tests/q35-test.c index 34b34bc2b9..a68183d513 100644 --- a/tests/q35-test.c +++ b/tests/q35-test.c @@ -84,10 +84,11 @@ static void test_smram_lock(void) QPCIBus *pcibus; QPCIDevice *pcidev; QDict *response; + QTestState *qts; - qtest_start("-M q35"); + qts = qtest_init("-M q35"); - pcibus = qpci_new_pc(global_qtest, NULL); + pcibus = qpci_new_pc(qts, NULL); g_assert(pcibus != NULL); pcidev = qpci_device_find(pcibus, 0); @@ -106,7 +107,7 @@ static void test_smram_lock(void) g_assert(smram_test_bit(pcidev, MCH_HOST_BRIDGE_SMRAM_D_OPEN) == false); /* reset */ - response = qmp("{'execute': 'system_reset', 'arguments': {} }"); + response = qtest_qmp(qts, "{'execute': 'system_reset', 'arguments': {} }"); g_assert(response); g_assert(!qdict_haskey(response, "error")); qobject_unref(response); @@ -120,33 +121,29 @@ static void test_smram_lock(void) g_free(pcidev); qpci_free_pc(pcibus); - qtest_end(); + qtest_quit(qts); } static void test_tseg_size(const void *data) { const TsegSizeArgs *args = data; - char *cmdline; QPCIBus *pcibus; QPCIDevice *pcidev; uint8_t smram_val; uint8_t esmramc_val; uint32_t ram_offs; + QTestState *qts; if (args->esmramc_tseg_sz == MCH_HOST_BRIDGE_ESMRAMC_TSEG_SZ_MASK) { - cmdline = g_strdup_printf("-M q35 -m %uM " - "-global mch.extended-tseg-mbytes=%u", - TSEG_SIZE_TEST_GUEST_RAM_MBYTES, - args->extended_tseg_mbytes); + qts = qtest_initf("-M q35 -m %uM -global mch.extended-tseg-mbytes=%u", + TSEG_SIZE_TEST_GUEST_RAM_MBYTES, + args->extended_tseg_mbytes); } else { - cmdline = g_strdup_printf("-M q35 -m %uM", - TSEG_SIZE_TEST_GUEST_RAM_MBYTES); + qts = qtest_initf("-M q35 -m %uM", TSEG_SIZE_TEST_GUEST_RAM_MBYTES); } - qtest_start(cmdline); - g_free(cmdline); /* locate the DRAM controller */ - pcibus = qpci_new_pc(global_qtest, NULL); + pcibus = qpci_new_pc(qts, NULL); g_assert(pcibus != NULL); pcidev = qpci_device_find(pcibus, 0); g_assert(pcidev != NULL); @@ -175,18 +172,18 @@ static void test_tseg_size(const void *data) */ ram_offs = (TSEG_SIZE_TEST_GUEST_RAM_MBYTES - args->expected_tseg_mbytes) * 1024 * 1024 - 1; - g_assert_cmpint(readb(ram_offs), ==, 0); - writeb(ram_offs, 1); - g_assert_cmpint(readb(ram_offs), ==, 1); + g_assert_cmpint(qtest_readb(qts, ram_offs), ==, 0); + qtest_writeb(qts, ram_offs, 1); + g_assert_cmpint(qtest_readb(qts, ram_offs), ==, 1); ram_offs++; - g_assert_cmpint(readb(ram_offs), ==, 0xff); - writeb(ram_offs, 1); - g_assert_cmpint(readb(ram_offs), ==, 0xff); + g_assert_cmpint(qtest_readb(qts, ram_offs), ==, 0xff); + qtest_writeb(qts, ram_offs, 1); + g_assert_cmpint(qtest_readb(qts, ram_offs), ==, 0xff); g_free(pcidev); qpci_free_pc(pcibus); - qtest_end(); + qtest_quit(qts); } int main(int argc, char **argv) diff --git a/tests/qemu-iotests/001 b/tests/qemu-iotests/001 index 5d266e170a..d87a535c33 100755 --- a/tests/qemu-iotests/001 +++ b/tests/qemu-iotests/001 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto generic -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/002 b/tests/qemu-iotests/002 index 7fb85084a1..fd413bce48 100755 --- a/tests/qemu-iotests/002 +++ b/tests/qemu-iotests/002 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto generic -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/003 b/tests/qemu-iotests/003 index f008c57cdc..ccd3a39dfb 100755 --- a/tests/qemu-iotests/003 +++ b/tests/qemu-iotests/003 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto generic -_supported_os Linux size=128M offset=67M diff --git a/tests/qemu-iotests/004 b/tests/qemu-iotests/004 index 64fab3e714..d308dc4b49 100755 --- a/tests/qemu-iotests/004 +++ b/tests/qemu-iotests/004 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt raw qcow qcow2 qed vdi vmdk vhdx luks _supported_proto generic -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/005 b/tests/qemu-iotests/005 index 2fef63af88..9c7681c19b 100755 --- a/tests/qemu-iotests/005 +++ b/tests/qemu-iotests/005 @@ -55,6 +55,15 @@ if [ "$IMGPROTO" = "sheepdog" ]; then _notrun "image protocol $IMGPROTO does not support large image sizes" fi +# Sanity check: For raw, we require a file system that permits the creation +# of a HUGE (but very sparse) file. Check we can create it before continuing. +if [ "$IMGFMT" = "raw" ]; then + if ! truncate --size=5T "$TEST_IMG"; then + _notrun "file system on $TEST_DIR does not support large enough files" + fi + rm "$TEST_IMG" +fi + echo echo "creating large image" _make_test_img 5000G diff --git a/tests/qemu-iotests/007 b/tests/qemu-iotests/007 index 3ab5490db3..6abd402423 100755 --- a/tests/qemu-iotests/007 +++ b/tests/qemu-iotests/007 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # currently only qcow2 allows for consistency checks using qemu-img _supported_fmt qcow2 _supported_proto generic -_supported_os Linux # refcount_bits must be at least 4 so we can create ten internal snapshots # (1 bit supports none, 2 bits support two, 4 bits support 14) _unsupported_imgopts 'refcount_bits=\(1\|2\)[^0-9]' diff --git a/tests/qemu-iotests/008 b/tests/qemu-iotests/008 index 75067e36ad..2b81b119bf 100755 --- a/tests/qemu-iotests/008 +++ b/tests/qemu-iotests/008 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto generic -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/009 b/tests/qemu-iotests/009 index bc4b461122..51b200db1d 100755 --- a/tests/qemu-iotests/009 +++ b/tests/qemu-iotests/009 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto generic -_supported_os Linux size=6G diff --git a/tests/qemu-iotests/010 b/tests/qemu-iotests/010 index 6920408d28..48c533f632 100755 --- a/tests/qemu-iotests/010 +++ b/tests/qemu-iotests/010 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto generic -_supported_os Linux size=6G diff --git a/tests/qemu-iotests/011 b/tests/qemu-iotests/011 index b4c7e8f799..8b1fce069a 100755 --- a/tests/qemu-iotests/011 +++ b/tests/qemu-iotests/011 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto generic -_supported_os Linux size=6G diff --git a/tests/qemu-iotests/012 b/tests/qemu-iotests/012 index 2c3b42d9dd..12957285b3 100755 --- a/tests/qemu-iotests/012 +++ b/tests/qemu-iotests/012 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto file -_supported_os Linux # Remove once all tests are fixed to use TEST_IMG_FILE # correctly and common.rc sets it unconditionally diff --git a/tests/qemu-iotests/015 b/tests/qemu-iotests/015 index 5a4063e4f5..eec5387f3d 100755 --- a/tests/qemu-iotests/015 +++ b/tests/qemu-iotests/015 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # actually any format that supports snapshots _supported_fmt qcow2 _supported_proto generic -_supported_os Linux # Internal snapshots are (currently) impossible with refcount_bits=1 _unsupported_imgopts 'refcount_bits=1[^0-9]' diff --git a/tests/qemu-iotests/017 b/tests/qemu-iotests/017 index 83744f29a3..79875de454 100755 --- a/tests/qemu-iotests/017 +++ b/tests/qemu-iotests/017 @@ -41,7 +41,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow qcow2 vmdk qed _supported_proto generic _unsupported_proto vxhs -_supported_os Linux _unsupported_imgopts "subformat=monolithicFlat" "subformat=twoGbMaxExtentFlat" TEST_OFFSETS="0 4294967296" diff --git a/tests/qemu-iotests/020 b/tests/qemu-iotests/020 index 71fa753b4e..6b0ebb37d2 100755 --- a/tests/qemu-iotests/020 +++ b/tests/qemu-iotests/020 @@ -42,7 +42,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # Any format supporting backing files _supported_fmt qcow qcow2 vmdk qed _supported_proto file -_supported_os Linux _unsupported_imgopts "subformat=monolithicFlat" \ "subformat=twoGbMaxExtentFlat" \ "subformat=twoGbMaxExtentSparse" diff --git a/tests/qemu-iotests/021 b/tests/qemu-iotests/021 index f6555f3b74..f888269fd4 100755 --- a/tests/qemu-iotests/021 +++ b/tests/qemu-iotests/021 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto generic -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/022 b/tests/qemu-iotests/022 index b68cd64b33..99eb08f57f 100755 --- a/tests/qemu-iotests/022 +++ b/tests/qemu-iotests/022 @@ -42,7 +42,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # Any format that supports snapshots _supported_fmt qcow2 _supported_proto generic -_supported_os Linux TEST_OFFSETS="10485760 4294967296" CLUSTER_SIZE="4096" diff --git a/tests/qemu-iotests/025 b/tests/qemu-iotests/025 index d9a4ebc5e7..e05d833452 100755 --- a/tests/qemu-iotests/025 +++ b/tests/qemu-iotests/025 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt raw qcow2 qed luks _supported_proto file sheepdog rbd nfs -_supported_os Linux echo "=== Creating image" echo diff --git a/tests/qemu-iotests/026 b/tests/qemu-iotests/026 index ca89ad7048..e30243608b 100755 --- a/tests/qemu-iotests/026 +++ b/tests/qemu-iotests/026 @@ -41,7 +41,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # Currently only qcow2 supports rebasing _supported_fmt qcow2 _supported_proto file -_supported_os Linux _default_cache_mode "writethrough" _supported_cache_modes "writethrough" "none" # The refcount table tests expect a certain minimum width for refcount entries diff --git a/tests/qemu-iotests/027 b/tests/qemu-iotests/027 index b7df9701f7..4cb638022a 100755 --- a/tests/qemu-iotests/027 +++ b/tests/qemu-iotests/027 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt vmdk qcow qcow2 qed _supported_proto generic -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/029 b/tests/qemu-iotests/029 index 5f42f76cc6..94c2713132 100755 --- a/tests/qemu-iotests/029 +++ b/tests/qemu-iotests/029 @@ -42,7 +42,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto generic _unsupported_proto vxhs -_supported_os Linux # Internal snapshots are (currently) impossible with refcount_bits=1 _unsupported_imgopts 'refcount_bits=1[^0-9]' diff --git a/tests/qemu-iotests/031 b/tests/qemu-iotests/031 index ef92d8eee3..a3c25ec237 100755 --- a/tests/qemu-iotests/031 +++ b/tests/qemu-iotests/031 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # This tests qcow2-specific low-level functionality _supported_fmt qcow2 _supported_proto file -_supported_os Linux CLUSTER_SIZE=65536 diff --git a/tests/qemu-iotests/032 b/tests/qemu-iotests/032 index a1757bb15e..23c216c549 100755 --- a/tests/qemu-iotests/032 +++ b/tests/qemu-iotests/032 @@ -42,7 +42,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # This works for any image format (though unlikely to segfault for raw) _supported_fmt generic _supported_proto generic -_supported_os Linux echo echo === Prepare image === diff --git a/tests/qemu-iotests/033 b/tests/qemu-iotests/033 index cfdf1ec2ba..362a48c0a0 100755 --- a/tests/qemu-iotests/033 +++ b/tests/qemu-iotests/033 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto generic -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/035 b/tests/qemu-iotests/035 index 46aa835936..ad6fa3115a 100755 --- a/tests/qemu-iotests/035 +++ b/tests/qemu-iotests/035 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto generic -_supported_os Linux size=6G diff --git a/tests/qemu-iotests/036 b/tests/qemu-iotests/036 index 1b56394129..f06ff67408 100755 --- a/tests/qemu-iotests/036 +++ b/tests/qemu-iotests/036 @@ -43,7 +43,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # This tests qcow2-specific low-level functionality _supported_fmt qcow2 _supported_proto file -_supported_os Linux # Only qcow2v3 and later supports feature bits IMGOPTS="compat=1.1" diff --git a/tests/qemu-iotests/037 b/tests/qemu-iotests/037 index 0781bebefe..819a2a52d2 100755 --- a/tests/qemu-iotests/037 +++ b/tests/qemu-iotests/037 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow qcow2 vmdk qed _supported_proto file -_supported_os Linux _unsupported_imgopts "subformat=monolithicFlat" \ "subformat=twoGbMaxExtentFlat" \ "subformat=twoGbMaxExtentSparse" diff --git a/tests/qemu-iotests/042 b/tests/qemu-iotests/042 index a9a7fc3041..0e85b356b7 100755 --- a/tests/qemu-iotests/042 +++ b/tests/qemu-iotests/042 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 qed _supported_proto file -_supported_os Linux echo echo "== Creating zero size image ==" diff --git a/tests/qemu-iotests/043 b/tests/qemu-iotests/043 index 9894b154ec..67cc7e74c2 100755 --- a/tests/qemu-iotests/043 +++ b/tests/qemu-iotests/043 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # Any format supporting backing files _supported_fmt qcow2 qed _supported_proto file -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/046 b/tests/qemu-iotests/046 index 95160bea4c..543355c64f 100755 --- a/tests/qemu-iotests/046 +++ b/tests/qemu-iotests/046 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux CLUSTER_SIZE=64k size=128M diff --git a/tests/qemu-iotests/047 b/tests/qemu-iotests/047 index ce81fc6fa7..4528465fb0 100755 --- a/tests/qemu-iotests/047 +++ b/tests/qemu-iotests/047 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto generic -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/049 b/tests/qemu-iotests/049 index bc09cd6717..c100d30ed0 100755 --- a/tests/qemu-iotests/049 +++ b/tests/qemu-iotests/049 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux filter_test_dir() { diff --git a/tests/qemu-iotests/050 b/tests/qemu-iotests/050 index dd7b2c72eb..211fc00797 100755 --- a/tests/qemu-iotests/050 +++ b/tests/qemu-iotests/050 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 qed _supported_proto file -_supported_os Linux if test "$IMGFMT" = qcow2 && test $IMGOPTS = ""; then IMGOPTS=compat=1.1 diff --git a/tests/qemu-iotests/051 b/tests/qemu-iotests/051 index 02ac960da4..a3deb1fcad 100755 --- a/tests/qemu-iotests/051 +++ b/tests/qemu-iotests/051 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux # A compat=0.10 image is created in this test which does not support anything # other than refcount_bits=16 _unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' diff --git a/tests/qemu-iotests/052 b/tests/qemu-iotests/052 index b3a2dc1143..6e2ecbfe21 100755 --- a/tests/qemu-iotests/052 +++ b/tests/qemu-iotests/052 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto file -_supported_os Linux # Don't do O_DIRECT on tmpfs _supported_cache_modes "writeback" "writethrough" "unsafe" diff --git a/tests/qemu-iotests/053 b/tests/qemu-iotests/053 index 50c62f0f56..e82bb69881 100755 --- a/tests/qemu-iotests/053 +++ b/tests/qemu-iotests/053 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 qcow _supported_proto file -_supported_os Linux echo echo "== Creating single sector image ==" diff --git a/tests/qemu-iotests/054 b/tests/qemu-iotests/054 index 0d5e14f847..a8905b60d0 100755 --- a/tests/qemu-iotests/054 +++ b/tests/qemu-iotests/054 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux echo echo "creating too large image (1 EB)" diff --git a/tests/qemu-iotests/062 b/tests/qemu-iotests/062 index ed7400fed2..d5f818fcce 100755 --- a/tests/qemu-iotests/062 +++ b/tests/qemu-iotests/062 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # This tests qocw2-specific low-level functionality _supported_fmt qcow2 _supported_proto generic -_supported_os Linux IMGOPTS="compat=1.1" IMG_SIZE=64M diff --git a/tests/qemu-iotests/063 b/tests/qemu-iotests/063 index 2d5c0ce9fb..fe4892e467 100755 --- a/tests/qemu-iotests/063 +++ b/tests/qemu-iotests/063 @@ -41,7 +41,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow qcow2 vmdk qed raw _supported_proto file -_supported_os Linux _unsupported_imgopts "subformat=monolithicFlat" \ "subformat=twoGbMaxExtentFlat" \ "subformat=twoGbMaxExtentSparse" diff --git a/tests/qemu-iotests/066 b/tests/qemu-iotests/066 index f480986e35..28f8c98412 100755 --- a/tests/qemu-iotests/066 +++ b/tests/qemu-iotests/066 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # This tests qocw2-specific low-level functionality _supported_fmt qcow2 _supported_proto generic -_supported_os Linux # Intentionally create an unaligned image IMGOPTS="compat=1.1" diff --git a/tests/qemu-iotests/067 b/tests/qemu-iotests/067 index fda16a6b0d..926c79b37c 100755 --- a/tests/qemu-iotests/067 +++ b/tests/qemu-iotests/067 @@ -32,7 +32,6 @@ status=1 # failure is the default! _supported_fmt qcow2 _supported_proto file -_supported_os Linux # Because anything other than 16 would change the output of query-block _unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' diff --git a/tests/qemu-iotests/068 b/tests/qemu-iotests/068 index 881a022107..22f5ca3ba6 100755 --- a/tests/qemu-iotests/068 +++ b/tests/qemu-iotests/068 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # This tests qocw2-specific low-level functionality _supported_fmt qcow2 _supported_proto generic -_supported_os Linux IMGOPTS="compat=1.1" IMG_SIZE=128K diff --git a/tests/qemu-iotests/069 b/tests/qemu-iotests/069 index 6a8e4aa22e..3974714852 100755 --- a/tests/qemu-iotests/069 +++ b/tests/qemu-iotests/069 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qed qcow qcow2 vmdk _supported_proto file -_supported_os Linux _unsupported_imgopts "subformat=monolithicFlat" "subformat=twoGbMaxExtentFlat" IMG_SIZE=128K diff --git a/tests/qemu-iotests/071 b/tests/qemu-iotests/071 index 7f3e5abd57..1cca9233d0 100755 --- a/tests/qemu-iotests/071 +++ b/tests/qemu-iotests/071 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux do_run_qemu() { diff --git a/tests/qemu-iotests/072 b/tests/qemu-iotests/072 index 6f9f247fa5..661b36da2d 100755 --- a/tests/qemu-iotests/072 +++ b/tests/qemu-iotests/072 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt vpc vmdk vhdx vdi qed qcow2 qcow _supported_proto file -_supported_os Linux IMG_SIZE=64M diff --git a/tests/qemu-iotests/073 b/tests/qemu-iotests/073 index 990f90acbd..e684b1b780 100755 --- a/tests/qemu-iotests/073 +++ b/tests/qemu-iotests/073 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto generic _unsupported_proto vxhs -_supported_os Linux CLUSTER_SIZE=64k size=128M diff --git a/tests/qemu-iotests/079 b/tests/qemu-iotests/079 index 1b6594ebef..81f0c21f53 100755 --- a/tests/qemu-iotests/079 +++ b/tests/qemu-iotests/079 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file nfs -_supported_os Linux echo "=== Check option preallocation and cluster_size ===" echo diff --git a/tests/qemu-iotests/082 b/tests/qemu-iotests/082 index 278511dba4..bbbdf555dc 100755 --- a/tests/qemu-iotests/082 +++ b/tests/qemu-iotests/082 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file nfs -_supported_os Linux run_qemu_img() { diff --git a/tests/qemu-iotests/085 b/tests/qemu-iotests/085 index 68cb665987..d40fdab542 100755 --- a/tests/qemu-iotests/085 +++ b/tests/qemu-iotests/085 @@ -56,7 +56,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux # ${1}: unique identifier for the snapshot filename diff --git a/tests/qemu-iotests/089 b/tests/qemu-iotests/089 index 6609954908..ad029f1f09 100755 --- a/tests/qemu-iotests/089 +++ b/tests/qemu-iotests/089 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux # Because anything other than 16 would change the output of qemu_io -c info _unsupported_imgopts 'refcount_bits=\([^1]\|.\([^6]\|$\)\)' diff --git a/tests/qemu-iotests/090 b/tests/qemu-iotests/090 index 193bae7d77..9f8cfbb80f 100755 --- a/tests/qemu-iotests/090 +++ b/tests/qemu-iotests/090 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file nfs -_supported_os Linux IMG_SIZE=128K diff --git a/tests/qemu-iotests/094 b/tests/qemu-iotests/094 index 0bcca77261..9343e09492 100755 --- a/tests/qemu-iotests/094 +++ b/tests/qemu-iotests/094 @@ -42,7 +42,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto nbd -_supported_os Linux _unsupported_imgopts "subformat=monolithicFlat" "subformat=twoGbMaxExtentFlat" _make_test_img 64M diff --git a/tests/qemu-iotests/095 b/tests/qemu-iotests/095 index 18505b7181..58fe174b5e 100755 --- a/tests/qemu-iotests/095 +++ b/tests/qemu-iotests/095 @@ -44,7 +44,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux size_smaller=5M size_larger=100M diff --git a/tests/qemu-iotests/098 b/tests/qemu-iotests/098 index 461144c831..1c1d1c468f 100755 --- a/tests/qemu-iotests/098 +++ b/tests/qemu-iotests/098 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux IMGOPTS="compat=1.1" diff --git a/tests/qemu-iotests/102 b/tests/qemu-iotests/102 index cedd2b25dc..749ff66b8a 100755 --- a/tests/qemu-iotests/102 +++ b/tests/qemu-iotests/102 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux IMG_SIZE=64K diff --git a/tests/qemu-iotests/103 b/tests/qemu-iotests/103 index 6773e94d9f..554b9de054 100755 --- a/tests/qemu-iotests/103 +++ b/tests/qemu-iotests/103 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file nfs -_supported_os Linux # Internal snapshots are (currently) impossible with refcount_bits=1 _unsupported_imgopts 'refcount_bits=1[^0-9]' diff --git a/tests/qemu-iotests/104 b/tests/qemu-iotests/104 index 390167bad4..c70f28a9a1 100755 --- a/tests/qemu-iotests/104 +++ b/tests/qemu-iotests/104 @@ -34,7 +34,6 @@ trap "exit \$status" 0 1 2 3 15 _supported_fmt raw qcow qcow2 qed vdi vmdk vhdx _supported_proto generic -_supported_os Linux echo "=== Check qemu-img info output ===" echo diff --git a/tests/qemu-iotests/105 b/tests/qemu-iotests/105 index 3b5a596844..3346e8cb25 100755 --- a/tests/qemu-iotests/105 +++ b/tests/qemu-iotests/105 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 vmdk vhdx qed _supported_proto generic -_supported_os Linux _unsupported_imgopts "subformat=twoGbMaxExtentFlat" \ "subformat=twoGbMaxExtentSparse" diff --git a/tests/qemu-iotests/107 b/tests/qemu-iotests/107 index fcd5a24dfe..268ba27688 100755 --- a/tests/qemu-iotests/107 +++ b/tests/qemu-iotests/107 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file nfs -_supported_os Linux IMG_SIZE=64K diff --git a/tests/qemu-iotests/110 b/tests/qemu-iotests/110 index 33b169ffd4..2cdc7c8a72 100755 --- a/tests/qemu-iotests/110 +++ b/tests/qemu-iotests/110 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # Any format supporting backing files _supported_fmt qed qcow qcow2 vmdk _supported_proto file -_supported_os Linux _unsupported_imgopts "subformat=monolithicFlat" "subformat=twoGbMaxExtentFlat" TEST_IMG_REL=$(basename "$TEST_IMG") diff --git a/tests/qemu-iotests/111 b/tests/qemu-iotests/111 index 57395be64c..490a5bbcb5 100755 --- a/tests/qemu-iotests/111 +++ b/tests/qemu-iotests/111 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qed qcow qcow2 vmdk _supported_proto file -_supported_os Linux _unsupported_imgopts "subformat=monolithicFlat" "subformat=twoGbMaxExtentFlat" $QEMU_IMG create -f $IMGFMT -b "$TEST_IMG.inexistent" "$TEST_IMG" 2>&1 \ diff --git a/tests/qemu-iotests/112 b/tests/qemu-iotests/112 index 6d81c75a9c..706c10b600 100755 --- a/tests/qemu-iotests/112 +++ b/tests/qemu-iotests/112 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # This tests qcow2-specific low-level functionality _supported_fmt qcow2 _supported_proto file -_supported_os Linux # This test will set refcount_bits on its own which would conflict with the # manual setting; compat will be overridden as well _unsupported_imgopts refcount_bits 'compat=0.10' diff --git a/tests/qemu-iotests/114 b/tests/qemu-iotests/114 index f36b88f3f3..f90a744fc0 100755 --- a/tests/qemu-iotests/114 +++ b/tests/qemu-iotests/114 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto generic _unsupported_proto vxhs -_supported_os Linux TEST_IMG="$TEST_IMG.base" _make_test_img 64M diff --git a/tests/qemu-iotests/115 b/tests/qemu-iotests/115 index 7ed347010f..9ed3cb6a83 100755 --- a/tests/qemu-iotests/115 +++ b/tests/qemu-iotests/115 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux # This test relies on refcounts being 64 bits wide (which does not work with # compat=0.10) _unsupported_imgopts 'refcount_bits=\([^6]\|.\([^4]\|$\)\)' 'compat=0.10' diff --git a/tests/qemu-iotests/117 b/tests/qemu-iotests/117 index 0af0f31c5a..f37b34f8b1 100755 --- a/tests/qemu-iotests/117 +++ b/tests/qemu-iotests/117 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux _make_test_img 64k diff --git a/tests/qemu-iotests/120 b/tests/qemu-iotests/120 index ca95b9276e..e9b4fbb009 100755 --- a/tests/qemu-iotests/120 +++ b/tests/qemu-iotests/120 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto file -_supported_os Linux _unsupported_fmt luks _make_test_img 64M diff --git a/tests/qemu-iotests/125 b/tests/qemu-iotests/125 index 212dcd8f0d..dc4b8f5fb9 100755 --- a/tests/qemu-iotests/125 +++ b/tests/qemu-iotests/125 @@ -44,7 +44,6 @@ get_image_size_on_host() _supported_fmt qcow2 _supported_proto file -_supported_os Linux if [ -z "$TEST_IMG_FILE" ]; then TEST_IMG_FILE=$TEST_IMG diff --git a/tests/qemu-iotests/126 b/tests/qemu-iotests/126 index e3ee65c606..9b0dcf9255 100755 --- a/tests/qemu-iotests/126 +++ b/tests/qemu-iotests/126 @@ -37,7 +37,6 @@ _supported_fmt qcow qcow2 qed vmdk # colons which separate a protocol prefix from the rest and colons which are # just part of the filename, so we cannot test protocols which require a prefix) _supported_proto file -_supported_os Linux echo echo '=== Testing plain files ===' diff --git a/tests/qemu-iotests/127 b/tests/qemu-iotests/127 index 3e941f74d4..b64926ab31 100755 --- a/tests/qemu-iotests/127 +++ b/tests/qemu-iotests/127 @@ -42,7 +42,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux IMG_SIZE=64K diff --git a/tests/qemu-iotests/133 b/tests/qemu-iotests/133 index 1f6056d144..6f7cacc091 100755 --- a/tests/qemu-iotests/133 +++ b/tests/qemu-iotests/133 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux TEST_IMG="$TEST_IMG.base" _make_test_img 64M _make_test_img -b "$TEST_IMG.base" diff --git a/tests/qemu-iotests/134 b/tests/qemu-iotests/134 index e9e3e84c2a..141a2eaa7e 100755 --- a/tests/qemu-iotests/134 +++ b/tests/qemu-iotests/134 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow qcow2 _supported_proto generic _unsupported_proto vxhs -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/142 b/tests/qemu-iotests/142 index d9b98cf60a..6b62271876 100755 --- a/tests/qemu-iotests/142 +++ b/tests/qemu-iotests/142 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux # We test all cache modes anyway, but O_DIRECT needs to be supported _default_cache_mode none diff --git a/tests/qemu-iotests/143 b/tests/qemu-iotests/143 index c223867cb3..92249ac8da 100755 --- a/tests/qemu-iotests/143 +++ b/tests/qemu-iotests/143 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto generic -_supported_os Linux keep_stderr=y \ _launch_qemu 2> >(_filter_nbd) diff --git a/tests/qemu-iotests/144 b/tests/qemu-iotests/144 index 15157f33d7..011ed4f2bc 100755 --- a/tests/qemu-iotests/144 +++ b/tests/qemu-iotests/144 @@ -46,7 +46,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux size=512M diff --git a/tests/qemu-iotests/145 b/tests/qemu-iotests/145 index 28878dc8a1..9427549651 100755 --- a/tests/qemu-iotests/145 +++ b/tests/qemu-iotests/145 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto generic -_supported_os Linux _make_test_img 1M diff --git a/tests/qemu-iotests/153 b/tests/qemu-iotests/153 index 08ad8a6730..c969a1a16f 100755 --- a/tests/qemu-iotests/153 +++ b/tests/qemu-iotests/153 @@ -62,7 +62,6 @@ _check_ofd || _notrun "OFD lock not available" _supported_fmt qcow2 _supported_proto file -_supported_os Linux _run_cmd() { diff --git a/tests/qemu-iotests/156 b/tests/qemu-iotests/156 index 8d134029c6..2ffa3ca942 100755 --- a/tests/qemu-iotests/156 +++ b/tests/qemu-iotests/156 @@ -49,7 +49,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 qed _supported_proto generic _unsupported_proto vxhs -_supported_os Linux # Create source disk TEST_IMG="$TEST_IMG.backing" _make_test_img 1M diff --git a/tests/qemu-iotests/157 b/tests/qemu-iotests/157 index 69b25cab30..7cbac38099 100755 --- a/tests/qemu-iotests/157 +++ b/tests/qemu-iotests/157 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto file -_supported_os Linux do_run_qemu() { diff --git a/tests/qemu-iotests/158 b/tests/qemu-iotests/158 index 8c0928a7f9..ba4db6116a 100755 --- a/tests/qemu-iotests/158 +++ b/tests/qemu-iotests/158 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow qcow2 _supported_proto generic _unsupported_proto vxhs -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/159 b/tests/qemu-iotests/159 index 29066eebde..2557140ac2 100755 --- a/tests/qemu-iotests/159 +++ b/tests/qemu-iotests/159 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto file -_supported_os Linux _unsupported_fmt luks TEST_SIZES="5 512 1024 1999 1K 64K 1M" diff --git a/tests/qemu-iotests/162 b/tests/qemu-iotests/162 index 2e9947fd9a..4e5ed74fd5 100755 --- a/tests/qemu-iotests/162 +++ b/tests/qemu-iotests/162 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 . ./common.filter _supported_fmt generic -_supported_os Linux test_ssh=$($QEMU_IMG --help | grep '^Supported formats:.* ssh\( \|$\)') [ "$test_ssh" = "" ] && _notrun "ssh support required" diff --git a/tests/qemu-iotests/170 b/tests/qemu-iotests/170 index 7deb7563c9..05dd6ed6c3 100755 --- a/tests/qemu-iotests/170 +++ b/tests/qemu-iotests/170 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto file -_supported_os Linux _unsupported_fmt luks echo diff --git a/tests/qemu-iotests/173 b/tests/qemu-iotests/173 index 47036a5564..9e2fa2e73c 100755 --- a/tests/qemu-iotests/173 +++ b/tests/qemu-iotests/173 @@ -41,7 +41,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto nfs -_supported_os Linux size=100M diff --git a/tests/qemu-iotests/182 b/tests/qemu-iotests/182 index 38959bf276..3a90ebfbfd 100755 --- a/tests/qemu-iotests/182 +++ b/tests/qemu-iotests/182 @@ -42,7 +42,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux size=32M diff --git a/tests/qemu-iotests/183 b/tests/qemu-iotests/183 index 93b7bd798a..fbe5a99beb 100755 --- a/tests/qemu-iotests/183 +++ b/tests/qemu-iotests/183 @@ -44,7 +44,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 raw qed quorum _supported_proto file -_supported_os Linux size=64M _make_test_img $size diff --git a/tests/qemu-iotests/186 b/tests/qemu-iotests/186 index 5dd2177b89..7e7d45babc 100755 --- a/tests/qemu-iotests/186 +++ b/tests/qemu-iotests/186 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux if [ "$QEMU_DEFAULT_MACHINE" != "pc" ]; then _notrun "Requires a PC machine" diff --git a/tests/qemu-iotests/187 b/tests/qemu-iotests/187 index a45addde09..2fcef9e2bd 100755 --- a/tests/qemu-iotests/187 +++ b/tests/qemu-iotests/187 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux size=64M _make_test_img $size diff --git a/tests/qemu-iotests/190 b/tests/qemu-iotests/190 index e1c1d407f0..eb766ad09f 100755 --- a/tests/qemu-iotests/190 +++ b/tests/qemu-iotests/190 @@ -41,7 +41,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # See 178 for more extensive tests across more formats _supported_fmt qcow2 _supported_proto file -_supported_os Linux echo "== Huge file ==" echo diff --git a/tests/qemu-iotests/191 b/tests/qemu-iotests/191 index 1ea908ce3d..528022e8d8 100755 --- a/tests/qemu-iotests/191 +++ b/tests/qemu-iotests/191 @@ -43,7 +43,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux size=64M diff --git a/tests/qemu-iotests/192 b/tests/qemu-iotests/192 index 61a88ac88d..6193257764 100755 --- a/tests/qemu-iotests/192 +++ b/tests/qemu-iotests/192 @@ -42,7 +42,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto file -_supported_os Linux if [ "$QEMU_DEFAULT_MACHINE" != "pc" ]; then _notrun "Requires a PC machine" diff --git a/tests/qemu-iotests/195 b/tests/qemu-iotests/195 index bd1b71ae5e..ef7b9a94e2 100755 --- a/tests/qemu-iotests/195 +++ b/tests/qemu-iotests/195 @@ -39,7 +39,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux do_run_qemu() { diff --git a/tests/qemu-iotests/197 b/tests/qemu-iotests/197 index 2c664793f4..383d7d7f61 100755 --- a/tests/qemu-iotests/197 +++ b/tests/qemu-iotests/197 @@ -51,7 +51,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # Test is supported for any backing file; but we force qcow2 for our wrapper. _supported_fmt generic _supported_proto generic -_supported_os Linux # LUKS support may be possible, but it complicates things. _unsupported_fmt luks diff --git a/tests/qemu-iotests/200 b/tests/qemu-iotests/200 index 1c0f8cafc2..72d431f251 100755 --- a/tests/qemu-iotests/200 +++ b/tests/qemu-iotests/200 @@ -42,7 +42,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 qed _supported_proto file -_supported_os Linux BACKING_IMG="${TEST_DIR}/backing.img" TEST_IMG="${TEST_DIR}/test.img" diff --git a/tests/qemu-iotests/214 b/tests/qemu-iotests/214 index c1a452ff9a..21ec8a2ad8 100755 --- a/tests/qemu-iotests/214 +++ b/tests/qemu-iotests/214 @@ -36,7 +36,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt qcow2 _supported_proto file -_supported_os Linux # Repairing the corrupted image requires qemu-img check to store a # refcount up to 3, which requires at least two refcount bits. diff --git a/tests/qemu-iotests/215 b/tests/qemu-iotests/215 index 7b063d7cfa..958c14f5a0 100755 --- a/tests/qemu-iotests/215 +++ b/tests/qemu-iotests/215 @@ -48,7 +48,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # Test is supported for any backing file; but we force qcow2 for our wrapper. _supported_fmt generic _supported_proto generic -_supported_os Linux # LUKS support may be possible, but it complicates things. _unsupported_fmt luks diff --git a/tests/qemu-iotests/217 b/tests/qemu-iotests/217 index f5482bb669..58a78a6098 100755 --- a/tests/qemu-iotests/217 +++ b/tests/qemu-iotests/217 @@ -37,7 +37,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # This test is specific to qcow2 _supported_fmt qcow2 _supported_proto file -_supported_os Linux # This test needs clusters with at least a refcount of 2 so that # OFLAG_COPIED is not set. refcount_bits=1 is therefore unsupported. diff --git a/tests/qemu-iotests/227 b/tests/qemu-iotests/227 index 10cf144eb0..bdd727a721 100755 --- a/tests/qemu-iotests/227 +++ b/tests/qemu-iotests/227 @@ -38,7 +38,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto file -_supported_os Linux do_run_qemu() { diff --git a/tests/qemu-iotests/231 b/tests/qemu-iotests/231 index 5b2cbab9ac..c0b053ac30 100755 --- a/tests/qemu-iotests/231 +++ b/tests/qemu-iotests/231 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt generic _supported_proto rbd -_supported_os Linux BOGUS_CONF=${TEST_DIR}/ceph-$$.conf touch "${BOGUS_CONF}" diff --git a/tests/qemu-iotests/233 b/tests/qemu-iotests/233 index 41b4d46560..057cad2044 100755 --- a/tests/qemu-iotests/233 +++ b/tests/qemu-iotests/233 @@ -47,7 +47,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 _supported_fmt raw qcow2 _supported_proto file # If porting to non-Linux, consider using socat instead of ss in common.nbd -_supported_os Linux _require_command QEMU_NBD nbd_server_set_tcp_port diff --git a/tests/qemu-iotests/239 b/tests/qemu-iotests/239 index 6f085d573d..b0991ffe59 100755 --- a/tests/qemu-iotests/239 +++ b/tests/qemu-iotests/239 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # Test case for dmg # diff --git a/tests/qemu-iotests/240 b/tests/qemu-iotests/240 index 65cc3b39b1..b4cf95096d 100755 --- a/tests/qemu-iotests/240 +++ b/tests/qemu-iotests/240 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # Test hot plugging and unplugging with iothreads # @@ -33,7 +33,6 @@ status=1 # failure is the default! _supported_fmt generic _supported_proto generic -_supported_os Linux do_run_qemu() { diff --git a/tests/qemu-iotests/241 b/tests/qemu-iotests/241 index 017a736aab..58b64ebf41 100755 --- a/tests/qemu-iotests/241 +++ b/tests/qemu-iotests/241 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # Test qemu-nbd vs. unaligned images # diff --git a/tests/qemu-iotests/243 b/tests/qemu-iotests/243 index 5838c6e89c..e563761307 100755 --- a/tests/qemu-iotests/243 +++ b/tests/qemu-iotests/243 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # Test qcow2 preallocation # diff --git a/tests/qemu-iotests/244 b/tests/qemu-iotests/244 index d8e7122305..13978f93d2 100755 --- a/tests/qemu-iotests/244 +++ b/tests/qemu-iotests/244 @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # # Test qcow2 with external data files # diff --git a/tests/qemu-iotests/247 b/tests/qemu-iotests/247 index fc50eb5dc1..546a794d3d 100755 --- a/tests/qemu-iotests/247 +++ b/tests/qemu-iotests/247 @@ -40,7 +40,6 @@ trap "_cleanup; exit \$status" 0 1 2 3 15 # Requires backing files and .bdrv_change_backing_file support _supported_fmt qcow2 qed _supported_proto file -_supported_os Linux size=128M diff --git a/tests/qemu-iotests/check b/tests/qemu-iotests/check index f9c24b6753..922c5d1d3d 100755 --- a/tests/qemu-iotests/check +++ b/tests/qemu-iotests/check @@ -130,7 +130,6 @@ export CACHEMODE="writeback" export QEMU_IO_OPTIONS="" export QEMU_IO_OPTIONS_NO_FMT="" export CACHEMODE_IS_DEFAULT=true -export QEMU_OPTIONS="-nodefaults -machine accel=qtest" export VALGRIND_QEMU= export IMGKEYSECRET= export IMGOPTSSYNTAX=false @@ -564,6 +563,18 @@ then fi export QEMU_PROG="$(type -p "$QEMU_PROG")" +case "$QEMU_PROG" in + *qemu-system-arm|*qemu-system-aarch64) + export QEMU_OPTIONS="-nodefaults -machine virt,accel=qtest" + ;; + *qemu-system-tricore) + export QEMU_OPTIONS="-nodefaults -machine tricore_testboard,accel=qtest" + ;; + *) + export QEMU_OPTIONS="-nodefaults -machine accel=qtest" + ;; +esac + if [ -z "$QEMU_IMG_PROG" ]; then if [ -x "$build_iotests/qemu-img" ]; then export QEMU_IMG_PROG="$build_iotests/qemu-img" diff --git a/tests/qom-test.c b/tests/qom-test.c index 73c52af3bb..4f94cc678c 100644 --- a/tests/qom-test.c +++ b/tests/qom-test.c @@ -44,7 +44,7 @@ static bool is_blacklisted(const char *arch, const char *mach) return false; } -static void test_properties(const char *path, bool recurse) +static void test_properties(QTestState *qts, const char *path, bool recurse) { char *child_path; QDict *response, *tuple, *tmp; @@ -52,8 +52,8 @@ static void test_properties(const char *path, bool recurse) QListEntry *entry; g_test_message("Obtaining properties of %s", path); - response = qmp("{ 'execute': 'qom-list'," - " 'arguments': { 'path': %s } }", path); + response = qtest_qmp(qts, "{ 'execute': 'qom-list'," + " 'arguments': { 'path': %s } }", path); g_assert(response); if (!recurse) { @@ -71,15 +71,15 @@ static void test_properties(const char *path, bool recurse) if (is_child || is_link) { child_path = g_strdup_printf("%s/%s", path, qdict_get_str(tuple, "name")); - test_properties(child_path, is_child); + test_properties(qts, child_path, is_child); g_free(child_path); } else { const char *prop = qdict_get_str(tuple, "name"); g_test_message("Testing property %s.%s", path, prop); - tmp = qmp("{ 'execute': 'qom-get'," - " 'arguments': { 'path': %s," - " 'property': %s } }", - path, prop); + tmp = qtest_qmp(qts, + "{ 'execute': 'qom-get'," + " 'arguments': { 'path': %s, 'property': %s } }", + path, prop); /* qom-get may fail but should not, e.g., segfault. */ g_assert(tmp); qobject_unref(tmp); @@ -91,20 +91,18 @@ static void test_properties(const char *path, bool recurse) static void test_machine(gconstpointer data) { const char *machine = data; - char *args; QDict *response; + QTestState *qts; - args = g_strdup_printf("-machine %s", machine); - qtest_start(args); + qts = qtest_initf("-machine %s", machine); - test_properties("/machine", true); + test_properties(qts, "/machine", true); - response = qmp("{ 'execute': 'quit' }"); + response = qtest_qmp(qts, "{ 'execute': 'quit' }"); g_assert(qdict_haskey(response, "return")); qobject_unref(response); - qtest_end(); - g_free(args); + qtest_quit(qts); g_free((void *)machine); } |