Subject: Re: bug#30327: 27.0.50; Failures in files-tests.el on macOS

From: Alan Third <[email-masked]>
Date: Sat, 3 Feb 2018 16:13:11 +0000

On Sat, Feb 03, 2018 at 12:47:29AM -0500, Noam Postavsky wrote:
> Philipp Stephani <[email-masked]> 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:

F files-tests-file-name-non-special-directory-files-and-attributes
    (void-variable attr-nospecial)

F files-tests-file-name-non-special-file-attributes
    (void-variable attr-nospecial)

I tried changing the new function to:

    (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))

Which fixes one but still causes the other to fail:

F files-tests-file-name-non-special-directory-files-and-attributes
    (wrong-type-argument consp nil)

-- 
Alan Third