GNU bug report logs -
#30327
27.0.50; Failures in files-tests.el on macOS
Previous Next
Reported by: Alan Third <alan <at> idiocy.org>
Date: Fri, 2 Feb 2018 20:33:02 UTC
Severity: normal
Tags: fixed
Found in version 27.0.50
Done: Noam Postavsky <npostavs <at> users.sourceforge.net>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Alan Third <alan <at> idiocy.org> writes:
> On Sat, Feb 03, 2018 at 12:47:29AM -0500, Noam Postavsky wrote:
>> Philipp Stephani <p.stephani2 <at> gmail.com> writes:
>>
>> > The differing element is the last access time. This isn't surprising
>> > given that reading the directory accesses it. Probably the test
>> > should simply ignore the fifth element (the access time).
>>
>> Ah, good point. I went through all the different file handlers pretty
>> quickly when writing these tests, so I missed these details. It passes
>> for me because I mount with 'relatime'.
>>
>> Element 9 is "unspecified", so I think we shouldn't check that either.
>
> The patch makes it even worse with two failures now:
Sorry about that, I made some initial fix, then after testing, extended
it, but completely forgot to actually try out the extended version.
Here's a patch actually works on my box (and hopefully on others too).
[v2-0001-Don-t-require-all-file-attributes-to-be-equal-Bug.patch (text/x-diff, inline)]
From 0276d2e2d438a4f9606e708ef6367800ad7a5bfc Mon Sep 17 00:00:00 2001
From: Noam Postavsky <npostavs <at> gmail.com>
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
This bug report was last modified 7 years and 110 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.