]> git.lyx.org Git - lyx.git/blobdiff - development/autotests/single-test.cmake
Fixup commit ff42fe
[lyx.git] / development / autotests / single-test.cmake
index 3f452cc5c7ed3c79deea36c7e220c72e0937c263..f76bb214d545bbab6d21f5b2961145fdf5b886bf 100755 (executable)
@@ -6,17 +6,20 @@
 # KEYTEST_OUTFILE = xxx-out.txt
 # BINDIR          = ${BUILD_DIR}/bin
 # WORKDIR         = ${BUILD_DIR}/autotests/out-home
+# LYX_USERDIR_VER = ${LYX_USERDIR_VER}
 # LOCALE_DIR      = ${BUILD_DIR}/autotests/locale
 # PO_BUILD_DIR    = ${BUILD_DIR}/po
 # PACKAGE         = lyx2.1
 #
 # Script should be called like:
 # cmake -DAUTOTEST_ROOT=xxxx \
+#       -DLYX_TESTS_USERDIR=${LYX_TESTS_USERDIR}
 #       -DKEYTEST_INFILE=xxxx \
 #       -DKEYTEST_OUTFILE=xxx \
 #       -DBINDIR=xxx \
 #       -DLYX=xxx \
 #       -DWORKDIR=xxx \
+#       -DLYX_USERDIR_VER=${LYX_USERDIR_VER} \
 #       -DLOCALE_DIR=xxx \
 #       -DPO_BUILD_DIR=xxx \
 #       -DPACKAGE=xxx \
@@ -45,18 +48,41 @@ else()
   set(LYX_WINDOW_NAME "")
 endif()
 
+#check for plausible DISPLAY environment (needed bei keytests)
+set(DISPLAY_VAR $ENV{DISPLAY})
+if(NOT DISPLAY_VAR MATCHES "^[a-zA-Z\\.]*:[0-9]+\(\\.[0-9]+\)?$")
+  message(FATAL_ERROR "Invalid DISPLAY environment value (== '${DISPLAY_VAR}')")
+endif()
+
 set(LYX_EXE "${BINDIR}/${LYX}")
-set(XVKBD_EXE "${BINDIR}/xvkbd")
-set(ENV{XVKBD_HACKED} "1")
+set(use_hacked $ENV{XVKBD_HACKED})
+if(NOT use_hacked)
+  if(use_hacked STREQUAL "")
+    # ENV{XVKBD_HACKED} probably not set, so the default should be
+    # to use the hacked
+    set(use_hacked "1")
+  else()
+    set(use_hacked "0")
+  endif()
+else()
+  set(use_hacked "1")
+endif()
+
+set(ENV{XVKBD_HACKED} ${use_hacked})
+if(use_hacked)
+  set(XVKBD_EXE "${BINDIR}/xvkbd")
+else()
+  set(XVKBD_EXE "/usr/bin/xvkbd")
+endif()
 
-if(EXISTS "${WORKDIR}/.lyx/session")
-  execute_process(COMMAND ${CMAKE_COMMAND} -E remove -f "${WORKDIR}/.lyx/session")
+if(EXISTS "${LYX_TESTS_USERDIR}/session")
+  execute_process(COMMAND ${CMAKE_COMMAND} -E remove -f "${LYX_TESTS_USERDIR}/session")
 endif()
 # Environments needed by keytest.py
 set(ENV{PACKAGE} ${PACKAGE})
 set(ENV{LOCALE_DIR} ${LOCALE_DIR})
-set(ENV{LYX_LOCALEDIR} "${WORKDIR}/../locale")
-set(ENV{LYX_USERDIR} "${WORKDIR}/.lyx")
+set(ENV{LYX_LOCALEDIR} "${LOCALE_DIR}")
+set(ENV{${LYX_USERDIR_VER}} "${LYX_TESTS_USERDIR}")
 set(ENV{LYX_PID} ${pidres})
 set(ENV{LYX_WINDOW_NAME} ${LYX_WINDOW_NAME})
 set(ENV{LYX_EXE} ${LYX_EXE})