root@88e39bb79e41:/# cloudabi-run -e /usr/x86_64-unknown-cloudabi/bin/cloudlibc-unittests << EOF
%TAG ! tag:nuxi.nl,2015:cloudabi/
---
tmpdir: !file
path: tmp-unittest
logfile: !fd stdout
EOF
WARNING: Attempting to start executable using emulation.
Keep in mind that this emulation provides no actual sandboxing.
Though this is likely no problem for development and testing
purposes, using this emulator in production is strongly
discouraged.
-> drand48::bounds
-> fdopen::bad
-> localtime_l::santiago
-> fflush::eagain
-> wcsrtombs::ascii_null_ok
-> wmemset::example
-> call_once::example
-> clock_nanosleep::monotonic_relative
-> fread::zero
-> unlinkat::examples
-> uv_ip4_addr::einval
-> wctomb::euro
-> scandirat::even_files
Test failed
--
Statement: ASSERT_EQ(0, mkdirat(state->tmpdir, test->__name))
Expected: 0 == 0 == (0)
Actual: -1 == 0xffffffff == (mkdirat(state->tmpdir, test->__name))
Location: src/libc/testing/testing_execute.c:82
Errno: 20, File exists
Aborted (core dumped)
This is usually an indicator that two TEST()s are defined with the same name, causing them to race for the same unit testing data directory. A git grep doesn't seem to indicate this is the case. We should add some diagnostics to testing_execute to print which directory it was trying to create.
As observed here: https://github.com/NuxiNL/debian-cloudabi/pull/2
This is usually an indicator that two
TEST()
s are defined with the same name, causing them to race for the same unit testing data directory. Agit grep
doesn't seem to indicate this is the case. We should add some diagnostics totesting_execute
to print which directory it was trying to create.