diff --git a/test/src/comp-tests.el b/test/src/comp-tests.el index 025bc2058e..16612965bd 100644 --- a/test/src/comp-tests.el +++ b/test/src/comp-tests.el @@ -27,14 +27,23 @@ (require 'ert) (require 'ert-x) -(require 'cl-lib) - -(defconst comp-test-src (ert-resource-file "comp-test-funcs.el")) - -(defconst comp-test-dyn-src (ert-resource-file "comp-test-funcs-dyn.el")) - -(when (featurep 'native-compile) +(eval-when-compile + (require 'cl-lib) (require 'comp) + (defconst comp-test-src (ert-resource-file "comp-test-funcs.el")) + (defconst comp-test-dyn-src (ert-resource-file "comp-test-funcs-dyn.el")) + (defconst comp-test-pure-src (ert-resource-file "comp-test-pure.el")) + (defconst comp-test-45603-src (ert-resource-file "comp-test-45603.el"))) +(eval-and-compile + (require 'comp-cstr) ;in eval-and-compile for its defstruct + ;; Load the test code here so the compiler can check the function + ;; names used in this file. + (load comp-test-src nil t) + (load comp-test-dyn-src nil t) + (load comp-test-pure-src nil t) + (load comp-test-45603-src nil t)) + +(when (native-comp-available-p) (message "Compiling tests...") (load (native-compile comp-test-src)) (load (native-compile comp-test-dyn-src))) @@ -352,6 +361,8 @@ interactive-form comp-test-interactive-form2-f))) (should-not (commandp #'comp-tests-doc-f))) +(declare-function comp-tests-free-fun-f nil) + (comp-deftest free-fun () "Check we are able to compile a single function." (eval '(defun comp-tests-free-fun-f () @@ -369,6 +380,8 @@ free-fun (should (equal (interactive-form #'comp-tests-free-fun-f) '(interactive)))) +(declare-function comp-tests/free\fun-f nil) + (comp-deftest free-fun-silly-name () "Check we are able to compile a single function." (eval '(defun comp-tests/free\fun-f ()) t) @@ -493,7 +506,7 @@ 45635-1 (comp-deftest 45603-1 () "" - (load (native-compile (ert-resource-file "comp-test-45603.el"))) + (load (native-compile comp-test-45603-src)) (should (fboundp #'comp-test-45603--file-local-name))) (comp-deftest 46670-1 () @@ -786,6 +799,8 @@ comp-tests-tco-checker (comp-tests-mentioned-p (comp-c-func-name 'comp-tests-tco-f "F" t) insn))))))) +(declare-function comp-tests-tco-f nil) + (comp-deftest tco () "Check for tail recursion elimination." (let ((native-comp-speed 3) @@ -814,6 +829,8 @@ comp-tests-fw-prop-checker-1 (or (comp-tests-mentioned-p 'concat insn) (comp-tests-mentioned-p 'length insn))))))) +(declare-function comp-tests-fw-prop-1-f nil) + (comp-deftest fw-prop-1 () "Some tests for forward propagation." (let ((native-comp-speed 2) @@ -1404,7 +1421,7 @@ pure (let ((native-comp-speed 3) (comp-post-pass-hooks '((comp-final comp-tests-pure-checker-1 comp-tests-pure-checker-2)))) - (load (native-compile (ert-resource-file "comp-test-pure.el"))) + (load (native-compile comp-test-pure-src)) (should (subr-native-elisp-p (symbol-function #'comp-tests-pure-caller-f))) (should (= (comp-tests-pure-caller-f) 4))