From d511238048873be2947be33485072357ca3a7fe7 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 4 Nov 2013 21:54:38 -0500 Subject: [PATCH] Make it possible to run tests with a different working directory * test/automated/flymake-tests.el (flymake-tests-data-directory): New. (flymake-tests--current-face): Use flymake-tests-data-directory. (warning-predicate-function-gcc, warning-predicate-rx-perl) (warning-predicate-function-perl): Adapt for above change. * test/automated/zlib-tests.el (zlib-tests-data-directory): New. (zlib--decompress): Use zlib-tests-data-directory. --- test/ChangeLog | 8 ++++++++ test/automated/flymake-tests.el | 22 +++++++++++----------- test/automated/zlib-tests.el | 7 ++++++- 3 files changed, 25 insertions(+), 12 deletions(-) diff --git a/test/ChangeLog b/test/ChangeLog index 7a7ed92429..43ba409ae0 100644 --- a/test/ChangeLog +++ b/test/ChangeLog @@ -1,5 +1,13 @@ 2013-11-05 Glenn Morris + Make it possible to run tests with a different working directory. + * automated/flymake-tests.el (flymake-tests-data-directory): New. + (flymake-tests--current-face): Use flymake-tests-data-directory. + (warning-predicate-function-gcc, warning-predicate-rx-perl) + (warning-predicate-function-perl): Adapt for above change. + * automated/zlib-tests.el (zlib-tests-data-directory): New. + (zlib--decompress): Use zlib-tests-data-directory. + * automated/eieio-tests.el (eieio-test-37-persistent-classes): Remove test that makes no sense. diff --git a/test/automated/flymake-tests.el b/test/automated/flymake-tests.el index 03a8fb08bc..2b2f3ee152 100644 --- a/test/automated/flymake-tests.el +++ b/test/automated/flymake-tests.el @@ -25,12 +25,17 @@ (require 'ert) (require 'flymake) +(defvar flymake-tests-data-directory + (expand-file-name "flymake/warnpred" (getenv "EMACS_TEST_DIRECTORY")) + "Directory containing flymake test data.") + ;; Warning predicate (defun flymake-tests--current-face (file predicate) - (let ((buffer (find-file-noselect file))) + (let ((buffer (find-file-noselect + (expand-file-name file flymake-tests-data-directory)))) (unwind-protect - (with-current-buffer (find-file-noselect file) + (with-current-buffer buffer (setq-local flymake-warning-predicate predicate) (goto-char (point-min)) (flymake-mode 1) @@ -44,9 +49,7 @@ "Test GCC warning via regexp predicate." :expected-result (if (executable-find "gcc") :passed :failed) (should (eq 'flymake-warnline - (flymake-tests--current-face - "flymake/warnpred/test.c" - "^[Ww]arning")))) + (flymake-tests--current-face "test.c" "^[Ww]arning")))) (ert-deftest warning-predicate-function-gcc () "Test GCC warning via function predicate." @@ -54,24 +57,21 @@ :passed :failed) (should (eq 'flymake-warnline - (flymake-tests--current-face - "flymake/warnpred/test.c" + (flymake-tests--current-face "test.c" (lambda (msg) (string-match "^[Ww]arning" msg)))))) (ert-deftest warning-predicate-rx-perl () "Test perl warning via regular expression predicate." :expected-result (if (executable-find "perl") :passed :failed) (should (eq 'flymake-warnline - (flymake-tests--current-face - "flymake/warnpred/test.pl" - "^Scalar value")))) + (flymake-tests--current-face "test.pl" "^Scalar value")))) (ert-deftest warning-predicate-function-perl () "Test perl warning via function predicate." :expected-result (if (executable-find "perl") :passed :failed) (should (eq 'flymake-warnline (flymake-tests--current-face - "flymake/warnpred/test.pl" + "test.pl" (lambda (msg) (string-match "^Scalar value" msg)))))) (provide 'flymake-tests) diff --git a/test/automated/zlib-tests.el b/test/automated/zlib-tests.el index d03d4c981b..57823a2e2d 100644 --- a/test/automated/zlib-tests.el +++ b/test/automated/zlib-tests.el @@ -23,6 +23,10 @@ (require 'ert) +(defvar zlib-tests-data-directory + (expand-file-name "data/decompress" (getenv "EMACS_TEST_DIRECTORY")) + "Directory containing zlib test data.") + (ert-deftest zlib--decompress () "Test decompressing a gzipped file." (when (and (fboundp 'zlib-available-p) @@ -30,7 +34,8 @@ (should (string= (with-temp-buffer (set-buffer-multibyte nil) - (insert-file-contents-literally "data/decompress/foo-gzipped") + (insert-file-contents-literally + (expand-file-name "foo-gzipped" zlib-tests-data-directory)) (zlib-decompress-region (point-min) (point-max)) (buffer-string)) "foo\n")))) -- 2.20.1