message anyway but pure accidental white space changes. The whole change
was not needed any more after fixing isqemu.h.
Thanks to agc for pointing it out.
PR port-i386/46108.
The machine epsilon 1.0e-40 is too severe and nonsense for double
because DBL_EPSILON is about 2.2e-16 . I think that 1.0e-15 is
enough good, in this case.
XXX However, test of atan_tan should be replaced for other reasons.
Sometime this tests passes (after all, it's exercising a race condition) and
when it does it's reported as a failure. By giving the test a few chances
to expose the problem, we prevent this noisy signal. When the race is really
addressed, this will start failing consistently as expected.
The offending tests are these:
- t_filter_exec: f26, f27.
- t_filter_parse: i17.
- t_nat_exec: n12.
These tests are confirmed to fail in NetBSD/current under amd64, i386 and
sparc as reported by the continuous testing systems.
This test was failing on my machine when run natively but not causing any
problems when run within qemu, and the failure was "mkdir: No space left
on device".
My understanding of the issue is that this test overflowed the temporary
disk image due to its high rate of file churn and the lfs_cleanerd not
being able to keep up. Note that this test is capped by time, not number
of operations, so this is why the problem does not show up in a slow
emulated system.
To fix this, just bump the test file system image limit a little bit.
(I tried increasing the frequency at which lfs_cleanerd does its thing,
but it wasn't enough.)
If mount_tmpfs fails, show what the stderr output of the command was instead
of failing without details.
While doing this, remove the stupidity to deal with the optional arguments
to the test_mount routine.
This is wrong. The zfs tests already use rump so they should not require
root. However, I've already spent much more time than I wanted trying to
figure out why that's the case without much luck. If you can find why,
just remove this hack.
Provide some unused input to the sed command in the c2048 test to prevent
the test from getting stuck waiting for input from stdin that will never
arrive.
I don't know why I'm hitting this now (might be a difference between atf-run
and kyua), but this is a bug in the test.
XXX: Instead of making a copy of the libc rpc files here we should re-use the
files from libc, and use macros to provide the extra functionality needed here.
SoC project?
Atffile generation.
This is needed to be able to generate Kyuafiles (coming later), as these
clearly differentiate between the definition of test programs and the
recursion into other subdirectories (or files).
In particular: rename ATFFILE_EXTRA_TPS to ATFFILE_EXTRA_SUBDIRS and
change the logic in bsd.test.mk to keep track of subdirectories aside from
_TESTS when creating the Atffile.
This fixes a problem in MKKYUA=no builds in which the kyua-testers
subdirectory in /usr/tests was created unconditionally and atf-run was
confused because such subdirectory didn't have an Atffile of its own.
(Due to the way our directory creation and file lists work, I'm not
sure it's possible to just not "install" the empty directory. But
that'd be an alternative to this.)
Auto-generating the Atffile causes it to only list the subdirectories
listed by the Makefile, which can vary depending on various MK* options.
Problem found by martin@.
reduce the pass-count from 100 to 50; this is more than enough to prove
that the test is working, and helps reduce the ever-increasing time it's
taking to run the entire test suite.
get started before trying to ptrace(ATTACH). Otherwise, the traced
process doesn't seem to resume properly upon ptrace(DETACH) and on the
next pass the ptrace(ATTACH) just hangs forever, causing the test to
time-out.
XXX The failure-to-resume-properly might actually be a kernel bug that
we need to follow up on. But for now, let's make the test work as
intended.
This is to match the layout of the installed and source files more closely.
While doing this, honor the MKSHARE variable, as the files these tests
validate are only installed when MKSHARE=yes.
the *at system calls on November 18th of last year. Reasons to revert
it include:
- it is incorrect in a whole variety of ways (but fortunately, one
of them is that the missing and improper permission checks have
no net effect);
- it was committed without review or discussion;
- core ruled that all the new O_* flags pertaining to the *at calls
needed to wait until their semantics could be clarified.
manu was asked to revert it on these grounds but has ignored the request.
I have left O_SEARCH defined and visible and made open() explicitly
ignore it. This way, most code that tries to use it will continue to
build and run. I've also arranged lib/libc/c063/t_o_search.c so that
the tests that make use of the O_SEARCH semantics will disappear until
O_SEARCH comes back, and fixed some mistakes and/or incorrect hacks
that were causing some of these to succeed despite the broken O_SEARCH
implementation.
This enables us to remove custom Atffiles whose only purpose was to avoid
using the helpers as tests.
XXX src/tests/dev/dm/ is not (yet) linked into the build!
in broken.
Once we can analyze the error further, we can open a PR in Gnats and then
move this to Expected-Failure. But we shouldn't skip it because we'll
never come back to fix it.
the "-D" output (Dump additional internal tables), update the tests to
actually generate the data!
This lets us re-enable 28 of the 30 "skipped" tests.
XXX Still need to work on tests n12 and n17_6
them apropriately. Exact permission semantics are still under discussion,
this will have to be cleaned up once that discussion is settled.
For now, one test cases fails.
Adjust timing parameters to reduce overall elapsed time, and document
the parameters.
Clean-up status handling for kevent test.
Deal with QEMU timer-related issues (PR-43997).
Factor out the generation of token_keys to a separate routine, called
from each test case. And make sure we remove the mkdtemp()-created
directory after we're finished with it.
when a on-disk block/inode allocation triggers allocating a new
quota entry, the new quota entry is not in the quota2 header block,
and the allocation will later be denied, the changes to the quota block would
not be flushed to disk, leading to list corruption (detected by fsck).
the TLS pointer, therefore wrecking the pthread environement.
Some ports had _UC_TLSBASE flag or equivalent (_UC_UNIQUE on alpha)
that controlled whether setcontext() would change the TLS pointer.
This change let libpthread override setcontext() with its own version
that unsets _UC_TLSBASE, enabling safe usage of setcontext() with
-lpthread.
We also have the following required changes here:
- rename alpha's _UC_UNIQUE into _UC_TLSBASE
- add _UC_TLSBASE definition in header file for all ports
(powerpc, sh3, sparc and sparc64 lack the implementation for now)
- introduce a libc stub that can be overriden for setcontext()
- modify MD libcs swapcontext() implementations so that they use the
setcontext() libc stub instead of doing a plain system call.
While we are there:
- document various MD _UC_* flags in header file
- add libc and libpthread tests for swapcontext() behavior
(hopefully helpful to spot MD problems introduced with this change)
Future work:
- Deciding whether kernel support or _UC_TLSBASE should be added for
powerpc, sh3, sparc and sparc64 is left to portmasters
sparc64
Approved by core@
causes these tests to sometimes deadlock. Since they run really fast
when they are successful, it doesn't do any good to wait for the
default 5-minute timeout. So explicitly set timeout for these tests
to just 30 seconds.
The main goal of this change is to simplify the further addition of test
cases for the share/mk infrastructure by adding a few placeholder test
programs to the tests tree.
To not leave these test programs empty, I have added a bunch of extremely
simple test cases to them.
This option prepends the string given in prefix to every target
filename. This is useful for programs that have source files in
multiple subdirectories and a single Makefile that references all of
them explicitly (without using the VPATH functionality because there
can be files with the same name in each subdirectory).
- Merge h_regex_att (att.c) and t_regex_att.sh into a single C test program.
The former was really a test program, and the latter just a very strange
driver for it.
- Stop using awk to generate the shell test programs. This is unnecessary
and confusing. Instead, change t_regex.sh to generate the test case
functions on the fly with eval (as done in many other places).