mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
Cmake build: Testing
Make this all more the cmake way
This commit is contained in:
parent
2f0e57cad4
commit
892e237fe1
@ -30,7 +30,7 @@ if(Q_WS_X11)
|
|||||||
|
|
||||||
foreach(_tf first-time-in.txt hello-world-in.txt ${TESTST})
|
foreach(_tf first-time-in.txt hello-world-in.txt ${TESTST})
|
||||||
string(REGEX REPLACE "-in\\.(txt|sh)" "" _t ${_tf})
|
string(REGEX REPLACE "-in\\.(txt|sh)" "" _t ${_tf})
|
||||||
add_test(NAME "autotests/${_t}"
|
add_test(NAME autotests/${_t}
|
||||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}"
|
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}"
|
||||||
COMMAND ${CMAKE_COMMAND}
|
COMMAND ${CMAKE_COMMAND}
|
||||||
-DAUTOTEST_ROOT=${TOP_SRC_DIR}/development/autotests
|
-DAUTOTEST_ROOT=${TOP_SRC_DIR}/development/autotests
|
||||||
@ -50,7 +50,7 @@ file(GLOB lyx_files RELATIVE "${TOP_SRC_DIR}/lib/doc" "${TOP_SRC_DIR}/lib/doc/*.
|
|||||||
foreach(f ${lyx_files})
|
foreach(f ${lyx_files})
|
||||||
# Strip extension
|
# Strip extension
|
||||||
string(REGEX REPLACE "\\.lyx$" "" f ${f})
|
string(REGEX REPLACE "\\.lyx$" "" f ${f})
|
||||||
add_test(NAME autotests/export_${f}_lyx16
|
add_test(NAME autotests/export/${f}_lyx16
|
||||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}"
|
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}"
|
||||||
COMMAND ${CMAKE_COMMAND} -DLYX_ROOT=${TOP_SRC_DIR}/lib/doc
|
COMMAND ${CMAKE_COMMAND} -DLYX_ROOT=${TOP_SRC_DIR}/lib/doc
|
||||||
-Dlyx=$<TARGET_FILE:${_lyx}>
|
-Dlyx=$<TARGET_FILE:${_lyx}>
|
||||||
@ -58,7 +58,7 @@ foreach(f ${lyx_files})
|
|||||||
-Dextension=16.lyx
|
-Dextension=16.lyx
|
||||||
-Dfile=${f}
|
-Dfile=${f}
|
||||||
-P "${TOP_SRC_DIR}/development/autotests/export.cmake")
|
-P "${TOP_SRC_DIR}/development/autotests/export.cmake")
|
||||||
add_test(NAME autotests/export_${f}_xhtml
|
add_test(NAME autotests/export/${f}_xhtml
|
||||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}"
|
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}"
|
||||||
COMMAND ${CMAKE_COMMAND} -DLYX_ROOT=${TOP_SRC_DIR}/lib/doc
|
COMMAND ${CMAKE_COMMAND} -DLYX_ROOT=${TOP_SRC_DIR}/lib/doc
|
||||||
-Dlyx=$<TARGET_FILE:${_lyx}>
|
-Dlyx=$<TARGET_FILE:${_lyx}>
|
||||||
|
@ -38,14 +38,11 @@ foreach(_src ${check_PROGRAMS})
|
|||||||
string(REPLACE "check_" "" _srcx ${_src})
|
string(REPLACE "check_" "" _srcx ${_src})
|
||||||
set(src_data_file "${TOP_SRC_DIR}/src/support/tests/regfiles/${_srcx}")
|
set(src_data_file "${TOP_SRC_DIR}/src/support/tests/regfiles/${_srcx}")
|
||||||
set(created_data_file "${CMAKE_CURRENT_BINARY_DIR}/regfiles/${_src}_data")
|
set(created_data_file "${CMAKE_CURRENT_BINARY_DIR}/regfiles/${_src}_data")
|
||||||
add_test(NAME support/${_srcx}/build
|
add_test(NAME support/${_srcx}
|
||||||
COMMAND "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target ${_src})
|
COMMAND ${CMAKE_COMMAND} -DCommand=$<TARGET_FILE:${_src}>
|
||||||
add_test(NAME support/${_srcx}/createdata
|
-DInput=${src_data_file}
|
||||||
COMMAND ${_src} > "${created_data_file}")
|
-DOutput=${created_data_file}
|
||||||
add_test(NAME support/${_srcx}/compare
|
-P "${TOP_SRC_DIR}/src/support/tests/supporttest.cmake")
|
||||||
COMMAND ${CMAKE_COMMAND} -E compare_files "${src_data_file}" "${created_data_file}")
|
|
||||||
set_tests_properties(support/${_srcx}/createdata PROPERTIES DEPENDS support/${_srcx}/build )
|
|
||||||
set_tests_properties(support/${_srcx}/compare PROPERTIES DEPENDS support/${_srcx}/createdata)
|
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
|
||||||
|
30
src/support/tests/supporttest.cmake
Normal file
30
src/support/tests/supporttest.cmake
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
# This file is part of LyX, the document processor.
|
||||||
|
# Licence details can be found in the file COPYING.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2012 Kornel Benko kornel@lyx.org
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Script should be called like:
|
||||||
|
# cmake -DCommand=xxx \
|
||||||
|
# -DInput=xxx \
|
||||||
|
# -DOutput=xxx \
|
||||||
|
# -P xxxx/supporttest.cmake
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Command: The executable, whose output is to be examined
|
||||||
|
# Input: The file name of expected data
|
||||||
|
# Output: The file name for data catched from output of the executable
|
||||||
|
|
||||||
|
execute_process(COMMAND "${Command}"
|
||||||
|
OUTPUT_FILE "${Output}"
|
||||||
|
RESULT_VARIABLE _testres)
|
||||||
|
|
||||||
|
if(_testres)
|
||||||
|
message(FATAL_ERROR "${Command} not working")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
execute_process(COMMAND ${CMAKE_COMMAND} -E compare_files "${Input}" "${Output}"
|
||||||
|
RESULT_VARIABLE _testres)
|
||||||
|
if(_testres)
|
||||||
|
message(FATAL_ERROR "Files are not eqal")
|
||||||
|
endif()
|
@ -7,26 +7,18 @@
|
|||||||
project(test)
|
project(test)
|
||||||
|
|
||||||
file(GLOB _tex_tests RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/*.ltx" "${CMAKE_CURRENT_SOURCE_DIR}/*.tex")
|
file(GLOB _tex_tests RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}/*.ltx" "${CMAKE_CURRENT_SOURCE_DIR}/*.tex")
|
||||||
#set(_tex_tests test.ltx test-structure test-insets test-modules box-color-size-space-align CJK XeTeX-polyglossia)
|
|
||||||
list(REMOVE_ITEM _tex_tests DummyDocument.tex)
|
list(REMOVE_ITEM _tex_tests DummyDocument.tex)
|
||||||
|
|
||||||
add_test(NAME tex2lyx/create_lyx
|
|
||||||
COMMAND "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target ${_lyx})
|
|
||||||
|
|
||||||
add_test(NAME tex2lyx/create_tex2lyx
|
|
||||||
COMMAND "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target ${_tex2lyx})
|
|
||||||
set_tests_properties(tex2lyx/create_tex2lyx PROPERTIES DEPENDS tex2lyx/create_lyx)
|
|
||||||
|
|
||||||
foreach(_fl ${_tex_tests})
|
foreach(_fl ${_tex_tests})
|
||||||
set(fl ${_fl})
|
set(fl ${_fl})
|
||||||
add_test(NAME tex2lyx/roundtrip/${_fl}
|
add_test(NAME tex2lyx/roundtrip/${_fl}
|
||||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
|
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
|
||||||
COMMAND ${LYX_PYTHON_EXECUTABLE} "${TOP_SRC_DIR}/src/tex2lyx/test/runtests.py"
|
COMMAND ${LYX_PYTHON_EXECUTABLE} "${TOP_SRC_DIR}/src/tex2lyx/test/runtests.py"
|
||||||
"${TOP_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${_tex2lyx}"
|
"$<TARGET_FILE:${_tex2lyx}>"
|
||||||
"${TOP_SRC_DIR}/lib/scripts"
|
"${TOP_SRC_DIR}/lib/scripts"
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}"
|
"${CMAKE_CURRENT_BINARY_DIR}"
|
||||||
${fl})
|
${fl})
|
||||||
set_tests_properties(tex2lyx/roundtrip/${_fl} PROPERTIES DEPENDS tex2lyx/create_tex2lyx)
|
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user