xemu/tests
Paolo Bonzini 32c02fdda4 qemu-option: restrict qemu_opts_set to merge-lists QemuOpts
qemu_opts_set is used to create default network backends and to
parse sugar options -kernel, -initrd, -append, -bios and -dtb.
These are very different uses:

I would *expect* a function named qemu_opts_set to set an option in a
merge-lists QemuOptsList, such as -kernel, and possibly to set an option
in a non-merge-lists QemuOptsList with non-NULL id, similar to -set.

However, it wouldn't *work* to use qemu_opts_set for the latter
because qemu_opts_set uses fail_if_exists==1. So, for non-merge-lists
QemuOptsList and non-NULL id, the semantics of qemu_opts_set (fail if the
(QemuOptsList, id) pair already exists) are debatable.

On the other hand, I would not expect qemu_opts_set to create a
non-merge-lists QemuOpts with a single option; which it does, though.
For this case of non-merge-lists QemuOptsList and NULL id, qemu_opts_set
hardly adds value over qemu_opts_parse.  It does skip some parsing and
unescaping, but that's not needed when creating default network
backends.

So qemu_opts_set has warty behavior for non-merge-lists QemuOptsList
if id is non-NULL, and it's mostly pointless if id is NULL.  My
solution to keeping the API as simple as possible is to limit
qemu_opts_set to merge-lists QemuOptsList.  For them, it's useful (we
don't want comma-unescaping for -kernel) *and* has sane semantics.
Network backend creation is switched to qemu_opts_parse.

qemu_opts_set is now only used on merge-lists QemuOptsList... except
in the testcase, which is changed to use a merge-list QemuOptsList.

