]> git.eshelyaron.com Git - emacs.git/commitdiff
Move dired tests using ls emulation to different files
authorTino Calancha <tino.calancha@gmail.com>
Wed, 2 Aug 2017 07:39:11 +0000 (16:39 +0900)
committerTino Calancha <tino.calancha@gmail.com>
Wed, 2 Aug 2017 07:47:28 +0000 (16:47 +0900)
Suggested in:
https://lists.gnu.org/archive/html/emacs-devel/2017-08/msg00018.html
* test/lisp/dired-tests.el (dired-test-bug27693)
(dired-test-bug27762, dired-test-bug27817)
(dired-test-bug27631, dired-test-bug27843): Delete those
parts requiring either ls-lisp or eshell-ls.

* test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
(ls-lisp-test-bug27631, ls-lisp-test-bug27693):
Add all dired tests using ls-lisp here.

* test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
(em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
all dired tests using eshell-ls here.

test/lisp/dired-tests.el
test/lisp/eshell/em-ls-tests.el [new file with mode: 0644]
test/lisp/ls-lisp-tests.el

index 047bfdcf71c4c3660d59dcb221d29ca00fa6393d..4ab6b37664b4ed9fd5b554d94b1e3b1a53467d34 100644 (file)
         (when (buffer-live-p buf) (kill-buffer buf)))
       (delete-directory test-dir t))))
 
-(ert-deftest dired-test-bug27693 ()
-  "Test for http://debbugs.gnu.org/27693 ."
-  (require 'ls-lisp)
-  (let ((dir (expand-file-name "lisp" source-directory))
-        (size "")
-        ls-lisp-use-insert-directory-program buf)
-    (unwind-protect
-        (progn
-          (setq buf (dired (list dir "simple.el" "subr.el"))
-                size (number-to-string
-                      (file-attribute-size
-                       (file-attributes (dired-get-filename)))))
-          (search-backward-regexp size nil t)
-          (should (looking-back "[[:space:]]" (1- (point)))))
-      (unload-feature 'ls-lisp 'force)
-      (when (buffer-live-p buf) (kill-buffer buf)))))
-
 (ert-deftest dired-test-bug7131 ()
   "Test for http://debbugs.gnu.org/7131 ."
   (let* ((dir (expand-file-name "lisp" source-directory))
           (should (cdr (dired-get-marked-files))))
       (when (buffer-live-p buf) (kill-buffer buf)))))
 
