On Fri, Jan 18, 2019 at 2:15 PM Philippe Mathieu-Daudé <phi...@redhat.com> wrote: > On 1/18/19 12:47 PM, Peter Maydell wrote: > > On Thu, 17 Jan 2019 at 13:38, Thomas Huth <th...@redhat.com> wrote: > >> > >> Hi Peter! > >> > >> The following changes since commit > >> 6f2f34177a25bffd6fd92a05e6e66c8d22d97094: > >> > >> Merge remote-tracking branch 'remotes/thibault/tags/samuel-thibault' > >> into staging (2019-01-15 18:32:57 +0000) > >> > >> are available in the git repository at: > >> > >> https://gitlab.com/huth/qemu.git tags/pull-request-2019-01-17 > >> > >> for you to fetch changes up to 3f0832c85380321ef697d64342b389648f8abb1c: > >> > >> tests/hexloader-test: Don't pass -nographic to the QEMU under test > >> (2019-01-17 14:25:12 +0100) > >> > >> ---------------------------------------------------------------- > >> - Remove deprecated "ivshmem" legacy device > >> - Bug fix for vhost-user-test > >> - Use more CONFIG Makefile switches for qtests > >> - Get rid of global_qtests in some more qtests > >> - typedef cleanups > >> - Fixes for compiling with Clang > >> - Force C standard to gnu99 > >> ---------------------------------------------------------------- > > > > In the netbsd VM, the ipmi-bt-test is consistently failing: > > > > MALLOC_PERTURB_=${MALLOC_PERTURB_:-$(( ${RANDOM:-0} % 255 + 1))} > > QTEST_QEMU_BINARY=i386-softmmu > > /qemu-system-i386 QTEST_QEMU_IMG=qemu-img tests/ipmi-bt-test -m=quick > > -k --tap < /dev/null | ./s > > cripts/tap-driver.pl --test-name="ipmi-bt-test" > > ** > > ERROR:tests/ipmi-bt-test.c:319:test_connect: assertion failed: (rv == 1) > > ERROR - too few tests run (expected 4, got 0) > > [1] Abort trap (core dumped) MALLOC_PERTURB_=... | > > Done(1) ./scripts/tap-dr... > > /var/tmp/qemu-test.7opHvo/tests/Makefile.include:856: recipe for > > target 'check-qtest-i386' faile > > d > > gmake: *** [check-qtest-i386] Error 1 > > gmake: *** Waiting for unfinished jobs.... > > > > > > This has been kind of intermittent for a while, I've seen > > it on-and-off, but with this pullreq it's failed four times > > in a row, so maybe something in here is making it less > > intermittent. > > This file does: > > qtest_add_func("/ipmi/extern/connect", test_connect); > qtest_add_func("/ipmi/extern/bt_base", test_bt_base); > qtest_add_func("/ipmi/extern/bt_enable_irq", test_enable_irq); > qtest_add_func("/ipmi/extern/bt_base_irq", test_bt_base); > ret = g_test_run(); > > The first "test" test_connect() binds emu_lfd, the 2nd test > test_bt_base() calls bt_cmd() which also use emu_lfd... could it be unbound?
I meant 'emu_fd' (not emu_lfd) in both cases. > This is racy, since (from g_test_run() doc): > > "In general, the tests and sub-suites within each suite are run in the > order in which they are defined. [...] > However, you should never make the actual result of a test depend on the > order that tests are run in. If you need to ensure that some particular > code runs before or after a given test case, use g_test_add(), which > lets you specify setup and teardown functions."