1#!/bin/sh
2#
3#
4BASEDIR="/usr/tests/lib/libcurses"
5CHECK_PATH="${BASEDIR}/check_files/"
6export CHECK_PATH
7INCLUDE_PATH="${BASEDIR}/tests/"
8export INCLUDE_PATH
9#
10CURSES_TRACE_FILE="/tmp/ctrace"
11SLAVE="${BASEDIR}/slave"
12#
13# Force localisation to UTF-8 to be consistent with atf runs
14#
15export LC_ALL=en_US.UTF-8
16
17usage() {
18          echo "Set up the environment to run the test frame.  Option flags:"
19          echo
20          echo "    -c : Set up curses tracing, assumes the curses lib has been built with"
21          echo "         debug enabled.  Default trace mask traces input, can be overridden"
22          echo "         by setting the trace mask in the environment before calling the"
23          echo "         The trace file output goes to /tmp/ctrace"
24          echo "         script."
25          echo "    -F : Specify the file name for curses tracing the default is"
26          echo "         ${CURSES_TRACE_FILE}"
27          echo "      -L : Add the argument as a prefix to LD_LIBRARY_PATH to"
28          echo "           use an alternate libcurses version"
29          echo "    -n : Add the nofail option to the director invocation"
30          echo "       : so the director won't exit on check_file mismatch"
31          echo "    -s : Specify the slave command.  Defaults to \"../slave/slave\""
32          echo "    -v : Enable verbose output"
33          echo "    -g : Enable check file generation if the file does not exists"
34          echo "    -f : Forces check file generation if -g flag is set"
35          echo "    -t : Specify the TERM to use for the tests"
36          echo
37}
38
39# This is needed for getwin/putwin test case and /tmp can be used for any file
40# related tests.
41#rm -rf /tmp/*
42
43#
44#ARGS="-T ${BASEDIR} -I ${INCLUDE_PATH} -C ${CHECK_PATH}"
45ARGS="-T ${BASEDIR} -C ${CHECK_PATH}"
46#
47while getopts cf:F:L:ns:t:vg opt
48do
49    case "${opt}" in
50          c)
51              if [ "X$CURSES_TRACE_MASK" = "X" ]; then
52                    CURSES_TRACE_MASK=0x00000082
53              fi
54              export CURSES_TRACE_FILE
55              export CURSES_TRACE_MASK
56              ;;
57
58          F)
59              CURSES_TRACE_FILE=${OPTARG}
60              ;;
61
62          L)
63              LD_LIBRARY_PATH=${OPTARG}:${LD_LIBRARY_PATH}
64              ;;
65
66          n)
67              ARGS="-n ${ARGS} "
68              ;;
69
70          s)
71              SLAVE=${OPTARG}
72              ;;
73
74          t)
75              ARGS="-t ${OPTARG} ${ARGS}"
76              ;;
77
78          v)
79              ARGS="-v ${ARGS}"
80              ;;
81
82          g)
83              ARGS="-g ${ARGS}"
84                    ;;
85
86          f)
87          ARGS="-f ${ARGS}"
88          ;;
89
90          \?)
91              usage
92              exit 1
93              ;;
94    esac
95done
96#
97shift $((OPTIND - 1))
98#
99if [ -z "${1}" ]
100then
101          echo
102          echo "A test name needs to be specified."
103          echo
104          usage
105          echo
106          exit 1
107fi
108#
109exec ${BASEDIR}/director ${ARGS} -s ${SLAVE} "${INCLUDE_PATH}/$1"
110