qemu-e2k/tests
Eric Blake 0545f6b887 qapi: Better error messages for bad expressions
The previous commit demonstrated that the generator overlooked some
fairly basic broken expressions:
- missing metataype
- metatype key has a non-string value
- unknown key in relation to the metatype
- conflicting metatype (this patch treats the second metatype as an
unknown key of the first key visited, which is not necessarily the
first key the user typed)

Add check_keys to cover these situations, and update testcases to
match.  A couple other tests (enum-missing-data, indented-expr) had
to change since the validation added here occurs so early.
Conversely, changes to ident-with-escape results show that we still
have problems where our handling of escape sequences differs from
true JSON, which will matter down the road if we allow arbitrary
default string values for optional parameters (but for now is not
too bad, as we currently can avoid unicode escaping as we don't
need to represent anything beyond C identifier material).

While valid .json files won't trigger any of these cases, we might
as well be nicer to developers that make a typo while trying to add
new QAPI code.

Signed-off-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Markus Armbruster <armbru@redhat.com>
2015-05-05 18:39:01 +02:00
..
acpi-test-data acpi-test: update expected files 2015-03-11 15:59:57 +01:00
image-fuzzer
libqos misc: Fix new collection of typos 2015-04-30 16:05:48 +03:00
multiboot
qapi-schema qapi: Better error messages for bad expressions 2015-05-05 18:39:01 +02:00
qemu-iotests iotests: add incremental backup granularity tests 2015-04-28 15:36:11 +02:00
tcg
vmstate-static-checker-data
.gitignore gitignore: Ignore new tests 2015-03-10 08:15:34 +03:00
ac97-test.c
ahci-test.c qtest/ahci: add flush retry test 2015-04-28 15:27:51 -04:00
bios-tables-test.c tests: bios-tables-test: add support for testing bridges 2015-03-01 12:33:22 +01:00
boot-order-test.c
check-block.sh
check-qdict.c
check-qfloat.c
check-qint.c
check-qjson.c
check-qlist.c
check-qom-interface.c
check-qstring.c
display-vga-test.c
drive_del-test.c
e1000-test.c
eepro100-test.c
endianness-test.c
es1370-test.c
fdc-test.c
fw_cfg-test.c fw_cfg-test: Fix test path to include architecture 2015-03-30 19:19:42 +02:00
hd-geo-test.c
i440fx-test.c i440fx-test: Fix test paths to include architecture 2015-03-30 19:24:54 +02:00
i82801b11-test.c
ide-test.c libqos: add blkdebug_prepare_script 2015-04-28 15:27:51 -04:00
intel-hda-test.c
ioh3420-test.c
ipoctal232-test.c
libqtest.c qtest: Add assertion that required environment variable is set 2015-04-28 15:27:51 -04:00
libqtest.h libqtest: add qmp_async 2015-04-28 15:27:51 -04:00
m48t59-test.c
Makefile qapi: Add some expr tests 2015-05-05 18:39:01 +02:00
ne2000-test.c
nvme-test.c
pc-cpu-test.c tests: Add PC CPU test 2015-03-17 14:50:44 +01:00
pcnet-test.c
pvpanic-test.c
qemu-iotests-quick.sh
qom-test.c
rcutorture.c rcu tests: fix compilation on 32-bit ppc 2015-03-25 13:37:10 +01:00
rtc-test.c
rtl8139-test.c tests: rtl8139: test timers and interrupt 2015-03-12 19:59:39 +00:00
spapr-phb-test.c
test-aio.c iothread: release iothread around aio_poll 2015-04-28 15:36:08 +02:00
test-bitops.c
test-coroutine.c test-coroutine: Regression test for yield bug 2015-03-09 11:11:59 +01:00
test-cutils.c
test-hbitmap.c hbitmap: truncate tests 2015-04-28 15:36:11 +02:00
test-int128.c
test-iov.c
test-mul64.c
test-opts-visitor.c
test-qdev-global-props.c
test-qemu-opts.c QemuOpts: Drop qemu_opt_set(), rename qemu_opt_set_err(), fix use 2015-02-26 14:49:31 +01:00
test-qmp-commands.c
test-qmp-event.c
test-qmp-input-strict.c qapi: Rename anonymous union type in test 2015-05-05 18:39:00 +02:00
test-qmp-input-visitor.c qapi: Rename anonymous union type in test 2015-05-05 18:39:00 +02:00
test-qmp-output-visitor.c qapi: Rename anonymous union type in test 2015-05-05 18:39:00 +02:00
test-rcu-list.c rcu tests: fix compilation on 32-bit ppc 2015-03-25 13:37:10 +01:00
test-rfifolock.c
test-string-input-visitor.c
test-string-output-visitor.c
test-thread-pool.c
test-throttle.c
test-visitor-serialization.c
test-vmstate.c
test-write-threshold.c
test-x86-cpuid.c target-i386: Move topology.h to include/hw/i386 2015-03-09 16:30:02 -03:00
test-xbzrle.c
tmp105-test.c
tpci200-test.c
usb-hcd-ehci-test.c tests: usb: Generic usb device hotplug 2014-10-15 05:03:13 +02:00
usb-hcd-ohci-test.c misc: fix typos in copyright declaration 2015-03-26 14:21:43 +01:00
usb-hcd-uhci-test.c misc: fix typos in copyright declaration 2015-03-26 14:21:43 +01:00
usb-hcd-xhci-test.c misc: fix typos in copyright declaration 2015-03-26 14:21:43 +01:00
vhost-user-test.c
virtio-9p-test.c
virtio-balloon-test.c
virtio-blk-test.c tests: Check QVIRTIO_F_ANY_LAYOUT flag in virtio-blk test 2015-03-10 14:02:23 +01:00
virtio-console-test.c
virtio-net-test.c
virtio-rng-test.c
virtio-scsi-test.c
virtio-serial-test.c
vmxnet3-test.c
wdt_ib700-test.c