qemu-cr16/tests/unit
Vladimir Sementsov-Ogievskiy 8cb17f9c36 util: drop qemu_socket_set_nonblock()
Use common qemu_set_blocking() instead.

Note that pre-patch the behavior of Win32 and Linux realizations
are inconsistent: we ignore failure for Win32, and assert success
for Linux.

How do we convert the callers?

1. Most of callers call qemu_socket_set_nonblock() on a
freshly created socket fd, in conditions when we may simply
report an error. Seems correct switching to error handling
both for Windows (pre-patch error is ignored) and Linux
(pre-patch we assert success). Anyway, we normally don't
expect errors in these cases.

Still in tests let's use &error_abort for simplicity.

What are exclusions?

2. hw/virtio/vhost-user.c - we are inside #ifdef CONFIG_LINUX,
so no damage in switching to error handling from assertion.

3. io/channel-socket.c: here we convert both old calls to
qemu_socket_set_nonblock() and qemu_socket_set_block() to
one new call. Pre-patch we assert success for Linux in
qemu_socket_set_nonblock(), and ignore all other errors here.
So, for Windows switch is a bit dangerous: we may get
new errors or crashes(when error_abort is passed) in
cases where we have silently ignored the error before
(was it correct in all such cases, if they were?) Still,
there is no other way to stricter API than take
this risk.

4. util/vhost-user-server - compiled only for Linux (see
util/meson.build), so we are safe, switching from assertion to
&error_abort.

