1 # This file is part of LyX, the document processor.
2 # Licence details can be found in the file COPYING.
4 # Copyright (c) 2013 Kornel Benko <kornel@lyx.org>
5 # (c) 2013 Scott Kostyshak <skotysh@lyx.org>
7 # Needed, because of perl scripts here
8 find_package(Perl REQUIRED)
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")
16 foreach(_f ${lyx_files})
17 file(APPEND "${LYXFILES_FILE}" "${_f}\n")
20 # Define the perl-script running the actual test
21 set(SEARCH_URL_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/search_url.pl")
22 set(GET_TRANSLATORS_SCRIP "${CMAKE_CURRENT_SOURCE_DIR}/getTranslators.pl")
24 # Test used and as accessible expected urls
25 add_test(NAME "check_accessible_urls"
26 WORKING_DIRECTORY "${TOP_SEARCH_PATH}"
27 COMMAND ${PERL_EXECUTABLE} "${SEARCH_URL_SCRIPT}"
28 "filesToScan=${LYXFILES_FILE}"
29 "ignoredURLS=${CMAKE_CURRENT_SOURCE_DIR}/inaccessibleURLS"
30 "ignoredURLS=${CMAKE_CURRENT_SOURCE_DIR}/knownInvalidURLS")
32 # Test inaccessible, but revert the error marker (failed <=> passed)
33 # if this fails, then some url is accessible and does not belong
34 # to file inaccessibleURLS
35 add_test(NAME "check_inaccessible_urls"
36 WORKING_DIRECTORY "${TOP_SEARCH_PATH}"
37 COMMAND ${PERL_EXECUTABLE} "${SEARCH_URL_SCRIPT}"
38 "filesToScan=${LYXFILES_FILE}"
39 "selectedURLS=${CMAKE_CURRENT_SOURCE_DIR}/inaccessibleURLS"
40 "revertedURLS=${CMAKE_CURRENT_SOURCE_DIR}/inaccessibleURLS")
43 # Test our own bad urls
44 # and urls used in examples which should not match valid urls
45 # if this test fails, then our testtool contains errors
46 add_test(NAME "check_invalid_urls"
47 WORKING_DIRECTORY "${TOP_SEARCH_PATH}"
48 COMMAND ${PERL_EXECUTABLE} "${SEARCH_URL_SCRIPT}"
49 "extraURLS=${CMAKE_CURRENT_SOURCE_DIR}/knownInvalidURLS"
50 "revertedURLS=${CMAKE_CURRENT_SOURCE_DIR}/knownInvalidURLS")
52 add_test(NAME "check_translators"
53 WORKING_DIRECTORY "${TOP_BINARY_DIR}"
54 COMMAND ${PERL_EXECUTABLE} "${GET_TRANSLATORS_SCRIP}")
56 set_tests_properties("check_accessible_urls" "check_inaccessible_urls" "check_invalid_urls" "check_translators"
57 PROPERTIES RESOURCE_LOCK "url.lock" LABELS "url")
59 settestlabel("check_inaccessible_urls" "reverted")
60 settestlabel("check_invalid_urls" "reverted")