X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=development%2Fautotests%2Frun-tests.sh;h=c462603a849e9504797ce7298bb56e2e482d11d5;hb=45b61c6ecf76425d563b6fae7f3da52e3716ca5d;hp=766f4c1a70ea2a62cf155495dd4d01aa18a3b34a;hpb=705759d6783809031e1ee184827a23d146f8a433;p=lyx.git diff --git a/development/autotests/run-tests.sh b/development/autotests/run-tests.sh index 766f4c1a70..c462603a84 100755 --- a/development/autotests/run-tests.sh +++ b/development/autotests/run-tests.sh @@ -4,21 +4,53 @@ # Tests are identified as having a file name of *-in.txt # For failed tests, the collected output is kept in the corresponding folder -export LYX_EXE=../../../src/lyx +#export LYX_EXE=../../../src/lyx + +if [ "$XVKBD_HACKED" != "" ]; then + export XVKBD_EXE=${XVKBD:-./xvkbd/xvkbd}; + if [ ! -x $XVKBD_EXE ]; then + echo "You need to build XVKBD first, try: cd xvkbd && xmkmf && make" + exit -1; + fi +fi + +export XVKBD_EXE=../$XVKBD_EXE export KEYTEST=../keytest.py -export LYX_USERDIR=$(pwd)/home/.lyx +LYX_HOME=out-home +export LYX_USERDIR=$(pwd)/$LYX_HOME/.lyx +# Create locale links +export LOCALE_DIR=../locale + +if [ ! -d ../../locale ]; then + echo "Some tests may require the GUI showing up in a specified language." + echo "In order to make it work, I'm going to run this command:" + mkdir -p locale + cmd="ln -s `pwd`/locale ../../" + echo " $cmd" + ans="" + while [ "$ans" != "y" -a "$ans" != "n" ]; do + echo "Should I proceed (y/n) ?" + read ans; + done + if [ "$ans" == "y" ]; then + $cmd; + fi; +fi if [ "$#" -eq 0 ]; then - TESTS=$(ls *-in.txt | sed -e 's/hello-world-in.txt\|first-time-in.txt//'); + TESTS=$(ls *-in.txt | sed -e 's/hello-world-in.txt\|first-time-in.txt//') + rm -rf out-*; else TESTS=$* fi echo -if [ ! -d home ]; then - mkdir home - cd home +if [ ! -d $LYX_HOME ]; then + mkdir -p $LYX_HOME +# mkdir -p $LYX_USERDIR +# cp preferences $LYX_USERDIR + cd $LYX_HOME echo "Initializing testing environment . . ." if ! ../single-test.sh "../first-time-in.txt" > keytest-log.txt 2>&1; then echo "Some error occurred: check $(pwd)" @@ -27,6 +59,10 @@ if [ ! -d home ]; then cd .. fi +# Launch the emergency STOP button +./stop_autotests.tcl & +pid=$! + echo "Running test cases . . ." failed=0 for t in $(echo "$TESTS" | sed -e 's/-in.txt//g'); do @@ -49,6 +85,9 @@ for t in $(echo "$TESTS" | sed -e 's/-in.txt//g'); do fi; done +kill $pid +wait $pid > /dev/null 2>&1 + echo if [ $failed -eq 0 ]; then echo "All tests SUCCESSFUL"