1This directory includes automated test cases for yash. 2 3The test cases are grouped into POSIX tests and yash-specific tests, which 4are written in files named *-p.tst and *-y.tst, respectively. Every POSIX 5shell is supposed to pass the POSIX tests, so those test cases does not 6test any yash-specific behavior at all. To run the POSIX tests on a shell 7other than yash, run in this directory: 8 9$ make TESTEE=<shell_command_name> test-posix 10 11--------------------------------------------------------------------------- 12 13Some test cases are skipped by the test runner depending on the 14configuration of yash, user's privilege, etc. If the help built-in is 15disabled in the configuration, for example, tests for the help built-in are 16skipped. There is no configuration in which no tests are skipped; some 17tests require a root privilege while some require a non-root privilege. 18 19--------------------------------------------------------------------------- 20 21Test cases can be run in parallel if your make supports parallel build. 22Exceptionally, test cases that require a control terminal have to be run 23sequentially if a pseudo-terminal cannot be opened to obtain a control 24terminal that can be used for testing. In that case, you have to run the 25tests in the foreground process group so that they can make use of the 26current control terminal. Test case files containing such tests are marked 27with the %REQUIRETTY% keyword. 28 29--------------------------------------------------------------------------- 30 31To test yash with Valgrind, run "make test-valgrind" in this directory. 32Yash must have been built without enabling any of the following variables 33in config.h: 34 35 * HAVE_PROC_SELF_EXE 36 * HAVE_PROC_CURPROC_FILE 37 * HAVE_PROC_OBJECT_AOUT 38 39Otherwise, some tests would fail after Valgrind is invoked as a shell where 40yash should be invoked. 41 42Some tests are skipped to avoid false failures. 43