|
10 | 10 |
|
11 | 11 | (eldev-add-loading-roots 'test "test/utils")
|
12 | 12 | (eldev-add-extra-dependencies 'runtime '(:package logview :optional t))
|
13 |
| -(eldev-add-extra-dependencies 'runtime '(:package clojure-ts-mode :optional t)) |
14 | 13 |
|
15 | 14 | (defvar cider-test-type 'main)
|
16 | 15 | (setf eldev-standard-excludes `(:or ,eldev-standard-excludes
|
17 | 16 | ;; Avoid including files in test "projects".
|
18 | 17 | (eldev-pcase-exhaustive cider-test-type
|
19 |
| - (`main "./test/*/") |
20 |
| - (`integration '("./test/" "!./test/integration")) |
21 |
| - (`all '("./test/*/" "!./test/integration"))) |
| 18 | + (`main "./test/*/") |
| 19 | + (`integration '("./test/" "!./test/integration")) |
| 20 | + (`clojure-ts-mode '("./test/*/" "!./test/clojure-ts-mode")) |
| 21 | + (`all '("./test/*/" "!./test/integration"))) |
22 | 22 | "test/integration/projects"
|
23 | 23 | ;; This file is _supposed_ to be excluded
|
24 | 24 | ;; from automated testing.
|
25 | 25 | "test/cider-tests--no-auto.el"))
|
26 | 26 |
|
27 | 27 | (eldev-defoption cider-test-selection (type)
|
28 |
| - "Select tests to run; type can be `main', `integration' or `all'" |
| 28 | + "Select tests to run; type can be `main', `integration', `clojure-ts-mode' or `all'" |
29 | 29 | :options (-T --test-type)
|
30 | 30 | :for-command test
|
31 | 31 | :value TYPE
|
32 | 32 | :default-value cider-test-type
|
33 |
| - (unless (memq (intern type) '(main integration all)) |
| 33 | + (unless (memq (intern type) '(main integration clojure-ts-mode all)) |
34 | 34 | (signal 'eldev-wrong-option-usage `("unknown test type `%s'" ,type)))
|
35 | 35 | (setf cider-test-type (intern type)))
|
36 | 36 |
|
| 37 | +(defun use-clojure-ts-mode () |
| 38 | + "Set clojure-ts-mode as a eldev dependency. |
| 39 | +Only require it when running `clojure-ts-mode' test type, |
| 40 | +otherwise during regular test runs all calls to clojure-mode would be |
| 41 | +redirected to execute clojure-ts-mode thanks to entries it adds in the |
| 42 | +`major-mode-remap-alist'." |
| 43 | + (let ((need-clojure-ts-mode (eq cider-test-type 'clojure-ts-mode))) |
| 44 | + (eldev-add-extra-dependencies |
| 45 | + 'runtime '(:package clojure-ts-mode :optional (not need-clojure-ts-mode))))) |
| 46 | + |
37 | 47 | (add-hook 'eldev-test-hook
|
38 | 48 | (lambda ()
|
39 |
| - (eldev-verbose "Using cider tests of type `%s'" cider-test-type))) |
| 49 | + (eldev-verbose "Using cider tests of type `%s'" cider-test-type) |
| 50 | + (use-clojure-ts-mode))) |
40 | 51 | (add-hook 'eldev-executing-command-hook
|
41 | 52 | (lambda (command)
|
42 | 53 | (unless (eq command 'test)
|
|
0 commit comments