[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] tests: Create fifo for test-io-channel-command
From: |
Juan Quintela |
Subject: |
[PATCH] tests: Create fifo for test-io-channel-command |
Date: |
Tue, 25 Oct 2022 12:55:20 +0200 |
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 <marcandre.lureau@redhat.com>
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 <marcandre.lureau@redhat.com>
Reviewed-by: Daniel P. BerrangΓ© <berrange@redhat.com>
Message-Id: <20221006113657.2656108-7-marcandre.lureau@redhat.com>
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 <quintela@redhat.com>
---
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
- [PATCH] tests: Create fifo for test-io-channel-command,
Juan Quintela <=