newlib-cygwin/winsup/testsuite
Jon Turney dc93f7ef2d
Cygwin: Remove recursive configure
There's doesn't seem to be much use in independently distributing these
subdirectories, so allowing them to be independently configured seems
pointless and overcomplicated.

The order in which the subdirectories are built is still a little odd,
as cygwin is linked with libcygserver, and cygserver is then linked with
cygwin. So, we build the cygwin directory first, which invokes a build
of libcygserver in the cygserver directory, and then build in the
cygserver directory to build the cygserver executable.

Drop AC_CONFIGURE_ARGS, since we don't need to recursively call
configure with the same arguments anymore.

Slightly refine when we build utils: Previously we didn't build any
utils if MinGW compiler use was avoided, now we just avoid building
those utils which require that compiler.

Greatly simplify how winsup_srcdir and target_builddir are set, since
we're only configuring from one directory.  (These are still kept
absolute, since we don't adjust them where used for being used in a
subdirectory).

Remove configure.cygwin and put it's (greatly reduced) contents inline
in the one place it's used now.

Remove generated configure and aclocal.m4 in subdirectories.
2020-11-20 15:56:11 +00:00
..
config Cygwin: Use grep in text mode to look for version strings 2020-11-18 16:26:23 +00:00
libltp Cygwin: testsuite: fix insecure usage of printf in libltp 2020-11-16 15:57:31 +01:00
winsup.api Cygwin: Fix testsuite tmpdir creation with non-default cygdrive prefix 2020-11-12 15:30:35 +00:00
Makefile.in Cygwin: Remove recursive configure 2020-11-20 15:56:11 +00:00
README * Makefile.in: Use "cygwin0" rather than "new-cygwin" to denote in-build-tree 2003-03-09 17:03:05 +00:00
cygrun.c Cygwin: Ensure temporary directory used by tests exists 2020-11-08 14:42:02 +00:00

README

1999-12-23  DJ Delorie  <dj@cygnus.com>

Here are some notes about adding and using this testsuite.

First, all the programs are linked with libcygwin0.a, which is just
like libcygwin.a, except that it wants cygwin0.dll, not
cygwin1.dll.  The testsuite adds the winsup build directory to the
PATH so that cygwin0.dll can be found by windows during testing.

Because we'll probably run into complaints about using two DLLs, we
run cygrun.exe for each test.  All this does is run the test with
CreateProcess() so that we don't attempt to do the special code for
when a cygwin program calls another cygwin program, as this might be a
"multiple cygwins" problem.

Any test that needs to test command line args or redirection needs to
run such a child program itself, as the testsuite will not do any
arguments or redirection for it.  Same for fork, signals, etc.

The testsuite/winsup.api subdirectory is for testing the API to
cygwin1.dll ONLY.  Create other subdirs under testsuite/ for other
classes of testing.

Tests in winsup.api/*.c or winsup.api/*/*.c (only one subdirectory
level is allowed) either compile, run, and exit(0) or they fail.
Either abort or exit with a non-zero code to indicate failure.  Don't
print anything to the screen if you can avoid it (except for failure
reasons, of course).  One .c file per test, no compile options are
allowed (we're testing the api, not the compiler).

Tests whose filename is mentioned in known-bugs.tcl will be *expected*
to fail, and will "fail" if they compile, run, and return zero.

"make check" will only work if you run it *on* an NT machine.
Cross-checking is not supported.

To test a subset of the test-suite, use
$ make check CYGWIN_TESTSUITE_TESTS=regexp