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!