project(test)
-set(_test_depend "${CMAKE_CURRENT_BINARY_DIR}/test.ltx")
-set(_test_output "${CMAKE_CURRENT_BINARY_DIR}/test.lyx.tex")
-foreach(_arg runtests.py DummyDocument.tex test.ltx foo.eps foo.png)
- configure_file("${TOP_SRC_DIR}/src/tex2lyx/test/${_arg}" "${CMAKE_CURRENT_BINARY_DIR}/${_arg}" COPYONLY)
-endforeach(_arg)
-
-foreach(_arg test-structure test-insets box-color-size-space-align CJK XeTeX-polyglossia)
- add_custom_command(
- OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_arg}.tex"
- COMMAND ${CMAKE_COMMAND} -E copy_if_different "${TOP_SRC_DIR}/src/tex2lyx/test/${_arg}.tex" "${CMAKE_CURRENT_BINARY_DIR}/${_arg}.tex"
- DEPENDS "${TOP_SRC_DIR}/src/tex2lyx/test/${_arg}.tex"
- )
- list(APPEND _test_depend "${CMAKE_CURRENT_BINARY_DIR}/${_arg}.tex")
- list(APPEND _test_output "${CMAKE_CURRENT_BINARY_DIR}/${_arg}.lyx.tex")
- list(APPEND _test_output "${CMAKE_CURRENT_BINARY_DIR}/${_arg}.lyx.lyx")
-endforeach(_arg)
-
-ADD_CUSTOM_COMMAND(
- OUTPUT ${_test_output}
- COMMAND ${LYX_PYTHON_EXECUTABLE}
- ARGS "${CMAKE_CURRENT_BINARY_DIR}/runtests.py" "${TOP_BINARY_DIR}/bin/${_tex2lyx}" "${TOP_SRC_DIR}/lib/scripts"
+#file(GLOB _tex_tests RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/*.ltx" "${CMAKE_CURRENT_SOURCE_DIR}/*.tex")
+#
+#list(REMOVE_ITEM _tex_tests DummyDocument.tex)
+
+set(_tex_tests test.ltx
+ algo2e.tex
+ box-color-size-space-align.tex
+ CJK.tex
+ CJKutf8.tex
+ test-insets-basic.tex
+ test-insets.tex
+ test-memoir.tex
+ test-modules.tex
+ test-refstyle-theorems.tex
+ test-scr.tex
+ test-structure.tex
+ verbatim.tex
+ XeTeX-polyglossia.tex)
+
+set(runtestsScript "${TOP_SRC_DIR}/src/tex2lyx/test/runtests.py")
+set(scriptDir "${TOP_SRC_DIR}/lib/scripts")
+
+foreach(_fl ${_tex_tests})
+ set(fl ${_fl})
+ add_test(NAME tex2lyx/roundtrip/${_fl}
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ COMMAND ${CMAKE_COMMAND}
+ -DLYX_TESTS_USERDIR=${LYX_TESTS_USERDIR}
+ -DLYX_USERDIR_VER=${LYX_USERDIR_VER}
+ -DLYX_PYTHON_EXECUTABLE=${LYX_PYTHON_EXECUTABLE}
+ -DPY_SCRIPT=${runtestsScript}
+ -DTEX2LYX_EXE=$<TARGET_FILE:${_tex2lyx}>
+ -DSCRIPT_DIR=${scriptDir}
+ -DWORKDIR=${CMAKE_CURRENT_BINARY_DIR}
+ -DTESTFILE=${fl}
+ -P ${TOP_SRC_DIR}/src/tex2lyx/test/runtests.cmake)
+ set_tests_properties(tex2lyx/roundtrip/${_fl} PROPERTIES RESOURCE_LOCK "runtests.lock" LABELS "roundtrip")
+ add_test(NAME tex2lyx/cmplyx/${_fl}
+ WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
+ COMMAND ${CMAKE_COMMAND}
+ -DLYX_TESTS_USERDIR=${LYX_TESTS_USERDIR}
+ -DLYX_USERDIR_VER=${LYX_USERDIR_VER}
+ -DLYX_PYTHON_EXECUTABLE=${LYX_PYTHON_EXECUTABLE}
+ -DPY_SCRIPT=${runtestsScript}
+ -DFIRST_PARAM=uselyx2lyx
+ -DTEX2LYX_EXE=$<TARGET_FILE:${_tex2lyx}>
+ -DSCRIPT_DIR=${scriptDir}
+ -DWORKDIR=${CMAKE_CURRENT_BINARY_DIR}
+ -DTESTFILE=${fl}
+ -P ${TOP_SRC_DIR}/src/tex2lyx/test/runtests.cmake)
+ set_tests_properties(tex2lyx/cmplyx/${_fl} PROPERTIES RESOURCE_LOCK "runtests.lock" LABELS "cmplyx")
+endforeach()
+
+add_dependencies(lyx_run_tests ${_tex2lyx} ${_lyx})
+
+add_custom_command(
+ OUTPUT LyxTestFiles
+ COMMAND ${CMAKE_COMMAND} -E touch LyxTestFiles
+ COMMAND ${CMAKE_COMMAND}
+ -DENVIRON="${LYX_USERDIR_VER}=${LYX_TESTS_USERDIR}"
+ -DCOMMAND="${LYX_PYTHON_EXECUTABLE}"
+ -DPARAMS="${runtestsScript}'$<TARGET_FILE:${_tex2lyx}>'${scriptDir}'${CMAKE_CURRENT_SOURCE_DIR}"
+ -P ${TOP_SRC_DIR}/src/tex2lyx/test/env_custom_command.cmake
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
- DEPENDS ${_tex2lyx} ${_test_depend}
- COMMENT "${LYX_PYTHON_EXECUTABLE}" "${CMAKE_CURRENT_BINARY_DIR}/runtests.py" "${TOP_BINARY_DIR}/bin/${_tex2lyx}" "${TOP_SRC_DIR}/lib/scripts"
+ DEPENDS ${_tex2lyx} ${_lyx}
)
-ADD_CUSTOM_TARGET(test DEPENDS ${_tex2lyx} ${_lyx} ${_test_output})
-
+add_custom_target(updatetex2lyxtests DEPENDS LyxTestFiles)
+set_target_properties(updatetex2lyxtests PROPERTIES FOLDER "tests/tex2lyx")