]> git.lyx.org Git - lyx.git/commitdiff
Cmake testing: Added test_biblio
authorKornel Benko <kornel@lyx.org>
Wed, 7 Aug 2013 13:00:03 +0000 (15:00 +0200)
committerKornel Benko <kornel@lyx.org>
Wed, 7 Aug 2013 13:00:03 +0000 (15:00 +0200)
src/frontends/CMakeLists.txt
src/frontends/tests/CMakeLists.txt [new file with mode: 0644]
src/frontends/tests/test_biblio.cmake [new file with mode: 0644]

index c8e8065fcc8ae4b4df7421b250e2f73941f1fa9e..78c310d31d171764e0cb2c6ab10f7547653148bf 100644 (file)
@@ -26,3 +26,4 @@ target_link_libraries(frontends ${Lyx_Boost_Libraries})
 
 project_source_group("${GROUP_CODE}" frontends_sources frontends_headers)
 
+add_subdirectory(tests)
diff --git a/src/frontends/tests/CMakeLists.txt b/src/frontends/tests/CMakeLists.txt
new file mode 100644 (file)
index 0000000..9641faf
--- /dev/null
@@ -0,0 +1,20 @@
+# This file is part of LyX, the document processor.
+# Licence details can be found in the file COPYING.
+#
+# Copyright (c) 2013 Kornel Benko, <kornel@lyx.org>
+
+project(test)
+
+set(TESTS "test_biblio")
+
+add_executable(biblio biblio.cpp boost.cpp)
+target_link_libraries(biblio ${Lyx_Boost_Libraries})
+add_dependencies(lyx_run_tests biblio)
+
+foreach(tst ${TESTS})
+  add_test(NAME "frontends/${tst}"
+    COMMAND ${CMAKE_COMMAND}
+      -Dbiblio=$<TARGET_FILE:biblio>
+      -Dsaved_data=${TOP_SRC_DIR}/src/frontends/tests/regfiles/biblio
+      -P ${TOP_SRC_DIR}/src/frontends/tests/${tst}.cmake)
+endforeach()
diff --git a/src/frontends/tests/test_biblio.cmake b/src/frontends/tests/test_biblio.cmake
new file mode 100644 (file)
index 0000000..e086a4e
--- /dev/null
@@ -0,0 +1,17 @@
+# check of output of biblio-command with the saved data in regfiles/biblio
+#
+# Input variable
+# biblio       = full path of the biblio executable
+# saved_data   = full path of the file with expected output of biblio
+# 
+if(NOT EXISTS "${biblio}")
+  message(STATUS "searching for biblio as ${biblio}")
+  message(FATAL_ERROR "Compile biblio first")
+else()
+  execute_process(COMMAND "${biblio}" OUTPUT_VARIABLE biblio_out RESULT_VARIABLE biblio_res)
+
+  file(READ "${saved_data}" biblio_check)
+  if(NOT biblio_out STREQUAL biblio_check)
+    message(FATAL_ERROR "biblio_out = ${biblio_out}\nbiblio_in = ${biblio_in}")
+  endif()
+endif()