]> git.lyx.org Git - features.git/blob - development/checkurls/CMakeLists.txt
ctests for broken URLs in URL insets of LyX docs
[features.git] / development / checkurls / CMakeLists.txt
1 # This file is part of LyX, the document processor.
2 # Licence details can be found in the file COPYING.
3 #
4 # Copyright (c) 2013 Kornel Benko <kornel@lyx.org>
5 #           (c) 2013 Scott Kostyshak <skotysh@lyx.org>
6 #
7 # Needed, because of perl scripts here
8 find_package(Perl REQUIRED)
9
10 # create file the lyx-files-list
11 set(TOP_SEARCH_PATH "${TOP_SRC_DIR}")
12 set(LYXFILES_FILE "${CMAKE_CURRENT_BINARY_DIR}/filesToScan")
13 file(WRITE "${LYXFILES_FILE}")
14 file(GLOB_RECURSE lyx_files RELATIVE "${TOP_SEARCH_PATH}" "${TOP_SEARCH_PATH}/*.lyx")
15
16 foreach(_f ${lyx_files})
17   file(APPEND "${LYXFILES_FILE}" "${_f}\n")
18 endforeach()
19
20 # Define the perl-script running the actual test
21 set(SEARCH_URL_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/search_url.pl")
22
23 # Test all but inaccessible
24 add_test(NAME "check_accessible_urls"
25   WORKING_DIRECTORY "${TOP_SEARCH_PATH}"
26   COMMAND ${PERL_EXECUTABLE} "${SEARCH_URL_SCRIPT}"
27     "filesToScan=${LYXFILES_FILE}"
28     "ignoredURLS=${CMAKE_CURRENT_SOURCE_DIR}/inaccessibleURLS")
29
30 # Test inaccessible, but revert the error marker (failed <=> passed)
31 # if this fails, then some url is accessible and does not belong
32 # to file inaccessibleURLS
33 add_test(NAME "check_inaccessible_urls"
34   WORKING_DIRECTORY "${TOP_SEARCH_PATH}"
35   COMMAND ${PERL_EXECUTABLE} "${SEARCH_URL_SCRIPT}"
36     "filesToScan=${LYXFILES_FILE}"
37     "selectedURLS=${CMAKE_CURRENT_SOURCE_DIR}/inaccessibleURLS"
38     "revertedURLS=${CMAKE_CURRENT_SOURCE_DIR}/inaccessibleURLS")
39
40 #
41 # Test our own bad URLs
42 # if this test fails, then our testtool contains errors
43 add_test(NAME "check_invalid_urls"
44   WORKING_DIRECTORY "${TOP_SEARCH_PATH}"
45   COMMAND ${PERL_EXECUTABLE} "${SEARCH_URL_SCRIPT}"
46     "extraURLS=${CMAKE_CURRENT_SOURCE_DIR}/knownInvalidURLS"
47     "revertedURLS=${CMAKE_CURRENT_SOURCE_DIR}/knownInvalidURLS")
48
49