| 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 |
| |
| |