From a79671c97fb193ec44ca27e1eeb9e7f5bcf2e9f6 Mon Sep 17 00:00:00 2001 From: Tino Calancha Date: Wed, 2 Aug 2017 16:39:11 +0900 Subject: [PATCH] Move dired tests using ls emulation to different files 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 | 91 +-------------------------------- test/lisp/eshell/em-ls-tests.el | 80 +++++++++++++++++++++++++++++ test/lisp/ls-lisp-tests.el | 61 +++++++++++++++++++++- 3 files changed, 140 insertions(+), 92 deletions(-) create mode 100644 test/lisp/eshell/em-ls-tests.el diff --git a/test/lisp/dired-tests.el b/test/lisp/dired-tests.el index 047bfdcf71c..4ab6b37664b 100644 --- a/test/lisp/dired-tests.el +++ b/test/lisp/dired-tests.el @@ -225,23 +225,6 @@ (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)) @@ -258,44 +241,6 @@ (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)) @@ -311,44 +256,10 @@ (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 index 00000000000..71a555d1eaf --- /dev/null +++ b/test/lisp/eshell/em-ls-tests.el @@ -0,0 +1,80 @@ +;;; tests/em-ls-tests.el --- em-ls test suite + +;; Copyright (C) 2017 Free Software Foundation, Inc. + +;; Author: Tino Calancha + +;; 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 . + +;;; 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 diff --git a/test/lisp/ls-lisp-tests.el b/test/lisp/ls-lisp-tests.el index 5ef7c78f4df..d24b30e5f22 100644 --- a/test/lisp/ls-lisp-tests.el +++ b/test/lisp/ls-lisp-tests.el @@ -25,13 +25,70 @@ ;;; 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