#### ksh93 test suite ## Introduction The directory /usr/demo/ksh/tests/ contains the ksh93 test suite which is used to verify the correct behaviour of ksh93. The test suite is split into modules with the ending *.sh and a frontend called "shtests" which is used to run the tests. ## Basic description: /usr/demo/ksh/tests/shtests <options> <varname=value> <testmodule> By default, with no <options>, each test is run three times: o In the posix/C locale; o In the C.UTF-8 locale; o As a compiled script using $SHCOMP. <options> may be: -c execute test module as compiled shell script only -p execute test module as normal shell script in posix/C only -u execute test module as normal shell script in c.UTF-8 only -t do not print timing information -v use VMDEBUG <varname=value> Sets one or more environment variables to value "value". <testmodule> file name of test module ## Basic usage in illumos: The tests can be executed like this: $ export SHELL=<path-to-ksh93-executable> $ export SHCOMP=/usr/bin/shcomp for t in /usr/demo/ksh/tests/*.sh ; do $SHELL /usr/demo/ksh/tests/shtests "$t" done Note that you MUST NOT use "/usr/bin/ksh93" as value for SHELL since /usr/bin/ksh93 on illumos is a wrapper which selects a suitable executable in /usr/bin/<isa>/ksh93 based on the hardware capabilities defined via /usr/bin/isalist Valid values for SHELL are: - SHELL=/usr/bin/i86/ksh93 # 32-bit i386 - SHELL=/usr/bin/amd64/ksh93 # 64-bit AMD64 - SHELL=/usr/bin/sparcv7/ksh93 # 32-bit SPARC - SHELL=/usr/bin/sparcv9/ksh93 # 64-bit SPARC