branch: externals/javaimp commit 0afe95ca1fe9ae2d2478ee21439e60475ead3f84 Author: Filipp Gunbin <fgun...@fastmail.fm> Commit: Filipp Gunbin <fgun...@fastmail.fm>
Use ert-x in tests --- Makefile | 2 +- javaimp-tests.el | 23 +++++++++++---------- tests/gradle.el | 4 ++-- tests/imenu.el | 9 +++----- tests/maven.el | 7 +++---- tests/parse.el | 4 ++-- tests/{data => resources}/gradle-multi.tar.gz | Bin tests/{data => resources}/maven-multi.tar.gz | Bin tests/{data => resources}/maven-single.tar.gz | Bin .../test1.java} | 0 tests/tests.el | 4 ++-- 11 files changed, 25 insertions(+), 28 deletions(-) diff --git a/Makefile b/Makefile index 6c8f3ec3e9..9164c1a52a 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ # use "make check SELECTOR=t". EMACS = emacs -Q -batch -L . -SRCS = javaimp-util.el javaimp-gradle.el javaimp-maven.el javaimp-parse.el javaimp.el +SRCS = javaimp-util.el javaimp-gradle.el javaimp-maven.el javaimp-parse.el javaimp.el javaimp-tests.el TESTS = $(wildcard tests/*.el) OBJS = $(SRCS:.el=.elc) $(TESTS:.el=.elc) SELECTOR ?= (not (tag :expensive)) diff --git a/javaimp-tests.el b/javaimp-tests.el index 165eef1ec2..9542ae2774 100644 --- a/javaimp-tests.el +++ b/javaimp-tests.el @@ -5,19 +5,20 @@ ;; Author: Filipp Gunbin <fgun...@fastmail.fm> ;; Maintainer: Filipp Gunbin <fgun...@fastmail.fm> +(require 'ert-x) + (defun javaimp-call-with-data (filename handler) "Untar FILENAME into temporary directory and call HANDLER, supplying that directory name as the only arg." - (let ((tmpdir (file-name-as-directory (make-temp-file "javaimp" t)))) - (unwind-protect - (let ((rc (call-process - "tar" nil nil nil - "-x" - "-f" filename - "-C" tmpdir))) - (unless (= rc 0) - (error "Cannot untar test data %s: %d" filename rc)) - (funcall handler tmpdir)) - (delete-directory tmpdir t)))) + (ert-with-temp-directory tmpdir + :prefix "javaimp-test" + (let ((rc (call-process + "tar" nil nil nil + "-x" + "-f" filename + "-C" tmpdir))) + (if (= rc 0) + (funcall handler tmpdir) + (error "Cannot untar test data file %s: %d" filename rc))))) (provide 'javaimp-tests) diff --git a/tests/gradle.el b/tests/gradle.el index f9e4e78e15..53d9b91010 100644 --- a/tests/gradle.el +++ b/tests/gradle.el @@ -6,6 +6,7 @@ ;; Maintainer: Filipp Gunbin <fgun...@fastmail.fm> (require 'ert) +(require 'ert-x) (require 'javaimp-gradle) (require 'javaimp-tests) @@ -32,8 +33,7 @@ (ert-deftest javaimp-gradle-visit-multi () :tags '(:expensive) (javaimp-call-with-data - (file-name-concat - javaimp-basedir "tests" "data" "gradle-multi.tar.gz") + (ert-resource-file "gradle-multi.tar.gz") (lambda (tmpdir) (should (equal diff --git a/tests/imenu.el b/tests/imenu.el index 39c186f55a..f1d5d9ed83 100644 --- a/tests/imenu.el +++ b/tests/imenu.el @@ -6,6 +6,7 @@ ;; Maintainer: Filipp Gunbin <fgun...@fastmail.fm> (require 'ert) +(require 'ert-x) (require 'javaimp) (defun javaimp-test-imenu--simplify-entries (alist) @@ -18,9 +19,7 @@ (ert-deftest javaimp-imenu-create-index () (let ((actual (with-temp-buffer - (insert-file-contents - (file-name-concat - javaimp-basedir "tests" "data" "test1-misc-classes.java")) + (insert-file-contents (ert-resource-file "test1.java")) (let ((imenu-use-markers nil)) (javaimp-imenu-create-index)))) (expected-names @@ -47,9 +46,7 @@ (ert-deftest javaimp-imenu-create-index-use-sub-alists () (let ((actual (with-temp-buffer - (insert-file-contents - (file-name-concat - javaimp-basedir "tests" "data" "test1-misc-classes.java")) + (insert-file-contents (ert-resource-file "test1.java")) (let ((imenu-use-markers nil) (javaimp-imenu-use-sub-alists t)) (javaimp-imenu-create-index)))) diff --git a/tests/maven.el b/tests/maven.el index ee83f63f88..4a74c76f54 100644 --- a/tests/maven.el +++ b/tests/maven.el @@ -6,6 +6,7 @@ ;; Maintainer: Filipp Gunbin <fgun...@fastmail.fm> (require 'ert) +(require 'ert-x) (require 'javaimp-maven) (require 'javaimp-tests) @@ -32,8 +33,7 @@ (ert-deftest javaimp-maven-visit-single () :tags '(:expensive) (javaimp-call-with-data - (file-name-concat - javaimp-basedir "tests" "data" "maven-single.tar.gz") + (ert-resource-file "maven-single.tar.gz") (lambda (tmpdir) (should (equal @@ -44,8 +44,7 @@ (ert-deftest javaimp-maven-visit-multi () :tags '(:expensive) (javaimp-call-with-data - (file-name-concat - javaimp-basedir "tests" "data" "maven-multi.tar.gz") + (ert-resource-file "maven-multi.tar.gz") (lambda (tmpdir) (should (equal diff --git a/tests/parse.el b/tests/parse.el index 4cb16a47c2..f8d8706f5d 100644 --- a/tests/parse.el +++ b/tests/parse.el @@ -6,6 +6,7 @@ ;; Maintainer: Filipp Gunbin <fgun...@fastmail.fm> (require 'ert) +(require 'ert-x) (require 'javaimp-parse) (require 'javaimp-util) @@ -298,8 +299,7 @@ import static some_class.fun_2; // comment (ert-deftest javaimp-parse-get-all-scopes () (with-temp-buffer - (insert-file-contents - (file-name-concat javaimp-basedir "tests" "data" "test1-misc-classes.java")) + (insert-file-contents (ert-resource-file "test1.java")) (should-not javaimp-parse--dirty-pos) ;; ;; parse full buffer diff --git a/tests/data/gradle-multi.tar.gz b/tests/resources/gradle-multi.tar.gz similarity index 100% rename from tests/data/gradle-multi.tar.gz rename to tests/resources/gradle-multi.tar.gz diff --git a/tests/data/maven-multi.tar.gz b/tests/resources/maven-multi.tar.gz similarity index 100% rename from tests/data/maven-multi.tar.gz rename to tests/resources/maven-multi.tar.gz diff --git a/tests/data/maven-single.tar.gz b/tests/resources/maven-single.tar.gz similarity index 100% rename from tests/data/maven-single.tar.gz rename to tests/resources/maven-single.tar.gz diff --git a/tests/data/test1-misc-classes.java b/tests/resources/test1.java similarity index 100% rename from tests/data/test1-misc-classes.java rename to tests/resources/test1.java diff --git a/tests/tests.el b/tests/tests.el index feab94b36a..832dbfc27a 100644 --- a/tests/tests.el +++ b/tests/tests.el @@ -6,12 +6,12 @@ ;; Maintainer: Filipp Gunbin <fgun...@fastmail.fm> (require 'ert) +(require 'ert-x) (require 'javaimp) (ert-deftest javaimp-get-buffer-classes () (with-temp-buffer - (insert-file-contents - (file-name-concat javaimp-basedir "tests" "data" "test1-misc-classes.java")) + (insert-file-contents (ert-resource-file "test1.java")) (should (equal (javaimp--get-buffer-classes) '("org.foo.Top" "org.foo.Top.CInner1"