diff options
Diffstat (limited to 'elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt')
-rw-r--r-- | elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt b/elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt new file mode 100644 index 0000000..8877a89 --- /dev/null +++ b/elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt @@ -0,0 +1,47 @@ +# On MS-Windows, emacs_dir is a special environment variable, which +# indicates the full path of the directory in which Emacs is +# installed. +# +# There is no standard location that I know of for Emacs on Windows so +# using this special environment variable will at least help people +# who build the server from inside Emacs. +if(DEFINED ENV{emacs_dir}) + list(APPEND EMACS_EXECUTABLE_HINTS $ENV{emacs_dir}/bin) +endif() + +find_program(EMACS_EXECUTABLE emacs + HINTS ${EMACS_EXECUTABLE_HINTS}) + +if (EMACS_EXECUTABLE) + message(STATUS "Found emacs: ${EMACS_EXECUTABLE}") +else() + message(WARNING "emacs not found: elisp tests will be skipped!") + return() +endif() + +# +# add_ert_test(<FileName>) +# +# Create a test which run the given Elisp script using the Emacs ERT testing +# framework. +# +# The target is deduced from the ``FileName`` argument, e.g: the file foo.el +# will be the target 'check-foo-el'. +# +# FIXME: assumes MELPA is configured... +function(add_ert_test test_file) + get_filename_component(name ${test_file} NAME_WE) + add_test(check-${name}-el + ${EMACS_EXECUTABLE} -Q --batch + -l package + --eval "(package-initialize)" + --eval "(unless (require 'cl-lib nil t) (package-refresh-contents) (package-install 'cl-lib))" + -l ${CMAKE_CURRENT_SOURCE_DIR}/${test_file} + -f ert-run-tests-batch-and-exit) + + set_tests_properties(check-${name}-el PROPERTIES TIMEOUT 15) +endfunction() + +add_ert_test(irony.el) +add_ert_test(irony-iotask.el) +add_ert_test(irony-cdb-json.el) |