xref: /onnv-gate/usr/src/lib/libshell/common/tests/README.tests (revision 10898:1883b621b3ea)
1*10898Sroland.mainz@nrubsig.org
2*10898Sroland.mainz@nrubsig.org#### ksh93 test suite
3*10898Sroland.mainz@nrubsig.org
4*10898Sroland.mainz@nrubsig.org## Intro
5*10898Sroland.mainz@nrubsig.orgThe directory /usr/demo/ksh/tests/ contains the ksh93 test suite
6*10898Sroland.mainz@nrubsig.orgwhich is used to verify the correct behaviour of ksh93.
7*10898Sroland.mainz@nrubsig.org
8*10898Sroland.mainz@nrubsig.orgThe test suite is split into modules with the ending *.sh
9*10898Sroland.mainz@nrubsig.organd a frontend called "shtests" which is used to run the tests.
10*10898Sroland.mainz@nrubsig.org
11*10898Sroland.mainz@nrubsig.org
12*10898Sroland.mainz@nrubsig.org## Basic description:
13*10898Sroland.mainz@nrubsig.org/usr/demo/ksh/tests/shtests <options> <varname=value> <testmodule>
14*10898Sroland.mainz@nrubsig.org
15*10898Sroland.mainz@nrubsig.org<options> may be:
16*10898Sroland.mainz@nrubsig.org    -a execute test module one time as normal script code
17*10898Sroland.mainz@nrubsig.org       and a 2nd time as compiled shell script. The env
18*10898Sroland.mainz@nrubsig.org       variable SHCOMP defines the version of the shell
19*10898Sroland.mainz@nrubsig.org       compiler being used (default is "${SHELL%/*}/shcomp",
20*10898Sroland.mainz@nrubsig.org       however it is recommended to explicitly set SHCOMP
21*10898Sroland.mainz@nrubsig.org       to /usr/bin/shcomp).
22*10898Sroland.mainz@nrubsig.org    -c execute test module as compiled shell script
23*10898Sroland.mainz@nrubsig.org    -s execute test module as normal shell script
24*10898Sroland.mainz@nrubsig.org    -t do not print timing information
25*10898Sroland.mainz@nrubsig.org    -v use VMDEBUG
26*10898Sroland.mainz@nrubsig.org<varname=value>
27*10898Sroland.mainz@nrubsig.org    Sets one or more environment variables to value "value".
28*10898Sroland.mainz@nrubsig.org<testmodule>
29*10898Sroland.mainz@nrubsig.org    file name of test module
30*10898Sroland.mainz@nrubsig.org
31*10898Sroland.mainz@nrubsig.org
32*10898Sroland.mainz@nrubsig.org## Basic usage in Solaris >= 11 and OpenSolaris/Indiana:
33*10898Sroland.mainz@nrubsig.orgThe tests can be executed like this:
34*10898Sroland.mainz@nrubsig.org$ export SHELL=<path-to-ksh93-executable>
35*10898Sroland.mainz@nrubsig.org$ export SHCOMP=/usr/bin/shcomp
36*10898Sroland.mainz@nrubsig.orgfor t in /usr/demo/ksh/tests/*.sh ; do
37*10898Sroland.mainz@nrubsig.org    $SHELL /usr/demo/ksh/tests/shtests -a "$t"
38*10898Sroland.mainz@nrubsig.orgdone
39*10898Sroland.mainz@nrubsig.org
40*10898Sroland.mainz@nrubsig.orgNote that you MUST NOT use "/usr/bin/ksh93" as value for
41*10898Sroland.mainz@nrubsig.orgSHELL since /usr/bin/ksh93 on Solaris is a wrapper which
42*10898Sroland.mainz@nrubsig.orgselects a suitable executable in /usr/bin/<isa>/ksh93
43*10898Sroland.mainz@nrubsig.orgbased on the hardware capabilities defined via /usr/bin/isalist
44*10898Sroland.mainz@nrubsig.org
45*10898Sroland.mainz@nrubsig.orgValid values for SHELL are:
46*10898Sroland.mainz@nrubsig.org- SHELL=/usr/bin/i86/ksh93      # 32bit i386
47*10898Sroland.mainz@nrubsig.org- SHELL=/usr/bin/amd64/ksh93    # 64bit AMD64
48*10898Sroland.mainz@nrubsig.org- SHELL=/usr/bin/sparcv7/ksh93  # 32bit SPARC
49*10898Sroland.mainz@nrubsig.org- SHELL=/usr/bin/sparcv9/ksh93  # 64bit SPARC
50*10898Sroland.mainz@nrubsig.org- SHELL=/usr/bin/s390/ksh93     # 32bit SystemZ
51*10898Sroland.mainz@nrubsig.org- SHELL=/usr/bin/s390x/ksh93    # 64bit SystemZ
52*10898Sroland.mainz@nrubsig.org
53*10898Sroland.mainz@nrubsig.org# EOF.
54