From 0276d2e2d438a4f9606e708ef6367800ad7a5bfc Mon Sep 17 00:00:00 2001 From: Noam Postavsky Date: Sat, 3 Feb 2018 00:44:45 -0500 Subject: [PATCH v2] ; Don't require all file-attributes to be equal (Bug#30327) * test/lisp/files-tests.el (files-tests-file-attributes-equal): New function. (files-tests-file-name-non-special-directory-files-and-attributes) (files-tests-file-name-non-special-file-attributes): Use it instead of `equal'. --- test/lisp/files-tests.el | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/test/lisp/files-tests.el b/test/lisp/files-tests.el index 3879ca8731..2c651c6715 100644 --- a/test/lisp/files-tests.el +++ b/test/lisp/files-tests.el @@ -408,10 +408,23 @@ files-tests--with-temp-file (should (equal (directory-files nospecial-dir) (directory-files tmpdir))))) +(defun files-tests-file-attributes-equal (attr1 attr2) + ;; Element 4 is access time, which may be changed by the act of + ;; checking the attributes. + (setf (nth 4 attr1) nil) + (setf (nth 4 attr2) nil) + ;; Element 9 is unspecified. + (setf (nth 9 attr1) nil) + (setf (nth 9 attr2) nil) + (equal attr1 attr2)) + (ert-deftest files-tests-file-name-non-special-directory-files-and-attributes () (files-tests--with-temp-non-special (tmpdir nospecial-dir t) - (should (equal (directory-files-and-attributes nospecial-dir) - (directory-files-and-attributes tmpdir))))) + (cl-loop for (file1 . attr1) in (directory-files-and-attributes nospecial-dir) + for (file2 . attr2) in (directory-files-and-attributes tmpdir) + do + (should (equal file1 file2)) + (should (files-tests-file-attributes-equal attr1 attr2))))) (ert-deftest files-tests-file-name-non-special-dired-compress-handler () ;; `dired-compress-file' can get confused by filenames with ":" in @@ -442,7 +455,8 @@ files-tests--with-temp-file (ert-deftest files-tests-file-name-non-special-file-attributes () (files-tests--with-temp-non-special (tmpfile nospecial) - (should (equal (file-attributes nospecial) (file-attributes tmpfile))))) + (should (files-tests-file-attributes-equal + (file-attributes nospecial) (file-attributes tmpfile))))) (ert-deftest files-tests-file-name-non-special-file-directory-p () (files-tests--with-temp-non-special (tmpdir nospecial-dir t) -- 2.11.0