diff options
author | mattkae <mattkae@protonmail.com> | 2022-06-07 08:23:47 -0400 |
---|---|---|
committer | mattkae <mattkae@protonmail.com> | 2022-06-07 08:23:47 -0400 |
commit | bd18a38c2898548a3664a9ddab9f79c84f2caf4a (patch) | |
tree | 95b9933376770381bd8859782ae763be81c2d72b /elpa/irony-20220110.849/server/test/elisp | |
parent | b07628dddf418d4f47b858e6c35fd3520fbaeed2 (diff) | |
parent | ef160dea332af4b4fe5e2717b962936c67e5fe9e (diff) |
Merge conflict
Diffstat (limited to 'elpa/irony-20220110.849/server/test/elisp')
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) |