1d70ea1b1Sblymn#!/bin/sh 2d70ea1b1Sblymn# 3d70ea1b1Sblymn# 4d70ea1b1SblymnBASEDIR="/usr/tests/lib/libcurses" 5d70ea1b1SblymnCHECK_PATH="${BASEDIR}/check_files/" 6d70ea1b1Sblymnexport CHECK_PATH 7d70ea1b1SblymnINCLUDE_PATH="${BASEDIR}/tests/" 8d70ea1b1Sblymnexport INCLUDE_PATH 9d70ea1b1Sblymn# 103e0ce67bSblymnCURSES_TRACE_FILE="/tmp/ctrace" 11b1b304b3SblymnSLAVE="${BASEDIR}/slave" 12e00f184cSblymn# 13e00f184cSblymn# Force localisation to UTF-8 to be consistent with atf runs 14e00f184cSblymn# 15e00f184cSblymnexport LC_ALL=en_US.UTF-8 163e0ce67bSblymn 173e0ce67bSblymnusage() { 183e0ce67bSblymn echo "Set up the environment to run the test frame. Option flags:" 193e0ce67bSblymn echo 203e0ce67bSblymn echo " -c : Set up curses tracing, assumes the curses lib has been built with" 213e0ce67bSblymn echo " debug enabled. Default trace mask traces input, can be overridden" 223e0ce67bSblymn echo " by setting the trace mask in the environment before calling the" 233e0ce67bSblymn echo " The trace file output goes to /tmp/ctrace" 243e0ce67bSblymn echo " script." 25ce321bb0Sblymn echo " -F : Specify the file name for curses tracing the default is" 263e0ce67bSblymn echo " ${CURSES_TRACE_FILE}" 2784da1bf1Sblymn echo " -L : Add the argument as a prefix to LD_LIBRARY_PATH to" 2884da1bf1Sblymn echo " use an alternate libcurses version" 29*70e06741Sblymn echo " -n : Add the nofail option to the director invocation" 30*70e06741Sblymn echo " : so the director won't exit on check_file mismatch" 313e0ce67bSblymn echo " -s : Specify the slave command. Defaults to \"../slave/slave\"" 323e0ce67bSblymn echo " -v : Enable verbose output" 33ce321bb0Sblymn echo " -g : Enable check file generation if the file does not exists" 34ce321bb0Sblymn echo " -f : Forces check file generation if -g flag is set" 35*70e06741Sblymn echo " -t : Specify the TERM to use for the tests" 363e0ce67bSblymn echo 373e0ce67bSblymn} 383e0ce67bSblymn 39ce321bb0Sblymn# This is needed for getwin/putwin test case and /tmp can be used for any file 40ce321bb0Sblymn# related tests. 41b1b304b3Sblymn#rm -rf /tmp/* 42ce321bb0Sblymn 43d70ea1b1Sblymn# 44b1b304b3Sblymn#ARGS="-T ${BASEDIR} -I ${INCLUDE_PATH} -C ${CHECK_PATH}" 45b1b304b3SblymnARGS="-T ${BASEDIR} -C ${CHECK_PATH}" 46d70ea1b1Sblymn# 47*70e06741Sblymnwhile getopts cf:F:L:ns:t:vg opt 48d70ea1b1Sblymndo 493e0ce67bSblymn case "${opt}" in 503e0ce67bSblymn c) 51d70ea1b1Sblymn if [ "X$CURSES_TRACE_MASK" = "X" ]; then 52d70ea1b1Sblymn CURSES_TRACE_MASK=0x00000082 53d70ea1b1Sblymn fi 54d70ea1b1Sblymn export CURSES_TRACE_FILE 55d70ea1b1Sblymn export CURSES_TRACE_MASK 56d70ea1b1Sblymn ;; 57d70ea1b1Sblymn 58ce321bb0Sblymn F) 593e0ce67bSblymn CURSES_TRACE_FILE=${OPTARG} 60d70ea1b1Sblymn ;; 61d70ea1b1Sblymn 6284da1bf1Sblymn L) 6384da1bf1Sblymn LD_LIBRARY_PATH=${OPTARG}:${LD_LIBRARY_PATH} 6484da1bf1Sblymn ;; 6584da1bf1Sblymn 66*70e06741Sblymn n) 67*70e06741Sblymn ARGS="-n ${ARGS} " 68*70e06741Sblymn ;; 69*70e06741Sblymn 703e0ce67bSblymn s) 713e0ce67bSblymn SLAVE=${OPTARG} 723e0ce67bSblymn ;; 733e0ce67bSblymn 74*70e06741Sblymn t) 75*70e06741Sblymn ARGS="-t ${OPTARG} ${ARGS}" 76*70e06741Sblymn ;; 77*70e06741Sblymn 783e0ce67bSblymn v) 79ce321bb0Sblymn ARGS="-v ${ARGS}" 80ce321bb0Sblymn ;; 81ce321bb0Sblymn 82ce321bb0Sblymn g) 83ce321bb0Sblymn ARGS="-g ${ARGS}" 84ce321bb0Sblymn ;; 85ce321bb0Sblymn 86ce321bb0Sblymn f) 87ce321bb0Sblymn ARGS="-f ${ARGS}" 88d70ea1b1Sblymn ;; 89d70ea1b1Sblymn 903e0ce67bSblymn \?) 913e0ce67bSblymn usage 923e0ce67bSblymn exit 1 93d70ea1b1Sblymn ;; 94d70ea1b1Sblymn esac 95d70ea1b1Sblymndone 96d70ea1b1Sblymn# 973e0ce67bSblymnshift $((OPTIND - 1)) 983e0ce67bSblymn# 993e0ce67bSblymnif [ -z "${1}" ] 1003e0ce67bSblymnthen 1013e0ce67bSblymn echo 1023e0ce67bSblymn echo "A test name needs to be specified." 1033e0ce67bSblymn echo 1043e0ce67bSblymn usage 1053e0ce67bSblymn echo 1063e0ce67bSblymn exit 1 1073e0ce67bSblymnfi 1083e0ce67bSblymn# 109b1b304b3Sblymnexec ${BASEDIR}/director ${ARGS} -s ${SLAVE} "${INCLUDE_PATH}/$1" 110