11.1Sblymn#!/bin/sh
21.1Sblymn#
31.1Sblymn#
41.1SblymnBASEDIR="/usr/tests/lib/libcurses"
51.1SblymnCHECK_PATH="${BASEDIR}/check_files/"
61.1Sblymnexport CHECK_PATH
71.1SblymnINCLUDE_PATH="${BASEDIR}/tests/"
81.1Sblymnexport INCLUDE_PATH
91.1Sblymn#
101.2SblymnCURSES_TRACE_FILE="/tmp/ctrace"
111.5SblymnSLAVE="${BASEDIR}/slave"
121.6Sblymn#
131.6Sblymn# Force localisation to UTF-8 to be consistent with atf runs
141.6Sblymn#
151.6Sblymnexport LC_ALL=en_US.UTF-8
161.2Sblymn
171.2Sblymnusage() {
181.2Sblymn	echo "Set up the environment to run the test frame.  Option flags:"
191.2Sblymn	echo
201.2Sblymn	echo "    -c : Set up curses tracing, assumes the curses lib has been built with"
211.2Sblymn	echo "         debug enabled.  Default trace mask traces input, can be overridden"
221.2Sblymn	echo "         by setting the trace mask in the environment before calling the"
231.2Sblymn	echo "         The trace file output goes to /tmp/ctrace"
241.2Sblymn	echo "         script."
251.4Sblymn	echo "    -F : Specify the file name for curses tracing the default is"
261.2Sblymn	echo "         ${CURSES_TRACE_FILE}"
271.3Sblymn	echo "	  -L : Add the argument as a prefix to LD_LIBRARY_PATH to"
281.3Sblymn	echo "	       use an alternate libcurses version"
291.8Sblymn	echo "    -n : Add the nofail option to the director invocation"
301.8Sblymn	echo "       : so the director won't exit on check_file mismatch"
311.2Sblymn	echo "    -s : Specify the slave command.  Defaults to \"../slave/slave\""
321.2Sblymn	echo "    -v : Enable verbose output"
331.4Sblymn	echo "    -g : Enable check file generation if the file does not exists"
341.4Sblymn	echo "    -f : Forces check file generation if -g flag is set"
351.8Sblymn	echo "    -t : Specify the TERM to use for the tests"
361.2Sblymn	echo
371.2Sblymn}
381.2Sblymn
391.4Sblymn# This is needed for getwin/putwin test case and /tmp can be used for any file
401.4Sblymn# related tests.
411.5Sblymn#rm -rf /tmp/*
421.4Sblymn
431.1Sblymn#
441.5Sblymn#ARGS="-T ${BASEDIR} -I ${INCLUDE_PATH} -C ${CHECK_PATH}"
451.5SblymnARGS="-T ${BASEDIR} -C ${CHECK_PATH}"
461.1Sblymn#
471.8Sblymnwhile getopts cf:F:L:ns:t:vg opt
481.1Sblymndo
491.2Sblymn    case "${opt}" in
501.2Sblymn	c)
511.1Sblymn	    if [ "X$CURSES_TRACE_MASK" = "X" ]; then
521.1Sblymn		CURSES_TRACE_MASK=0x00000082
531.1Sblymn	    fi
541.1Sblymn	    export CURSES_TRACE_FILE
551.1Sblymn	    export CURSES_TRACE_MASK
561.1Sblymn	    ;;
571.1Sblymn
581.4Sblymn	F)
591.2Sblymn	    CURSES_TRACE_FILE=${OPTARG}
601.2Sblymn	    ;;
611.2Sblymn
621.3Sblymn	L)
631.3Sblymn	    LD_LIBRARY_PATH=${OPTARG}:${LD_LIBRARY_PATH}
641.3Sblymn	    ;;
651.3Sblymn
661.8Sblymn	n)
671.8Sblymn	    ARGS="-n ${ARGS} "
681.8Sblymn	    ;;
691.8Sblymn
701.2Sblymn	s)
711.2Sblymn	    SLAVE=${OPTARG}
721.1Sblymn	    ;;
731.1Sblymn
741.8Sblymn	t)
751.8Sblymn	    ARGS="-t ${OPTARG} ${ARGS}"
761.8Sblymn	    ;;
771.8Sblymn
781.2Sblymn	v)
791.4Sblymn	    ARGS="-v ${ARGS}"
801.1Sblymn	    ;;
811.1Sblymn
821.4Sblymn	g)
831.4Sblymn	    ARGS="-g ${ARGS}"
841.4Sblymn		;;
851.4Sblymn
861.4Sblymn	f)
871.4Sblymn	ARGS="-f ${ARGS}"
881.4Sblymn	;;
891.4Sblymn
901.2Sblymn	\?)
911.2Sblymn	    usage
921.2Sblymn	    exit 1
931.1Sblymn	    ;;
941.1Sblymn    esac
951.1Sblymndone
961.1Sblymn#
971.2Sblymnshift $((OPTIND - 1))
981.2Sblymn#
991.2Sblymnif [ -z "${1}" ]
1001.2Sblymnthen
1011.2Sblymn	echo
1021.2Sblymn	echo "A test name needs to be specified."
1031.2Sblymn	echo
1041.2Sblymn	usage
1051.2Sblymn	echo
1061.2Sblymn	exit 1
1071.2Sblymnfi
1081.2Sblymn#
1091.5Sblymnexec ${BASEDIR}/director ${ARGS} -s ${SLAVE} "${INCLUDE_PATH}/$1"
110