summaryrefslogtreecommitdiff
path: root/elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt
diff options
context:
space:
mode:
authormattkae <mattkae@protonmail.com>2022-05-11 09:23:58 -0400
committermattkae <mattkae@protonmail.com>2022-05-11 09:23:58 -0400
commit3f4a0d5370ae6c34afe180df96add3b8522f4af1 (patch)
treeae901409e02bde8ee278475f8cf6818f8f680a60 /elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt
initial commit
Diffstat (limited to 'elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt')
-rw-r--r--elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt47
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)