With this change we can also remove the id parameter.  With the
parameter always NULL, we know that qemu_opts_create cannot fail
and can pass &error_abort to it.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
2020-12-10 12:15:12 -05:00
..
acceptance tests/avocado: clean-up socket directory after run 2020-11-23 09:52:24 +00:00
data tests/acpi: update expected data files 2020-12-10 08:47:44 +01:00
decode decodetree: Improve identifier matching 2020-09-14 14:23:19 +01:00
docker Remove obsolete setuptools dependency and fix Stefan's 2020-11-26 14:25:47 +00:00
fp do not use colons in test names 2020-10-22 11:53:53 -04:00
guest-debug tests/guest-debug: catch hanging guests 2020-05-15 15:25:07 +01:00
image-fuzzer
include tests: add missing generated sources to testqapi 2020-10-17 10:45:50 -04:00
keys tests/vm: Add Haiku test based on their vagrant images 2020-11-17 09:45:24 +01:00
migration tests/migration: Fix LGPL information in the file headers 2020-11-15 17:04:40 +01:00
multiboot Remove superfluous .gitignore files 2020-10-13 12:48:17 +02:00
perf/block/qcow2
plugin plugin: Fixes compiling errors on msys2/mingw 2020-10-09 17:27:55 +01:00
qapi-schema meson: move SPHINX_ARGS references within "if build_docs" 2020-10-17 10:45:52 -04:00
qemu-iotests iotests/081: Test rewrite-corrupted without WRITE 2020-11-17 12:38:32 +01:00
qtest treewide: do not use short-form boolean options 2020-12-10 12:15:11 -05:00
rocker
tcg target/i386: fix operand order for PDEP and PEXT 2020-12-10 12:14:49 -05:00
tsan tests/docker: Added docker build support for TSan. 2020-06-16 14:49:05 +01:00
uefi-test-tools Remove superfluous .gitignore files 2020-10-13 12:48:17 +02:00
vm tests/docker, tests/vm: remove setuptools from images 2020-11-25 12:50:48 -05:00
vmstate-static-checker-data
atomic64-bench.c qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
atomic_add-bench.c qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
benchmark-crypto-cipher.c tests: fix output message formatting for crypto benchmarks 2020-09-10 11:02:17 +01:00
benchmark-crypto-hash.c tests: fix output message formatting for crypto benchmarks 2020-09-10 11:02:17 +01:00
benchmark-crypto-hmac.c tests: fix output message formatting for crypto benchmarks 2020-09-10 11:02:17 +01:00
check-block-qdict.c tests: Use error_free_or_abort() where appropriate 2020-07-02 06:25:28 +02:00
check-block.sh tests/check-block: Do not run the iotests with old versions of bash 2020-10-02 15:46:40 +02:00
check-qdict.c
check-qjson.c json: Fix a memleak in parse_pair() 2020-11-17 15:39:53 +01:00
check-qlist.c qobject: Eliminate qlist_iter(), use QLIST_FOREACH_ENTRY() instead 2020-04-30 06:51:15 +02:00
check-qlit.c
check-qnull.c
check-qnum.c
check-qobject.c tests: Use &error_abort where appropriate 2020-07-02 06:25:28 +02:00
check-qom-interface.c Use DECLARE_*CHECKER* macros 2020-09-09 09:27:09 -04:00
check-qom-proplist.c qom: Clean up object_property_get_enum()'s error value 2020-09-18 13:49:48 -04:00
check-qstring.c
crypto-tls-psk-helpers.c
crypto-tls-psk-helpers.h
crypto-tls-x509-helpers.c crypto: use a stronger private key for tests 2020-07-17 14:20:57 +02:00
crypto-tls-x509-helpers.h
dbus-vmstate-daemon.sh
io-channel-helpers.c test: Fix LGPL information in the file headers 2020-11-15 17:04:40 +01:00
io-channel-helpers.h test: Fix LGPL information in the file headers 2020-11-15 17:04:40 +01:00
iothread.c qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
iothread.h
Makefile.include build: replace ninjatool with ninja 2020-10-17 10:45:51 -04:00
meson.build libvhost-user: make it a meson subproject 2020-12-08 13:48:58 -05:00
pkix_asn1_tab.c
ptimer-test-stubs.c replay: do not build if TCG is not available 2020-10-22 11:53:54 -04:00
ptimer-test.c
ptimer-test.h
qht-bench.c qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
rcutorture.c qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
requirements.txt Acceptance tests: bump pycdlib version for easier installation 2020-10-13 08:08:55 +02:00
socket-helpers.c tests/socket-helpers: Treat EAI_NONAME as EADDRNOTAVAIL 2020-09-16 08:41:06 +02:00
socket-helpers.h
test-aio-multithread.c qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
test-aio.c util/async: make bh_aio_poll() O(1) 2020-02-22 08:26:47 +00:00
test-authz-list.c authz: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-authz-listfile.c authz: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-authz-pam.c authz: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-authz-simple.c authz: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-base64.c test: Fix LGPL information in the file headers 2020-11-15 17:04:40 +01:00
test-bdrv-drain.c block: End quiescent sections when a BDS is deleted 2020-10-27 15:26:20 +01:00
test-bdrv-graph-mod.c tests: Use error_free_or_abort() where appropriate 2020-07-02 06:25:28 +02:00
test-bitcnt.c
test-bitmap.c mingw: fix error __USE_MINGW_ANSI_STDIO redefined 2020-10-13 13:33:46 +02:00
test-bitops.c
test-block-backend.c
test-block-iothread.c tests: Use error_free_or_abort() where appropriate 2020-07-02 06:25:28 +02:00
test-blockjob-txn.c
test-blockjob.c job: take each job's lock individually in job_txn_apply 2020-04-07 14:34:47 +02:00
test-bufferiszero.c test: Fix LGPL information in the file headers 2020-11-15 17:04:40 +01:00
test-char.c treewide: do not use short-form boolean options 2020-12-10 12:15:11 -05:00
test-clone-visitor.c
test-coroutine.c
test-crypto-afsplit.c crypt: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-crypto-block.c crypt: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-crypto-cipher.c crypt: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-crypto-hash.c crypt: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-crypto-hmac.c
test-crypto-ivgen.c crypt: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-crypto-pbkdf.c test: Fix LGPL information in the file headers 2020-11-15 17:04:40 +01:00
test-crypto-secret.c crypt: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-crypto-tlscredsx509.c
test-crypto-tlssession.c
test-crypto-xts.c crypt: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-cutils.c
test-fdmon-epoll.c tests: add test-fdmon-epoll 2020-09-23 13:45:52 +01:00
test-hbitmap.c block/dirty-bitmap: improve _next_dirty_area API 2020-03-18 14:03:46 -04:00
test-image-locking.c
test-int128.c
test-io-channel-buffer.c io: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-io-channel-command.c io: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-io-channel-file.c io: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-io-channel-socket.c io: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-io-channel-tls.c
test-io-task.c io: Fix Lesser GPL version number 2020-10-29 09:57:37 +00:00
test-iov.c util/iov: add iov_discard_undo() 2020-09-23 13:41:58 +01:00
test-keyval.c keyval: Parse help options 2020-10-15 16:06:27 +02:00
test-logging.c qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
test-mul64.c
test-opts-visitor.c
test-qapi-util.c
test-qdev-global-props.c tests: Fixes test-qdev-global-props.c 2020-09-16 12:15:07 +02:00
test-qdist.c
test-qemu-opts.c qemu-option: restrict qemu_opts_set to merge-lists QemuOpts 2020-12-10 12:15:12 -05:00
test-qga.c test-qga: fix a resource leak in test_qga_guest_get_osinfo() 2020-12-09 08:04:34 +01:00
test-qgraph.c test: Fix LGPL information in the file headers 2020-11-15 17:04:40 +01:00
test-qht-par.c
test-qht.c
test-qmp-cmds.c qapi: Add a 'coroutine' flag for commands 2020-10-09 07:08:19 +02:00
test-qmp-event.c tests/test-qmp-event: Check event is actually emitted 2020-03-17 19:58:34 +01:00
test-qobject-input-visitor.c qapi: enable use of g_autoptr with QAPI types 2020-09-03 09:38:36 +02:00
test-qobject-output-visitor.c qapi: Assert output visitors see only valid enum values 2020-04-30 07:26:09 +02:00
test-rcu-list.c qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
test-rcu-simpleq.c
test-rcu-slist.c rcu_queue: add QSLIST functions 2020-02-22 08:26:47 +00:00
test-rcu-tailq.c
test-replication.c tests: test-replication disable /replication/secondary/* on msys2/mingw. 2020-09-16 08:41:06 +02:00
test-shift128.c
test-string-input-visitor.c tests: Use &error_abort where appropriate 2020-07-02 06:25:28 +02:00
test-string-output-visitor.c tests: Use &error_abort where appropriate 2020-07-02 06:25:28 +02:00
test-thread-pool.c qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
test-throttle.c
test-timed-average.c cpu-timers, icount: new modules 2020-10-05 16:41:22 +02:00
test-util-filemonitor.c tests: Fixes building test-util-filemonitor.c on msys2/mingw 2020-09-07 12:34:17 +02:00
test-util-sockets.c sockets: Make abstract UnixSocketAddress depend on CONFIG_LINUX 2020-11-03 13:17:25 +00:00
test-uuid.c test: Fix LGPL information in the file headers 2020-11-15 17:04:40 +01:00
test-visitor-serialization.c
test-vmstate.c vmstate: Fixes test-vmstate.c on msys2/mingw 2020-09-16 08:41:06 +02:00
test-write-threshold.c
test-x86-cpuid.c Revert "hw/i386: Update structures to save the number of nodes per package" 2020-09-02 07:29:26 -04:00
test-xbzrle.c
vhost-user-bridge.c libvhost-user: make it a meson subproject 2020-12-08 13:48:58 -05:00