Previous commit removed the creation of the fifo. Without it, I get random failure during tests with high load, please consider reintroduce it.
My guess is that there is a race between the two socats when we leave them to create the channel, better return to the previous behavior. I can't reproduce the problem when I run ./test-io-channel-command test alone, I need to do the make check. And any (unrelated) change can make it dissapear. commit 76f5148c21b4543e62a6ad605ac4b44133421401 Author: Marc-AndrΓ© Lureau <[email protected]> Date: Thu Oct 6 15:36:57 2022 +0400 tests/unit: make test-io-channel-command work on win32 This has been tested under msys2 & windows 11. I haven't tried to make it work with other environments yet, but that should be enough to validate the channel-command implementation anyway. Here are the changes: - drop tests/ from fifo/pipe path, to avoid directory issues - use g_find_program() to lookup the socat executable (otherwise we would need to change ChanneCommand to use G_SPAWN_SEARCH_PATH, and deal with missing socat differently) - skip the "echo" test when socat is missing as well Signed-off-by: Marc-AndrΓ© Lureau <[email protected]> Reviewed-by: Daniel P. BerrangΓ© <[email protected]> Message-Id: <[email protected]> Failure: [178/178] π qemu:unit / test-io-channel-command [178/178] π qemu:unit / test-io-channel-command [178/178] π qemu:unit / test-io-channel-command [178/178] π qemu:unit / test-io-channel-command [178/178] π qemu:unit / test-io-channel-command [178/178] π qemu:unit / test-io-channel-command [178/178] π qemu:unit / test-io-channel-command [178/178] π qemu:unit / test-io-channel-command [178/178] π qemu:unit / test-io-channel-command ^CWARNING: Received SIGTERM, exiting 178/178 qemu:unit / test-io-channel-command INTERRUPT 1127.75s killed by signal 15 SIGTERM >>> MALLOC_PERTURB_=149 G_TEST_BUILDDIR=/scratch/qemu/multifd/x64/tests/unit >>> G_TEST_SRCDIR=/mnt/code/qemu/multifd/tests/unit >>> /scratch/qemu/multifd/x64/tests/unit/test-io-channel-command --tap -k βββββββββββββββββββββββββββββββββββββ β βββββββββββββββββββββββββββββββββββββ stderr: 2022/10/25 12:32:48 socat[463140] E mkfifo(test-io-channel-command.fifo, 438): File exists TAP parsing error: Too few tests run (expected 4, got 0) ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ Summary of Failures: 178/178 qemu:unit / test-io-channel-command INTERRUPT 1127.75s killed by signal 15 SIGTERM Signed-off-by: Juan Quintela <[email protected]> --- tests/unit/test-io-channel-command.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/unit/test-io-channel-command.c b/tests/unit/test-io-channel-command.c index 7eee939c07..7e75f960f4 100644 --- a/tests/unit/test-io-channel-command.c +++ b/tests/unit/test-io-channel-command.c @@ -48,6 +48,9 @@ static void test_io_channel_command_fifo(bool async) } unlink(TEST_FIFO); + if (mkfifo(TEST_FIFO, 0600) < 0) { + abort(); + } src = QIO_CHANNEL(qio_channel_command_new_spawn(srcargv, O_WRONLY, &error_abort)); -- 2.37.3
