Juan Quintela <[email protected]> writes:
> 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. I was chasing a similar problem with this test although I don't see it timeout while running (I don't think our unit tests time out). I'm provisionally queuing this to testing/next unless anyone objects. > > 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)); -- Alex BennΓ©e
