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