xref: /netbsd-src/tests/lib/libcurses/debug_test (revision 70e067419b7a70c3b03592d863b7729c0fed0561)
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