3 # This script runs all the test scripts it finds in the current folder
4 # Tests are identified as having a file name of *-in.txt
5 # For failed tests, the collected output is kept in the corresponding folder
7 export LYX_ROOT=../../..
8 export LYX_EXE=$LYX_ROOT/src/lyx
10 if [ "$XVKBD_HACKED" != "" ]; then
11 export XVKBD_EXE=${XVKBD:-./xvkbd/xvkbd};
12 if [ ! -x $XVKBD_EXE ]; then
13 echo "You need to build XVKBD first, try: cd xvkbd && xmkmf && make"
18 if [ "$(which wmctrl)" == "" ]; then
19 echo "You need to install wmctrl first, try:"
20 echo " sudo apt-get install wmctrl"
24 <<<<<<< Updated upstream
25 if [ "$(which pcregrep)" == "" ]; then
26 echo "You need to install pcregrep first, try:"
27 echo " sudo apt-get install pcregrep"
31 PROGRAM_SUFFIX=$(grep -e '#define PACKAGE ' ../../config.h | sed -e 's/#define PACKAGE "lyx\(.*\)"/\1/')
32 >>>>>>> Stashed changes
34 export XVKBD_EXE=../$XVKBD_EXE
35 export KEYTEST=../keytest.py
37 export LYX_USERDIR=$(pwd)/$LYX_HOME/.lyx$PROGRAM_SUFFIX
39 export LOCALE_DIR=../locale
41 if [ ! -d ../../locale ]; then
42 echo "Some tests may require the GUI showing up in a specified language."
43 echo "In order to make it work, I'm going to run this command:"
45 cmd="ln -s `pwd`/locale ../../"
48 while [ "$ans" != "y" -a "$ans" != "n" ]; do
49 echo "Should I proceed (y/n) ?"
52 if [ "$ans" == "y" ]; then
57 if [ "$#" -eq 0 ]; then
58 TESTS=$(ls *-in.txt *-in.sh | sed -e 's/hello-world-in.txt\|first-time-in.txt//')
66 if [ ! -d $LYX_HOME ]; then
68 # mkdir -p $LYX_USERDIR
69 # cp preferences $LYX_USERDIR
71 echo "Initializing testing environment . . ."
72 if ! ../single-test.sh "../first-time-in.txt" > test-log.txt 2>&1; then
73 echo "Some error occurred: check $(pwd)"
79 # Launch the emergency STOP button
80 ./stop_autotests.tcl &
83 function stop_button() {
85 wait $pid > /dev/null 2>&1
88 echo "Running test cases . . ."
90 for tf in $(echo "$TESTS"); do
91 t=$(echo $tf | sed -e 's/-in.txt//g' | sed -e 's/-in.sh//g')
93 if [ -f "$t-in.txt" ]; then
94 cmd="../single-test.sh ../$t-in.txt";
95 elif [ -f "$t-in.sh" ]; then
96 if [ ! -x "$t-in.sh" ]; then
97 echo "ERROR: $t-in.sh is not executable"
103 echo "ERROR: File not found: $t-in.txt or $t-in.sh"
110 if $cmd > test-log.txt 2>&1; then
113 if [ "$V" != "" ]; then rm -rf "out-$t"; fi
124 if [ $failed -eq 0 ]; then
125 echo "All tests SUCCESSFUL"
127 echo "There were $failed FAILED tests";