mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 05:16:21 +00:00
Added new testcase to check for correct VCS-Info
This commit is contained in:
parent
d5b03214ab
commit
c2a5a16d97
22
autotests/checklatexexports/vcs_info_export.tex
Normal file
22
autotests/checklatexexports/vcs_info_export.tex
Normal file
@ -0,0 +1,22 @@
|
||||
%% LyX 2.4.0dev created this file. For more info, see https://www.lyx.org/.
|
||||
%% Do not edit unless you really know what you are doing.
|
||||
\documentclass[english]{article}
|
||||
\usepackage{mathpazo}
|
||||
\usepackage[scaled=0.95]{helvet}
|
||||
\usepackage{courier}
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[latin9]{inputenc}
|
||||
\usepackage{babel}
|
||||
\begin{document}
|
||||
file: vcs\_info\_export.lyx
|
||||
|
||||
commit: 9c6a95b22a4d9c2b0eff5907405279dba885704f
|
||||
|
||||
class: article
|
||||
|
||||
author: Kornel Benko
|
||||
|
||||
date: 2018-01-01
|
||||
|
||||
time: 12:16:09 +0100
|
||||
\end{document}
|
@ -124,3 +124,4 @@ endif()
|
||||
if (LYX_ENABLE_EXPORT_TESTS)
|
||||
include(${TOP_SRC_DIR}/development/autotests/ExportTests.cmake)
|
||||
endif()
|
||||
include(${TOP_SRC_DIR}/development/autotests/VcsTests.cmake)
|
||||
|
54
development/autotests/VcsTest.cmake
Executable file
54
development/autotests/VcsTest.cmake
Executable file
@ -0,0 +1,54 @@
|
||||
# This file is part of LyX, the document processor.
|
||||
# Licence details can be found in the file COPYING.
|
||||
#
|
||||
# Copyright (c) 2018 Kornel Benko kornel@lyx.org
|
||||
#
|
||||
#
|
||||
# LYX_ROOT = ${TOP_SRC_DIR}/lib/{doc,examples,templates}
|
||||
# file = xxx
|
||||
#
|
||||
set(ENV{${LYX_USERDIR_VER}} "${LYX_TESTS_USERDIR}")
|
||||
set(ENV{LANG} "en_US.UTF-8") # to get all error-messages in english
|
||||
|
||||
set(result_file_name ${file}.tex)
|
||||
set(check_file_name "${LYX_ROOT}/${file}.tex")
|
||||
|
||||
message(STATUS "Check for ${LYX_GITVERSION}")
|
||||
if(LYX_GITVERSION)
|
||||
execute_process(
|
||||
WORKING_DIRECTORY "${LYX_ROOT}"
|
||||
COMMAND git status ${file}.lyx
|
||||
RESULT_VARIABLE _err
|
||||
ERROR_VARIABLE lyxerr)
|
||||
if (_err)
|
||||
message(STATUS "Not a git controlled file")
|
||||
else()
|
||||
message(STATUS "Executing ${lyx} -E ${ExportFormat} ${result_file_name} \"${LYX_ROOT}/${file}.lyx\"")
|
||||
execute_process(
|
||||
COMMAND ${lyx} -E ${ExportFormat} ${result_file_name} "${LYX_ROOT}/${file}.lyx"
|
||||
RESULT_VARIABLE _err
|
||||
ERROR_VARIABLE lyxerr)
|
||||
if(NOT _err)
|
||||
if(NOT EXISTS "${result_file_name}")
|
||||
message(STATUS "Expected result file \"${result_file_name}\" does not exist")
|
||||
set(_err -1)
|
||||
else()
|
||||
message(STATUS "Expected result file \"${result_file_name}\" exists")
|
||||
endif()
|
||||
# Check if result file identical to check file
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E compare_files
|
||||
"${result_file_name}" "${LYX_ROOT}/${file}.tex"
|
||||
RESULT_VARIABLE _err
|
||||
ERROR_VARIABLE lyxerr)
|
||||
if (NOT _err)
|
||||
message(STATUS "Compare successful")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
string(COMPARE NOTEQUAL ${_err} 0 _erg)
|
||||
if(_erg)
|
||||
message(STATUS "Exporting ${file}.lyx to ${ExportFormat}")
|
||||
message(FATAL_ERROR "Export failed")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
43
development/autotests/VcsTests.cmake
Normal file
43
development/autotests/VcsTests.cmake
Normal file
@ -0,0 +1,43 @@
|
||||
#
|
||||
# Copyright (c) 2018 Kornel Benko <kornel@lyx.org>
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# 1. Redistributions of source code must retain the copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
# 2. Redistributions in binary form must reproduce the copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
# 3. The name of the author may not be used to endorse or promote products
|
||||
# derived from this software without specific prior written permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
|
||||
# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
|
||||
# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
|
||||
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#
|
||||
|
||||
set(outputformat pdflatex)
|
||||
set(checkdir "${TOP_SRC_DIR}/autotests/checklatexexports")
|
||||
set(checkfiles vcs_info_export)
|
||||
|
||||
foreach(_f ${checkfiles})
|
||||
add_test(NAME VcsInfo.${_f}
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}"
|
||||
COMMAND ${CMAKE_COMMAND} -DLYX_ROOT=${checkdir}
|
||||
-DLYX_TESTS_USERDIR=${LYX_TESTS_USERDIR}
|
||||
-Dlyx=$<TARGET_FILE:${_lyx}>
|
||||
-DWORKDIR=${CMAKE_CURRENT_BINARY_DIR}/${LYX_HOME}
|
||||
-DLYX_GITVERSION=${LYX_GITVERSION}
|
||||
-DExportFormat=${outputformat}
|
||||
-Dfile=${_f}
|
||||
-P "${TOP_SRC_DIR}/development/autotests/VcsTest.cmake")
|
||||
endforeach()
|
Loading…
Reference in New Issue
Block a user