--- /dev/null
+# 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()
--- /dev/null
+# 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()