qemu/tests/unit
Kevin Wolf 617f3a9635 test-bdrv-drain: Fix incorrrect drain assumptions
The test case assumes that a drain only happens in one specific place
where it drains explicitly. This assumption happened to hold true until
now, but block layer functions may drain interally (any graph
modifications are going to do that through bdrv_graph_wrlock()), so this
is incorrect. Make sure that the test code in .drained_begin only runs
where we actually want it to run.

When scheduling a BH from .drained_begin, we also need to increase the
in_flight counter to make sure that the operation is actually completed
in time before the node that it works on goes away.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20221207131838.239125-10-kwolf@redhat.com>
Reviewed-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2022-12-15 16:08:23 +01:00
..
check-block-qdict.c tests: unit: add NULL-pointer check 2022-09-18 09:17:41 +02:00
check-qdict.c
check-qjson.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
check-qlist.c
check-qlit.c
check-qnull.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
check-qnum.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
check-qobject.c tests: remove block/qdict checks from check-qobject.c 2022-04-21 17:03:51 +04:00
check-qom-interface.c
check-qom-proplist.c include: add qemu/keyval.h 2022-04-21 17:03:51 +04:00
check-qstring.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
crypto-tls-psk-helpers.c tests: avoid DOS line endings in PSK file 2022-10-27 11:55:41 +01:00
crypto-tls-psk-helpers.h tests: add migration tests of TLS with PSK credentials 2022-05-16 11:46:04 +01:00
crypto-tls-x509-helpers.c tests: fix encoding of IP addresses in x509 certs 2022-05-16 11:46:04 +01:00
crypto-tls-x509-helpers.h tests: add more helper macros for creating TLS x509 certs 2022-05-16 11:46:04 +01:00
io-channel-helpers.c tests/channel-helper: set blocking in main thread 2022-10-12 19:22:01 +04:00
io-channel-helpers.h
iothread.c async: the main AioContext is only "current" if under the BQL 2021-06-18 10:59:52 -05:00
iothread.h
meson.build io: add a QIOChannelNull equivalent to /dev/null 2022-06-22 18:11:21 +01:00
pkix_asn1_tab.c tests: remove QCRYPTO_HAVE_TLS_TEST_SUPPORT 2021-06-25 10:53:46 +02:00
ptimer-test-stubs.c misc: Remove unnecessary "sysemu/cpu-timers.h" include 2022-03-06 13:15:42 +01:00
ptimer-test.c tests/unit: Replace g_memdup() by g_memdup2() 2022-07-18 20:24:36 +02:00
ptimer-test.h
rcutorture.c rcu: use coroutine TLS macros 2022-03-04 18:14:40 +01:00
socket-helpers.c tests/unit: Update test-io-channel-socket.c for Windows 2022-09-02 15:54:47 +04:00
socket-helpers.h tests/unit: Update test-io-channel-socket.c for Windows 2022-09-02 15:54:47 +04:00
test-aio-multithread.c
test-aio.c aio-posix: split poll check from ready handler 2022-01-12 17:09:39 +00:00
test-authz-list.c
test-authz-listfile.c
test-authz-pam.c
test-authz-simple.c
test-base64.c
test-bdrv-drain.c test-bdrv-drain: Fix incorrrect drain assumptions 2022-12-15 16:08:23 +01:00
test-bdrv-graph-mod.c test-bdrv-graph-mod: fix filters to be filters 2022-10-27 20:14:11 +02:00
test-bitcnt.c
test-bitmap.c
test-bitops.c
test-block-backend.c
test-block-iothread.c block: remove bdrv_try_set_aio_context and replace it with bdrv_try_change_aio_context 2022-10-27 20:14:11 +02:00
test-blockjob-txn.c jobs: use job locks also in the unit tests 2022-10-07 12:11:41 +02:00
test-blockjob.c job: remove unused functions 2022-10-07 12:11:41 +02:00
test-bufferiszero.c
test-char.c qapi chardev: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
test-clone-visitor.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
test-coroutine.c test-coroutine: add missing coroutine_fn annotations 2022-10-07 12:11:41 +02:00
test-crypto-afsplit.c
test-crypto-akcipher.c tests/crypto: Add test suite for RSA keys 2022-05-26 11:41:56 +01:00
test-crypto-block.c qapi crypto: Elide redundant has_FOO in generated C 2022-12-14 20:04:47 +01:00
test-crypto-cipher.c crypto: replace 'des-rfb' cipher with 'des' 2021-07-14 14:15:52 +01:00
test-crypto-der.c crypto: Support DER encodings 2022-11-02 06:56:32 -04:00
test-crypto-hash.c crypto: use &error_fatal in crypto tests 2021-07-14 14:15:52 +01:00
test-crypto-hmac.c crypto: use &error_fatal in crypto tests 2021-07-14 14:15:52 +01:00
test-crypto-ivgen.c crypto: skip essiv ivgen tests if AES+ECB isn't available 2021-07-14 14:15:52 +01:00
test-crypto-pbkdf.c crypto: remove obsolete crypto test condition 2021-07-14 14:15:52 +01:00
test-crypto-secret.c
test-crypto-tlscredsx509.c tests: Use g_mkdir_with_parents() 2022-08-25 15:24:09 +02:00
test-crypto-tlssession.c tests: Use g_mkdir_with_parents() 2022-08-25 15:24:09 +02:00
test-crypto-xts.c
test-cutils.c tests: fix test-cutils leaks 2022-07-04 13:42:08 +02:00
test-div128.c host-utils: add unit tests for divu128/divs128 2021-10-27 17:10:00 -07:00
test-fdmon-epoll.c aio-posix: split poll check from ready handler 2022-01-12 17:09:39 +00:00
test-forward-visitor.c include: add qemu/keyval.h 2022-04-21 17:03:51 +04:00
test-hbitmap.c Use g_new() & friends where that makes obvious sense 2022-03-21 15:44:44 +01:00
test-image-locking.c tests/unit/test-image-locking: Fix handling of temporary files 2022-10-12 12:48:53 +02:00
test-int128.c qemu/int128: add int128_urshift 2022-04-20 18:00:30 -03:00
test-io-channel-buffer.c
test-io-channel-command.c tests/unit: simpler variable sequence for test-io-channel 2022-11-05 20:35:45 +01:00
test-io-channel-file.c tests: replace pipe() with g_unix_open_pipe(CLOEXEC) 2022-05-03 15:46:08 +04:00
test-io-channel-null.c io: add a QIOChannelNull equivalent to /dev/null 2022-06-22 18:11:21 +01:00
test-io-channel-socket.c tests/unit: Update test-io-channel-socket.c for Windows 2022-09-02 15:54:47 +04:00
test-io-channel-tls.c tests: Use g_mkdir_with_parents() 2022-08-25 15:24:09 +02:00
test-io-task.c
test-iov.c tests/unit: Replace g_memdup() by g_memdup2() 2022-07-18 20:24:36 +02:00
test-keyval.c include: add qemu/keyval.h 2022-04-21 17:03:51 +04:00
test-logging.c util/log: Remove qemu_log_close 2022-04-20 10:51:11 -07:00
test-mul64.c
test-opts-visitor.c
test-qapi-util.c
test-qdev-global-props.c
test-qdist.c
test-qemu-opts.c qemu-option: remove now-dead code 2021-07-06 08:33:51 +02:00
test-qga.c tests/unit: test-qga: Avoid using hardcoded /tmp 2022-09-27 20:51:20 +02:00
test-qgraph.c tests: Remove uses of deprecated raspi2/raspi3 machine names 2021-09-01 11:08:15 +01:00
test-qht.c
test-qmp-cmds.c qapi tests: Elide redundant has_FOO in generated C 2022-12-13 18:31:37 +01:00
test-qmp-event.c qapi tests: Elide redundant has_FOO in generated C 2022-12-13 18:31:37 +01:00
test-qobject-input-visitor.c qapi tests: Elide redundant has_FOO in generated C 2022-12-13 18:31:37 +01:00
test-qobject-output-visitor.c qapi tests: Elide redundant has_FOO in generated C 2022-12-13 18:31:37 +01:00
test-rcu-list.c rcu: use coroutine TLS macros 2022-03-04 18:14:40 +01:00
test-rcu-simpleq.c
test-rcu-slist.c
test-rcu-tailq.c
test-replication.c replication: move include out of root directory 2021-05-26 14:49:46 +02:00
test-seccomp.c seccomp: fix blocking of process spawning 2022-02-16 18:52:40 +00:00
test-shift128.c
test-smp-parse.c tests/unit/test-smp-parse: Keep default MIN/MAX CPUs in machine_base_class_init 2021-12-31 13:42:48 +01:00
test-string-input-visitor.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
test-string-output-visitor.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
test-thread-pool.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
test-throttle.c
test-timed-average.c
test-util-filemonitor.c
test-util-sockets.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
test-uuid.c
test-visitor-serialization.c qapi tests: Elide redundant has_FOO in generated C 2022-12-13 18:31:37 +01:00
test-vmstate.c tests/unit/test-vmstate: Avoid dynamic stack allocation 2022-09-22 16:38:28 +01:00
test-write-threshold.c write-threshold: deal with includes 2021-05-14 16:14:10 +02:00
test-x86-cpuid.c
test-xbzrle.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
test-yank.c qapi: Convert simple union SocketAddressLegacy to flat one 2021-09-27 08:23:25 +02:00