-(ert-deftest dired-test-bug27762 ()
-  "Test for http://debbugs.gnu.org/27762 ."
-  (require 'ls-lisp)
-  (let* ((dir source-directory)
-         (default-directory dir)
-         (files (mapcar (lambda (f) (concat "src/" f))
-                        (directory-files
-                         (expand-file-name "src") nil "\\.*\\.c\\'")))
-         ls-lisp-use-insert-directory-program buf)
-    (unwind-protect
-        (let ((file1 "src/cygw32.c")
-              (file2 "src/atimer.c"))
-          (setq buf (dired (nconc (list dir) files)))
-          (dired-goto-file (expand-file-name file2 default-directory))
-          (should-not (looking-at "^   -")) ; Must be 2 spaces not 3.
-          (setq files (cons file1 (delete file1 files)))
-          (kill-buffer buf)
-          (setq buf (dired (nconc (list dir) files)))
-          (should (looking-at "src"))
-          (next-line) ; File names must be aligned.
-          (should (looking-at "src")))
-      (unload-feature 'ls-lisp 'force)
-      (when (buffer-live-p buf) (kill-buffer buf)))))
-
-(ert-deftest dired-test-bug27817 ()
-  "Test for http://debbugs.gnu.org/27817 ."
-  (require 'em-ls)
-  (let ((orig eshell-ls-use-in-dired)
-        (dired-use-ls-dired 'unspecified)
-        buf insert-directory-program)
-    (unwind-protect
-        (progn
-          (customize-set-variable 'eshell-ls-use-in-dired t)
-          (should (setq buf (dired source-directory))))
-      (customize-set-variable 'eshell-ls-use-in-dired orig)
-      (unload-feature 'em-ls 'force)
-      (and (buffer-live-p buf) (kill-buffer)))))
-
 (ert-deftest dired-test-bug27631 ()
   "Test for http://debbugs.gnu.org/27631 ."
   (let* ((dir (make-temp-file "bug27631" 'dir))
           (with-temp-file (expand-file-name "b.txt" dir2))
           (setq buf (dired (expand-file-name "dir*/*.txt" dir)))
           (dired-toggle-marks)
-          (should (cdr (dired-get-marked-files)))
-          ;; Must work with ls-lisp ...
-         (require 'ls-lisp)
-          (kill-buffer buf)
-         (setq default-directory dir)
-         (let (ls-lisp-use-insert-directory-program)
-            (setq buf (dired (expand-file-name "dir*/*.txt" dir)))
-            (dired-toggle-marks)
-            (should (cdr (dired-get-marked-files))))
-         ;; ... And with em-ls as well.
-         (kill-buffer buf)
-         (setq default-directory dir)
-         (unload-feature 'ls-lisp 'force)
-         (require 'em-ls)
-         (let ((orig eshell-ls-use-in-dired))
-           (customize-set-value 'eshell-ls-use-in-dired t)
-           (setq buf (dired (expand-file-name "dir*/*.txt" dir)))
-           (dired-toggle-marks)
-           (should (cdr (dired-get-marked-files)))))
-      (unload-feature 'em-ls 'force)
+          (should (cdr (dired-get-marked-files))))
       (delete-directory dir 'recursive)
       (when (buffer-live-p buf) (kill-buffer buf)))))
 
-(ert-deftest dired-test-bug27843 ()
-  "Test for http://debbugs.gnu.org/27843 ."
-  (require 'em-ls)
-  (let ((orig eshell-ls-use-in-dired)
-        (dired-use-ls-dired 'unspecified)
-        buf insert-directory-program)
-    (unwind-protect
-        (progn
-          (customize-set-variable 'eshell-ls-use-in-dired t)
-          (setq buf (dired (list source-directory "lisp")))
-          (dired-toggle-marks)
-          (should-not (cdr (dired-get-marked-files))))
-      (customize-set-variable 'eshell-ls-use-in-dired orig)
-      (unload-feature 'em-ls 'force)
-      (and (buffer-live-p buf) (kill-buffer)))))
 
 (provide 'dired-tests)
 ;; dired-tests.el ends here
diff --git a/test/lisp/eshell/em-ls-tests.el b/test/lisp/eshell/em-ls-tests.el
new file mode 100644 (file)
index 0000000..71a555d
--- /dev/null
@@ -0,0 +1,80 @@
+;;; tests/em-ls-tests.el --- em-ls test suite
+
+;; Copyright (C) 2017 Free Software Foundation, Inc.
+
+;; Author: Tino Calancha <tino.calancha@gmail.com>
+
+;; This file is part of GNU Emacs.
+
+;; GNU Emacs is free software: you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; the Free Software Foundation, either version 3 of the License, or
+;; (at your option) any later version.
+
+;; GNU Emacs is distributed in the hope that it will be useful,
+;; but WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;; GNU General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.
+
+;;; Commentary:
+
+
+;;; Code:
+
+(require 'ert)
+(require 'em-ls)
+
+(ert-deftest em-ls-test-bug27631 ()
+  "Test for http://debbugs.gnu.org/27631 ."
+  (let* ((dir (make-temp-file "bug27631" 'dir))
+         (dir1 (expand-file-name "dir1" dir))
+         (dir2 (expand-file-name "dir2" dir))
+         (default-directory dir)
+         (orig eshell-ls-use-in-dired)
+         buf)
+    (unwind-protect
+        (progn
+          (customize-set-value 'eshell-ls-use-in-dired t)
+          (make-directory dir1)
+          (make-directory dir2)
+          (with-temp-file (expand-file-name "a.txt" dir1))
+          (with-temp-file (expand-file-name "b.txt" dir2))
+          (setq buf (dired (expand-file-name "dir*/*.txt" dir)))
+          (dired-toggle-marks)
+          (should (cdr (dired-get-marked-files))))
+      (customize-set-variable 'eshell-ls-use-in-dired orig)
+      (delete-directory dir 'recursive)
+      (when (buffer-live-p buf) (kill-buffer buf)))))
+
+(ert-deftest em-ls-test-bug27817 ()
+  "Test for http://debbugs.gnu.org/27817 ."
+  (let ((orig eshell-ls-use-in-dired)
+        (dired-use-ls-dired 'unspecified)
+        buf insert-directory-program)
+    (unwind-protect
+        (progn
+          (customize-set-variable 'eshell-ls-use-in-dired t)
+          (should (setq buf (dired source-directory))))
+      (customize-set-variable 'eshell-ls-use-in-dired orig)
+      (and (buffer-live-p buf) (kill-buffer)))))
+
+(ert-deftest em-ls-test-bug27843 ()
+  "Test for http://debbugs.gnu.org/27843 ."
+  (let ((orig eshell-ls-use-in-dired)
+        (dired-use-ls-dired 'unspecified)
+        buf insert-directory-program)
+    (unwind-protect
+        (progn
+          (customize-set-variable 'eshell-ls-use-in-dired t)
+          (setq buf (dired (list source-directory "lisp")))
+          (dired-toggle-marks)
+          (should-not (cdr (dired-get-marked-files))))
+      (customize-set-variable 'eshell-ls-use-in-dired orig)
+      (and (buffer-live-p buf) (kill-buffer)))))
+
+(provide 'em-ls-test)
+
+;;; em-ls-tests.el ends here
index 5ef7c78f4df61e21596b4d3578caa924af1e577c..d24b30e5f2224c36d58171d7bbd1b600e2b7fcda 100644 (file)
 \f
 ;;; Code:
 (require 'ert)
+(require 'ls-lisp)
 
 (ert-deftest ls-lisp-unload ()
   "Test for http://debbugs.gnu.org/xxxxx ."
-  (require 'ls-lisp)
   (should (advice-member-p 'ls-lisp--insert-directory 'insert-directory))
   (unload-feature 'ls-lisp 'force)
-  (should-not (advice-member-p 'ls-lisp--insert-directory 'insert-directory)))
+  (should-not (advice-member-p 'ls-lisp--insert-directory 'insert-directory))
+  (require 'ls-lisp))
+
+(ert-deftest ls-lisp-test-bug27762 ()
+  "Test for http://debbugs.gnu.org/27762 ."
+  (let* ((dir source-directory)
+         (default-directory dir)
+         (files (mapcar (lambda (f) (concat "src/" f))
+                        (directory-files
+                         (expand-file-name "src") nil "\\.*\\.c\\'")))
+         ls-lisp-use-insert-directory-program buf)
+    (unwind-protect
+        (let ((file1 "src/cygw32.c")
+              (file2 "src/atimer.c"))
+          (setq buf (dired (nconc (list dir) files)))
+          (dired-goto-file (expand-file-name file2 default-directory))
+          (should-not (looking-at "^   -")) ; Must be 2 spaces not 3.
+          (setq files (cons file1 (delete file1 files)))
+          (kill-buffer buf)
+          (setq buf (dired (nconc (list dir) files)))
+          (should (looking-at "src"))
+          (next-line) ; File names must be aligned.
+          (should (looking-at "src")))
+      (when (buffer-live-p buf) (kill-buffer buf)))))
+
+(ert-deftest ls-lisp-test-bug27631 ()
+  "Test for http://debbugs.gnu.org/27631 ."
+  (let* ((dir (make-temp-file "bug27631" 'dir))
+         (dir1 (expand-file-name "dir1" dir))
+         (dir2 (expand-file-name "dir2" dir))
+         (default-directory dir)
+         ls-lisp-use-insert-directory-program buf)
+    (unwind-protect
+        (progn
+          (make-directory dir1)
+          (make-directory dir2)
+          (with-temp-file (expand-file-name "a.txt" dir1))
+          (with-temp-file (expand-file-name "b.txt" dir2))
+          (setq buf (dired (expand-file-name "dir*/*.txt" dir)))
+          (dired-toggle-marks)
+          (should (cdr (dired-get-marked-files))))
+      (delete-directory dir 'recursive)
+      (when (buffer-live-p buf) (kill-buffer buf)))))
+
+(ert-deftest ls-lisp-test-bug27693 ()
+  "Test for http://debbugs.gnu.org/27693 ."
+  (let ((dir (expand-file-name "lisp" source-directory))
+        (size "")
+        ls-lisp-use-insert-directory-program buf)
+    (unwind-protect
+        (progn
+          (setq buf (dired (list dir "simple.el" "subr.el"))
+                size (number-to-string
+                      (file-attribute-size
+                       (file-attributes (dired-get-filename)))))
+          (search-backward-regexp size nil t)
+          (should (looking-back "[[:space:]]" (1- (point)))))
+      (when (buffer-live-p buf) (kill-buffer buf)))))
 
 (provide 'ls-lisp-tests)
 ;;; ls-lisp-tests.el ends here