X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ftex2lyx%2Ftest%2FCMakeLists.txt;h=e620e067c4bef34364e06cef0e0f7eb2224a5ab1;hb=afd6e1d45e1a535eb8f4016da6207a7d00196a19;hp=2b1115221ef7022a0d4c171eab2fd80c0a8606d3;hpb=f2553ebf6cfdb79fd3a87f1f11722f87a9211a92;p=features.git diff --git a/src/tex2lyx/test/CMakeLists.txt b/src/tex2lyx/test/CMakeLists.txt index 2b1115221e..e620e067c4 100644 --- a/src/tex2lyx/test/CMakeLists.txt +++ b/src/tex2lyx/test/CMakeLists.txt @@ -4,23 +4,34 @@ # Copyright (c) 2012 Kornel Benko, # -project(test) +project(testTex2lyx) #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 + beamer.tex box-color-size-space-align.tex CJK.tex CJKutf8.tex + listpreamble.tex + tabular-x-test.tex + test-insets-basic.tex test-insets.tex + test-memoir.tex + test-minted.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} @@ -29,28 +40,68 @@ foreach(_fl ${_tex_tests}) -DLYX_TESTS_USERDIR=${LYX_TESTS_USERDIR} -DLYX_USERDIR_VER=${LYX_USERDIR_VER} -DLYX_PYTHON_EXECUTABLE=${LYX_PYTHON_EXECUTABLE} - -DPY_SCRIPT=${TOP_SRC_DIR}/src/tex2lyx/test/runtests.py + -DPY_SCRIPT=${runtestsScript} -DTEX2LYX_EXE=$ - -DSCRIPT_DIR=${TOP_SRC_DIR}/lib/scripts + -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") + set_tests_properties(tex2lyx/roundtrip/${_fl} PROPERTIES RESOURCE_LOCK "runtests.lock" LABELS "roundtrip:tex2lyx") 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=${TOP_SRC_DIR}/src/tex2lyx/test/runtests.py + -DPY_SCRIPT=${runtestsScript} -DFIRST_PARAM=uselyx2lyx -DTEX2LYX_EXE=$ - -DSCRIPT_DIR=${TOP_SRC_DIR}/lib/scripts + -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") + set_tests_properties(tex2lyx/cmplyx/${_fl} PROPERTIES RESOURCE_LOCK "runtests.lock" LABELS "cmplyx:tex2lyx") endforeach() add_dependencies(lyx_run_tests ${_tex2lyx} ${_lyx}) +set(LyxTestFiles "") # "'" separated test-filenames +set(LyxRemoveFiles) # Extra files created by runtests.py +foreach(_fl ${_tex_tests}) + set(LyxTestFiles "${LyxTestFiles}'${_fl}") + if (_fl MATCHES "^\(.*\)\\.\([^\\.]+)$") + list(APPEND LyxRemoveFiles "${CMAKE_CURRENT_SOURCE_DIR}/${CMAKE_MATCH_1}.lyx.tex") + endif() +endforeach() +foreach(_lrf "DummyDocument.lyx.tex" "Dummy~Document.lyx.tex" "foo.pdf" "xfigtest.pdf" "xfigtest.pdftex_t") + list(APPEND LyxRemoveFiles "${CMAKE_CURRENT_SOURCE_DIR}/${_lrf}") +endforeach() +list(APPEND LyxRemoveFiles "${TOP_SRC_DIR}/lib/examples/longsheet.tex") + +add_custom_command( + OUTPUT Tex2lyxFilesUpdated + COMMAND ${CMAKE_COMMAND} + -DCOMMAND="${LYX_PYTHON_EXECUTABLE}" + -DENVIRON="${LYX_USERDIR_VER}=${LYX_TESTS_USERDIR}" + -DPARAMS="${runtestsScript}'$'${scriptDir}'${CMAKE_CURRENT_SOURCE_DIR}" + -DSINGLEPARLIST="${LyxTestFiles}" + -P ${TOP_SRC_DIR}/src/tex2lyx/test/env_custom_command.cmake + COMMAND ${CMAKE_COMMAND} -E touch Tex2lyxFilesUpdated + WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" + DEPENDS ${_tex2lyx} ${_lyx} + ) + +add_custom_target(updatetex2lyxtests DEPENDS Tex2lyxFilesUpdated) +set_target_properties(updatetex2lyxtests PROPERTIES FOLDER "tests/tex2lyx") + +# In order to not pollute the source directory +# now remove some untracked files created by the target updatetex2lyxtests +add_custom_command( + OUTPUT UpdateFilesRemoved + COMMAND ${CMAKE_COMMAND} -E remove -f ${LyxRemoveFiles} + COMMAND ${CMAKE_COMMAND} -E touch UpdateFilesRemoved + DEPENDS Tex2lyxFilesUpdated +) + +add_custom_target(cleanupdatetex2lyxtests DEPENDS UpdateFilesRemoved) +set_target_properties(cleanupdatetex2lyxtests PROPERTIES FOLDER "tests/tex2lyx")