Note: In qga/channel-posix.c we use g_warning(), where g_printerr()
would actually be a better choice. Still let's for now follow
common style of qga, where g_warning() is commonly used to print
such messages, and no call to g_printerr(). Converting everything
to use g_printerr() should better be another series.

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@yandex-team.ru>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
2025-09-19 12:46:07 +01:00
..
check-block-qdict.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
check-qdict.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
check-qjson.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
check-qlist.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
check-qlit.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
check-qnull.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
check-qnum.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
check-qobject.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
check-qom-interface.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
check-qom-proplist.c qom: Make InterfaceInfo[] uses const 2025-04-25 17:00:41 +02:00
check-qstring.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
crypto-tls-psk-helpers.c crypto: Remove 'crypto-tls-x509-helpers.h' from crypto-tls-psk-helpers.c 2024-07-24 10:39:10 +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/unit/crypto-tls-x509-helpers: deinit privkey in test_tls_cleanup 2024-09-03 16:24:34 -03:00
crypto-tls-x509-helpers.h tests/qtest/migration-test: Free QCRyptoTLSTestCertReq objects 2024-09-03 16:24:34 -03:00
io-channel-helpers.c treewide: handle result of qio_channel_set_blocking() 2025-09-19 12:46:07 +01: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 tests/unit: remove block layer code from test-nested-aio-poll 2024-10-02 12:58:46 +02:00
pkix_asn1_tab.c.inc crypto: Restrict pkix_asn1_tab[] to crypto-tls-x509-helpers.c 2024-07-24 10:39:10 +01:00
ptimer-test-stubs.c async: Add an optional reentrancy guard to the BH API 2023-04-28 11:31:07 +02:00
ptimer-test.c hw/core/ptimer: fix timer zero period condition for freq > 1GHz 2024-08-12 11:40:16 +01:00
ptimer-test.h
rcutorture.c Updated the FSF address to <https://www.gnu.org/licenses/> 2023-02-27 09:15:39 +01:00
socket-helpers.c util: drop qemu_socket_set_nonblock() 2025-09-19 12:46:07 +01: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 futex: Support Windows 2025-06-06 14:32:55 +02:00
test-aio.c tests: remove aio_context_acquire() tests 2023-12-21 22:49:27 +01:00
test-authz-list.c
test-authz-listfile.c
test-authz-pam.c
test-authz-simple.c
test-base64.c
test-bdrv-drain.c block: drop wrapper for bdrv_set_backing_hd_drained() 2025-07-14 15:41:58 +02:00
test-bdrv-graph-mod.c block: drop wrapper for bdrv_set_backing_hd_drained() 2025-07-14 15:41:58 +02:00
test-bitcnt.c
test-bitmap.c
test-bitops.c
test-block-backend.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
test-block-iothread.c mirror: Drop redundant zero_target parameter 2025-05-14 20:10:12 -05:00
test-blockjob-txn.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
test-blockjob.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
test-bufferiszero.c
test-char.c tests/unit/test-char: Avoid using g_alloca() 2025-06-10 12:59:09 +02:00
test-clone-visitor.c Remove qemu-common.h include from most units 2022-04-06 14:31:55 +02:00
test-coroutine.c tests/coroutine: Clean up global variable shadowing 2023-10-27 09:39:08 +02:00
test-crypto-afsplit.c qapi/crypto: Rename QCryptoHashAlgorithm to *Algo, and drop prefix 2024-09-10 14:02:16 +02:00
test-crypto-akcipher.c qapi/crypto: Rename QCryptoRSAPaddingAlgorithm to *Algo, and drop prefix 2024-09-10 14:03:30 +02:00
test-crypto-block.c tests: skip legacy qcow2 encryption test if AES is not available 2025-05-21 19:36:43 +01:00
test-crypto-cipher.c tests: fix skipping cipher tests when AES is not available 2025-05-21 19:36:43 +01:00
test-crypto-der.c crypto: Support DER encodings 2022-11-02 06:56:32 -04:00
test-crypto-hash.c crypto: Introduce SM3 hash hmac pbkdf algorithm 2024-11-05 18:37:18 +00:00
test-crypto-hmac.c crypto: Introduce SM3 hash hmac pbkdf algorithm 2024-11-05 18:37:18 +00:00
test-crypto-ivgen.c qapi/crypto: Rename QCryptoIVGenAlgorithm to *Algo, and drop prefix 2024-09-10 14:03:30 +02:00
test-crypto-pbkdf.c crypto: Introduce SM3 hash hmac pbkdf algorithm 2024-11-05 18:37:18 +00:00
test-crypto-secret.c tests: skip encrypted secret tests if AES is not available 2025-05-21 19:36:43 +01:00
test-crypto-tlscredsx509.c tests: Use g_mkdir_with_parents() 2022-08-25 15:24:09 +02:00
test-crypto-tlssession.c util: drop qemu_socket_set_nonblock() 2025-09-19 12:46:07 +01:00
test-crypto-xts.c
test-cutils.c cutils: Improve qemu_strtosz handling of fractions 2023-06-02 12:29:27 -05:00
test-div128.c host-utils: add unit tests for divu128/divs128 2021-10-27 17:10:00 -07:00
test-error-report.c error: add global &error_warn destination 2023-03-13 15:23:37 +04:00
test-fifo.c tests/unit: Comment FIFO8 tests 2024-09-13 20:11:13 +02:00
test-forward-visitor.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01: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 qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
test-int128.c qemu/int128: add int128_urshift 2022-04-20 18:00:30 -03:00
test-interval-tree.c util: Add interval-tree.c 2022-12-20 17:09:41 -08:00
test-io-channel-buffer.c
test-io-channel-command.c tests: fix path separator, use g_build_filename() 2023-03-13 15:39:31 +04: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: Add a assert for test_io_channel_unix_listen_cleanup 2024-10-10 13:41:45 +01:00
test-io-channel-tls.c treewide: handle result of qio_channel_set_blocking() 2025-09-19 12:46:07 +01:00
test-io-task.c tests/unit/test-io-task: Rename "qemu:dummy" to avoid colon in the name 2023-12-20 10:29:23 +01:00
test-iov.c tests/unit/test-iov: Fix timeout problem on NetBSD and OpenBSD 2024-01-23 15:25:45 +01:00
test-keyval.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
test-logging.c util/log: Remove qemu_log_close 2022-04-20 10:51:11 -07:00
test-mul64.c
test-nested-aio-poll.c tests/unit: Remove debug statements in test-nested-aio-poll.c 2024-04-25 15:15:25 +02:00
test-opts-visitor.c
test-qapi-util.c
test-qdev-global-props.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02:00
test-qdist.c
test-qemu-opts.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
test-qga.c qga: Add tests for guest-get-load command 2025-06-12 17:02:05 +03:00
test-qgraph.c cleanup: Drop pointless return at end of function 2025-04-24 09:33:42 +02:00
test-qht.c
test-qmp-cmds.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
test-qmp-event.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
test-qobject-input-visitor.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
test-qobject-output-visitor.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
test-qtree.c util: import GTree as QTree 2023-03-28 15:23:10 -07:00
test-rcu-list.c replace TABs with spaces 2023-03-20 12:43:50 +01:00
test-rcu-simpleq.c
test-rcu-slist.c
test-rcu-tailq.c
test-replication.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
test-resv-mem.c include/system: Move exec/memory.h to system/memory.h 2025-04-23 14:08:21 -07:00
test-seccomp.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
test-shift128.c
test-smp-parse.c qom: Have class_init() take a const data argument 2025-04-25 17:00:41 +02: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 thread-pool: Remove thread_pool_submit() function 2025-03-06 06:47:33 +01:00
test-throttle.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
test-timed-average.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
test-util-filemonitor.c test-util-filemonitor: Adapt to the FreeBSD inotify rename semantics 2024-02-06 10:27:50 +01:00
test-util-sockets.c tests/unit/test-util-sockets: fix mem-leak on error object 2025-05-30 09:52:08 +02:00
test-uuid.c util/uuid: Add UUID_STR_LEN definition 2023-11-03 09:20:31 +01:00
test-virtio-dmabuf.c hw/display: introduce virtio-dmabuf 2023-10-04 18:15:06 -04:00
test-visitor-serialization.c qapi: Move include/qapi/qmp/ to include/qobject/ 2025-02-10 15:33:16 +01:00
test-vmstate.c migration: remove migration.h references 2024-03-11 16:28:59 -04:00
test-write-threshold.c write-threshold: deal with includes 2021-05-14 16:14:10 +02:00
test-x86-topo.c tests: Add test case of APIC ID for module level parsing 2024-05-22 19:43:29 +02:00
test-xbzrle.c migration/xbzrle: Use i386 host/cpuinfo.h 2023-05-23 16:51:18 -07:00
test-xs-node.c tests/unit: replace assert(0) with g_assert_not_reached() 2024-09-17 10:50:39 +02:00
test-yank.c include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00