commit c2a5a16d97f4d1a1a9a2f7f5a70efc5639845525
Author: Kornel Benko <[email protected]>
Date: Mon Jan 1 14:03:51 2018 +0100
Added new testcase to check for correct VCS-Info
---
autotests/checklatexexports/vcs_info_export.tex | 22 +++++++++
development/autotests/CMakeLists.txt | 1 +
development/autotests/VcsTest.cmake | 54 +++++++++++++++++++++++
development/autotests/VcsTests.cmake | 43 ++++++++++++++++++
4 files changed, 120 insertions(+), 0 deletions(-)
diff --git a/autotests/checklatexexports/vcs_info_export.tex
b/autotests/checklatexexports/vcs_info_export.tex
new file mode 100644
index 0000000..67b013f
--- /dev/null
+++ b/autotests/checklatexexports/vcs_info_export.tex
@@ -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}
diff --git a/development/autotests/CMakeLists.txt
b/development/autotests/CMakeLists.txt
index 208e74b..55df022 100644
--- a/development/autotests/CMakeLists.txt
+++ b/development/autotests/CMakeLists.txt
@@ -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)
diff --git a/development/autotests/VcsTest.cmake
b/development/autotests/VcsTest.cmake
new file mode 100755
index 0000000..298fc84
--- /dev/null
+++ b/development/autotests/VcsTest.cmake
@@ -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 [email protected]
+#
+#
+# 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()
diff --git a/development/autotests/VcsTests.cmake
b/development/autotests/VcsTests.cmake
new file mode 100644
index 0000000..83b572b
--- /dev/null
+++ b/development/autotests/VcsTests.cmake
@@ -0,0 +1,43 @@
+#
+# Copyright (c) 2018 Kornel Benko <[email protected]>
+#
+# 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()