qemu/scripts
Markus Armbruster c615550df3 qapi: Improve source file read error handling
qapi-gen.py crashes when it can't open the main schema file, and when
it can't read from any schema file.  Lazy.

Change QAPISchema.__init__() to take a file name instead of a file
object.  Move the open code from _include() to __init__(), so it's
used for the main schema file, too.

Move the read into the try for good measure, and rephrase the error
message.

Reporting open or read failure for the main schema file needs a
QAPISourceInfo representing "no source".  Make QAPISourceInfo cope
with fname=None.

Signed-off-by: Markus Armbruster <armbru@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-Id: <20190927134639.4284-27-armbru@redhat.com>
2019-09-28 17:17:48 +02:00
..
coccinelle
kvm
modules
qapi
qemu-guest-agent
qemugdb
qmp
tracetool
travis
analyse-9p-simpletrace.py
analyse-locks-simpletrace.py
analyze-inclusions
analyze-migration.py
archive-source.sh
checkpatch.pl
clean-header-guards.pl
clean-includes
cleanup-trace-events.pl
cocci-macro-file.h
coverity-model.c
create_config
decodetree.py
device-crash-test
disas-objdump.pl
dump-guest-memory.py
extract-vsssdk-headers
feature_to_c.sh
fix-multiline-comments.sh
get_maintainer.pl
git-submodule.sh
git.orderfile
hxtool
make-release
minikconf.py
qapi-gen.py
qemu-binfmt-conf.sh
qemu-gdb.py
qemu-trace-stap
qemu-trace-stap.texi
refresh-pxe-roms.sh
render_block_graph.py
replay-dump.py
shaderinclude.pl
show-fixed-bugs.sh
signrom.py
simpletrace.py
switch-timer-api
tap-driver.pl
tap-merge.pl
texi2pod.pl
tracetool.py
update-linux-headers.sh
vmstate-static-checker.py