summaryrefslogtreecommitdiff
path: root/elpa/irony-20220110.849/server/test/elisp
diff options
context:
space:
mode:
Diffstat (limited to 'elpa/irony-20220110.849/server/test/elisp')
-rw-r--r--elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt47
-rw-r--r--elpa/irony-20220110.849/server/test/elisp/irony-cdb-json.el87
-rw-r--r--elpa/irony-20220110.849/server/test/elisp/irony-iotask.el249
-rw-r--r--elpa/irony-20220110.849/server/test/elisp/irony.el121
-rw-r--r--elpa/irony-20220110.849/server/test/elisp/test-config.el14
5 files changed, 0 insertions, 518 deletions
diff --git a/elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt b/elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt
deleted file mode 100644
index 8877a89..0000000
--- a/elpa/irony-20220110.849/server/test/elisp/CMakeLists.txt
+++ /dev/null
@@ -1,47 +0,0 @@
-# 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)
diff --git a/elpa/irony-20220110.849/server/test/elisp/irony-cdb-json.el b/elpa/irony-20220110.849/server/test/elisp/irony-cdb-json.el
deleted file mode 100644
index a810dae..0000000
--- a/elpa/irony-20220110.849/server/test/elisp/irony-cdb-json.el
+++ /dev/null
@@ -1,87 +0,0 @@
-;; -*-no-byte-compile: t; -*-
-(load
- (concat (file-name-directory (or load-file-name buffer-file-name))
- "test-config"))
-
-(require 'irony-cdb-json)
-(require 'cl-lib)
-
-(defconst irony-cdb/compile-command
- '((file . "../src/file.cc")
- (directory . "/home/user/project/build")
- (command . "/usr/bin/clang++ -DSOMEDEF=1 -c -o file.o /home/user/project/src/file.cc")))
-
-(ert-deftest cdb/parse/simple/path-is-absolute ()
- (should
- (equal "/home/user/project/src/file.cc"
- (nth 0 (irony-cdb-json--transform-compile-command
- irony-cdb/compile-command)))))
-
-(ert-deftest cdb/parse/simple/compile-options ()
- (should
- (equal '("-DSOMEDEF=1")
- (nth 1 (irony-cdb-json--transform-compile-command
- irony-cdb/compile-command)))))
-
-(ert-deftest cdb/parse/simple/invocation-directory ()
- (should
- (equal "/home/user/project/build"
- (nth 2 (irony-cdb-json--transform-compile-command
- irony-cdb/compile-command)))))
-
-(ert-deftest cdb/choose-closest-path/chooses-closest ()
- (should
- (equal "/tmp/a/cdb"
- (irony-cdb--choose-closest-path "/tmp/a/1"
- '("/tmp/a/cdb" "/tmp/cdb")))))
-
-(ert-deftest cdb/choose-closest-path/chooses-closest2 ()
- (should
- (equal "/tmp/a/cdb"
- (irony-cdb--choose-closest-path "/tmp/a/1"
- '("/tmp/cdb" "/tmp/a/cdb")))))
-
-(ert-deftest cdb/choose-closest-path/prefers-deeper ()
- (should
- (equal "/tmp/a/build/cdb"
- (irony-cdb--choose-closest-path "/tmp/a/1"
- '("/tmp/a/build/cdb" "/tmp/cdb")))))
-
-(ert-deftest cdb/choose-closest-path/prefers-deeper2 ()
- (should
- (equal "/tmp/a/build/cdb"
- (irony-cdb--choose-closest-path "/tmp/a/1"
- '("/tmp/cdb" "/tmp/a/build/cdb")))))
-
-(ert-deftest cdb/choose-closest-path/will-survive-garbage ()
- (should
- (equal nil
- (irony-cdb--choose-closest-path "/tmp/a/1"
- 'ordures))))
-
-; http://endlessparentheses.com/understanding-letf-and-how-it-replaces-flet.html
-(ert-deftest cdb/locate-db/choose-among-candidates ()
- (should
- (equal "/foo/build/cdb"
- (cl-letf (((symbol-function 'locate-dominating-file)
- (lambda (file name)
- (cond
- ((string= name "./cdb") "/") ; found /cdb
- ((string= name "build/cdb") "/foo/") ; found /foo/build/cdb
- ))))
- (irony-cdb--locate-dominating-file-with-dirs "/foo/bar/qux.cpp"
- "cdb"
- '("." "build" "out/x86_64"))))))
-
-(ert-deftest cdb/locate-dominating-file-with-dirs/children-first ()
- (should
- (equal "/tmp/foo/bar/out/x86_64/cdb"
- (cl-letf (((symbol-function 'locate-dominating-file)
- (lambda (file name)
- (cond
- ((string= name "./cdb") "/tmp/foo/") ; found /tmp/foo/cdb
- ((string= name "out/x86_64/cdb") "/tmp/foo/bar/") ;found /tmp/foo/bar/out/x86_64/cdb
- ))))
- (irony-cdb--locate-dominating-file-with-dirs "/tmp/foo/bar/qux.cpp"
- "cdb"
- '("." "out/x86_64" ))))))
diff --git a/elpa/irony-20220110.849/server/test/elisp/irony-iotask.el b/elpa/irony-20220110.849/server/test/elisp/irony-iotask.el
deleted file mode 100644
index 7ef213b..0000000
--- a/elpa/irony-20220110.849/server/test/elisp/irony-iotask.el
+++ /dev/null
@@ -1,249 +0,0 @@
-;; -*-no-byte-compile: t; -*-
-(load (concat (file-name-directory (or load-file-name
- buffer-file-name))
- "test-config"))
-
-;; load irony-iotask
-;;
-;; XXX: No idea why this is necessary, test-config already adds the directory to
-;; the load-path so irony is found...
-(unless (require 'irony-iotask nil t)
- (let ((irony-iotask-dir (expand-file-name "../../.." test-dir)))
- (add-to-list 'load-path irony-iotask-dir)
- (require 'irony-iotask)))
-
-(defun irony-iotask-echo-process-exit-filter (process output)
- (when (buffer-live-p (process-buffer process))
- (with-current-buffer (process-buffer process)
- (goto-char (process-mark process))
- (insert output)
- (set-marker (process-mark process) (point))
- (when (>= (buffer-size) (length "exit\n"))
- (should (string= (buffer-string) "exit\n"))
- (erase-buffer)))))
-
-;; Note: these tests use process communication with the standard I/O streams.
-;; The subprocess used for this communication is Emacs.
-;;
-;; The following article provides useful information for using Elisp as a
-;; scripting language, Emacs as an interpreter, it details how the standard I/O
-;; streams works in Elisp scripts:
-;; - http://www.lunaryorn.com/2014/08/12/emacs-script-pitfalls.html
-
-(defmacro irony-iotask/with-echo-process (&rest body)
- "Start an Emacs process that runs the given PROCESS-SCRIPT.
-
-The process is setup with `irony-iotask-setup-process'.
-
-It's possible to schedule some iotasks in the BODY for testing.
-
-There is an exposed variable named `process' available for use in
-BODY.
-
-Elisp is used as a scripting language because it should be
-available on all OSes irony-iotask support."
- (declare (indent 1))
- `(let ((process-connection-type nil)
- (process-adaptive-read-buffering nil)
- process)
- (setq process
- (start-process "emacs-irony-test"
- "*emacs-irony-test*"
- (expand-file-name invocation-name
- invocation-directory)
- "-Q"
- "--batch"
- "--eval"
- (prin1-to-string
- '(let ((msg))
- (while (not (equal msg "exit"))
- (setq msg (read-from-minibuffer ""))
- (message msg))))))
- (unwind-protect
- (progn
- (irony-iotask-setup-process process)
- ,@body)
- ;; the iotask process filter does not clean the process buffer
- ;; at the end of a request, but at the begining of a new one
- (with-current-buffer (process-buffer process)
- (erase-buffer))
- (set-process-filter process #'irony-iotask-echo-process-exit-filter)
- (process-send-string process "exit\n")
- ;; wait for the process to finish normally, or kill it if it doesn't
- (with-timeout (1 (kill-process process))
- (while (process-live-p process)
- (sit-for 0.05)))
- ;; start with a clean buffer,
- ;; Emacs 24.3 seems to keep some
- (kill-buffer (process-buffer process))
- (delete-process process))))
-
-;; irony-iotask-result
-
-(ert-deftest irony-iotask-result/ready-p-value ()
- (let ((result (irony-iotask-result-create)))
- (should-not (irony-iotask-result-valid-p result))
- (irony-iotask-result-set-value result 1)
- (should (irony-iotask-result-valid-p result))))
-
-(ert-deftest irony-iotask-result/ready-p-error ()
- (let ((result (irony-iotask-result-create)))
- (should-not (irony-iotask-result-valid-p result))
- (irony-iotask-result-set-error result 'irony-iotask-error (list "blah"))
- (should (irony-iotask-result-valid-p result))))
-
-(ert-deftest irony-iotask-result/set-value ()
- (let ((result (irony-iotask-result-create)))
- (irony-iotask-result-set-value result 'blah)
- (should (eq (irony-iotask-result-get result) 'blah))))
-
-(irony--define-error 'irony-iotask-result/test-error
- "Irony I/O task sample error")
-
-(ert-deftest irony-iotask-result/set-error ()
- (let ((result (irony-iotask-result-create)))
- (irony-iotask-result-set-error result 'irony-iotask-result/test-error)
- (should-error (irony-iotask-result-get result)
- :type 'irony-iotask-result/test-error)))
-
-(ert-deftest irony-iotask-result/set-error-data ()
- (let ((result (irony-iotask-result-create)))
- (irony-iotask-result-set-error result
- 'irony-iotask-result/test-error
- 'foo 'bar 'baz 'qux)
- (condition-case err
- (irony-iotask-result-get result)
- (irony-iotask-result/test-error
- (should (equal (cdr err) '(foo bar baz qux)))))))
-
-(ert-deftest irony-iotask-result/get-empty ()
- (let ((result (irony-iotask-result-create)))
- (should-error (irony-iotask-result-get result)
- :type 'irony-iotask-result-get-error)))
-
-;; task
-
-(irony-iotask-define-task irony-iotask/task-start-t
- "doc"
- :start (lambda (&optional value)
- (irony-iotask-set-result (or value 42))))
-
-(ert-deftest irony-iotask/task-start/simple ()
- (let ((task (irony-iotask-package-task irony-iotask/task-start-t)))
- (irony-iotask/with-echo-process
- (should (equal 42 (irony-iotask-run process task))))))
-
-(ert-deftest irony-iotask/task-start/with-arguments ()
- (let ((task (irony-iotask-package-task irony-iotask/task-start-t 43)))
- (irony-iotask/with-echo-process
- (should (equal 43 (irony-iotask-run process task))))))
-
-(irony-iotask-define-task irony-iotask/task-update-t
- "doc"
- :start (lambda (&optional hello)
- (irony-iotask-send-string (format "%s\n" (or hello "hello"))))
- :update (lambda (&optional hello)
- (setq hello (or hello "hello"))
- (when (string= (buffer-string) (format "%s\n" hello))
- (irony-iotask-set-result (format "%s ok" hello)))))
-
-(ert-deftest irony-iotask-schedule/task-update/simple ()
- (let ((task (irony-iotask-package-task irony-iotask/task-update-t)))
- (irony-iotask/with-echo-process
- (should (string= "hello ok" (irony-iotask-run process task))))))
-
-(ert-deftest irony-iotask-schedule/task-update/with-arguments ()
- (let ((task (irony-iotask-package-task irony-iotask/task-update-t "bonjour")))
- (irony-iotask/with-echo-process
- (should (string= "bonjour ok" (irony-iotask-run process task))))))
-
-(irony-iotask-define-task irony-iotask/task-invalid-msg-t
- "doc"
- :start (lambda ()
- (irony-iotask-send-string "ping\n"))
- :update (lambda ()
- (when (string= (buffer-string) "ping\n")
- (throw 'invalid-msg t))))
-
-(ert-deftest irony-iotask-schedule/task-update/invalid-msg ()
- (let ((task (irony-iotask-package-task irony-iotask/task-invalid-msg-t)))
- (irony-iotask/with-echo-process
- (should-error (irony-iotask-run process task)
- :type 'irony-iotask-bad-data))))
-
-(ert-deftest irony-iotask-chain/simple ()
- (let ((task (irony-iotask-chain
- (irony-iotask-package-task irony-iotask/task-update-t "hi")
- (irony-iotask-package-task irony-iotask/task-update-t "hej"))))
- (irony-iotask/with-echo-process
- (should (equal "hej ok" (irony-iotask-run process task))))))
-
-(defvar irony-iotask/task-finish-var nil)
-(defvar irony-iotask/task-on-var nil)
-(irony-iotask-define-task irony-iotask/task-finish-t
- "doc"
- :start (lambda ()
- (irony-iotask-put :text "how")
- (irony-iotask-send-string "hello\n"))
- :update (lambda ()
- (cond
- ((string= (buffer-string) "hello\n")
- (irony-iotask-put :text (concat (irony-iotask-get :text) " are"))
- (irony-iotask-set-result t))
- ((>= (buffer-size) (1+ (length "hello\n")))
- (throw 'invalid-msg t))))
- :on-success (lambda ()
- (setq irony-iotask/task-on-var "success"))
- :finish (lambda ()
- (setq irony-iotask/task-finish-var (concat (irony-iotask-get :text)
- " you?"))))
-
-(ert-deftest irony-iotask-schedule/task-finish/simple ()
- (let ((task (irony-iotask-package-task irony-iotask/task-finish-t)))
- (irony-iotask/with-echo-process
- (setq irony-iotask/task-finish-var nil)
- (irony-iotask-run process task)
- (should (equal "how are you?" irony-iotask/task-finish-var)))))
-
-(ert-deftest irony-iotask-schedule/task-on-success/simple ()
- (let ((task (irony-iotask-package-task irony-iotask/task-finish-t)))
- (irony-iotask/with-echo-process
- (setq irony-iotask/task-on-var nil)
- (irony-iotask-run process task)
- (should (equal "success" irony-iotask/task-on-var)))))
-
-(irony-iotask-define-task irony-iotask/task-on-error-t
- "doc"
- :start (lambda ()
- (irony-iotask-set-error 'irony-iotask-error))
- :on-error (lambda ()
- (setq irony-iotask/task-on-var "error")))
-
-(ert-deftest irony-iotask-schedule/task-on-error/simple ()
- (let ((task (irony-iotask-package-task irony-iotask/task-on-error-t)))
- (irony-iotask/with-echo-process
- (setq irony-iotask/task-on-var nil)
- (ignore-errors
- (irony-iotask-run process task))
- (should (equal "error" irony-iotask/task-on-var)))))
-
-(ert-deftest irony-iotask-schedule/callback/recalls-schedule ()
- (let ((task (irony-iotask-package-task irony-iotask/task-update-t "a")))
- (irony-iotask/with-echo-process
- (lexical-let ((run-process process)
- results)
- (irony-iotask-schedule process task
- (lambda (result)
- (setq results (list result))
- (irony-iotask-schedule
- run-process
- (irony-iotask-package-task
- irony-iotask/task-update-t "b")
- (lambda (result)
- (setq results (append results (list result)))))))
- (should (with-local-quit
- (while (< (length results) 2)
- (accept-process-output process 0.05))
- t))
- (should (string= "a ok" (irony-iotask-result-get (nth 0 results))))
- (should (string= "b ok" (irony-iotask-result-get (nth 1 results))))))))
diff --git a/elpa/irony-20220110.849/server/test/elisp/irony.el b/elpa/irony-20220110.849/server/test/elisp/irony.el
deleted file mode 100644
index fe2378b..0000000
--- a/elpa/irony-20220110.849/server/test/elisp/irony.el
+++ /dev/null
@@ -1,121 +0,0 @@
-;; -*-no-byte-compile: t; -*-
-(load (concat (file-name-directory (or load-file-name
- buffer-file-name))
- "test-config"))
-
-(ert-deftest irony/buffer-size-in-bytes ()
- (with-temp-buffer
- ;; this smiley takes 3 bytes apparently
- (insert "☺")
- (should (equal 3 (irony--buffer-size-in-bytes)))
- (erase-buffer)
- (insert "☺\n")
- (should (equal 4 (irony--buffer-size-in-bytes)))
- (erase-buffer)
- (insert "\t")
- (should (equal 1 (irony--buffer-size-in-bytes)))))
-
-(ert-deftest irony/find-server-executable/does-not-exists ()
- (let ((irony-server-install-prefix "/does/not/exists")
- (exec-path nil))
- (should-error (irony--find-server-executable)
- :type 'irony-server-error)))
-
-(ert-deftest irony/split-command-line/just-spaces ()
- (let ((cmd-line "clang -Wall -Wextra"))
- (should (equal
- '("clang" "-Wall" "-Wextra")
- (irony--split-command-line cmd-line)))))
-
-(ert-deftest irony/split-command-line/start-with-space ()
- (let ((cmd-line " clang -Wall -Wextra"))
- (should (equal
- '("clang" "-Wall" "-Wextra")
- (irony--split-command-line cmd-line)))))
-
-(ert-deftest irony/split-command-line/end-with-space ()
- (let ((cmd-line "clang -Wall -Wextra "))
- (should (equal
- '("clang" "-Wall" "-Wextra")
- (irony--split-command-line cmd-line)))))
-
-(ert-deftest irony/split-command-line/space-everywhere ()
- (let ((cmd-line " \t clang \t -Wall \t -Wextra\t"))
- (should (equal
- '("clang" "-Wall" "-Wextra")
- (irony--split-command-line cmd-line)))))
-
-(ert-deftest irony/split-command-line/with-quotes ()
- (let ((cmd-line "clang -Wall -Wextra \"-I/tmp/dir with spaces\""))
- (should (equal
- '("clang" "-Wall" "-Wextra" "-I/tmp/dir with spaces")
- (irony--split-command-line cmd-line)))))
-
-(ert-deftest irony/split-command-line/with-quotes ()
- "Test if files are removed from the arguments list.
-
-https://github.com/Sarcasm/irony-mode/issues/101"
- (let ((cmd-line "g++ -DFOO=\\\"\\\""))
- (should (equal
- '("g++" "-DFOO=\"\"")
- (irony--split-command-line cmd-line)))))
-
-(ert-deftest irony/split-command-line/start-with-quotes ()
- (let ((cmd-line "\"cl ang\" -Wall -Wextra \"-I/tmp/dir with spaces\""))
- (should (equal
- '("cl ang" "-Wall" "-Wextra" "-I/tmp/dir with spaces")
- (irony--split-command-line cmd-line)))))
-
-(ert-deftest irony/split-command-line/quotes-in-word ()
- (let ((cmd-line "clang -Wall -Wextra -I\"/tmp/dir with spaces\""))
- (should (equal
- '("clang" "-Wall" "-Wextra" "-I/tmp/dir with spaces")
- (irony--split-command-line cmd-line)))))
-
-(ert-deftest irony/split-command-line/ill-end-quote ()
- (let ((cmd-line "clang -Wall -Wextra\""))
- (should-error (irony--split-command-line cmd-line)
- :type 'irony-parse-error)))
-
-(ert-deftest irony/split-command-line/backslash-1 ()
- (let ((cmd-line "clang\\ -Wall"))
- (should (equal
- '("clang -Wall")
- (irony--split-command-line cmd-line)))))
-
-(ert-deftest irony/split-command-line/backslash-2 ()
- (let ((cmd-line "\\\\\\ clang\\ -Wall\\"))
- (should (equal
- '("\\ clang -Wall\\")
- (irony--split-command-line cmd-line)))))
-
-(ert-deftest irony/extract-working-directory-option/not-specified ()
- (let ((compile-flags '("-Wall")))
- (should
- (not (irony--extract-working-directory-option compile-flags)))))
-
-(ert-deftest irony/extract-working-directory-option/specified-1 ()
- (let ((compile-flags '("-working-directory" "/tmp/lol")))
- (should (equal "/tmp/lol"
- (irony--extract-working-directory-option compile-flags)))))
-
-(ert-deftest irony/extract-working-directory-option/specified-2 ()
- (let ((compile-flags '("-Wall" "-working-directory=/tmp/lol" "-Wshadow")))
- (should (equal "/tmp/lol"
- (irony--extract-working-directory-option compile-flags)))))
-
-;; TODO: restore functionality
-;; (ert-deftest irony/include-directories-1 ()
-;; (let ((irony-compile-flags '("-Iinclude" "-I/tmp/foo"))
-;; (irony-compile-flags-work-dir "/tmp/blah/"))
-;; (should (equal
-;; '("/tmp/blah/include" "/tmp/foo")
-;; (irony-user-search-paths)))))
-
-;; (ert-deftest irony/include-directories-2 ()
-;; (let ((irony-compile-flags '("-Wextra" "-Iinclude" "-I" "foo" "-Wall"))
-;; (irony-compile-flags-work-dir "/tmp/blah/"))
-;; (should (equal
-;; '("/tmp/blah/include"
-;; "/tmp/blah/foo")
-;; (irony-user-search-paths)))))
diff --git a/elpa/irony-20220110.849/server/test/elisp/test-config.el b/elpa/irony-20220110.849/server/test/elisp/test-config.el
deleted file mode 100644
index 224cdd0..0000000
--- a/elpa/irony-20220110.849/server/test/elisp/test-config.el
+++ /dev/null
@@ -1,14 +0,0 @@
-;; -*-no-byte-compile: t; -*-
-(defvar test-dir (if load-file-name
- (file-name-as-directory
- (expand-file-name (concat (file-name-directory
- load-file-name)))))
- "Elisp test directory path.")
-
-;; load irony
-(unless (require 'irony nil t)
- (let ((irony-dir (expand-file-name "../../.." test-dir)))
- (add-to-list 'load-path irony-dir)
- (require 'irony)))
-
-(require 'ert)