Subject: Re: bug#74721: 31.0.50; wdired-tests fail on FreeBSD 14.2

From: Michael Albinus <[email-masked]>
Date: Sat, 07 Dec 2024 15:16:02 +0100

Version: 31.1

Eli Zaretskii <[email-masked]> writes:

Hi Eli,

>> Ran 7 tests, 6 results as expected, 1 unexpected (2024-12-07 11:01:29+0100, 0.408638 sec)
>>
>> 1 unexpected results:
>>    FAILED  wdired-test-bug34915
>
> I guess this is FreeBSD specific (perhaps because 'ls' is not GNU
> 'ls'?).  It works for me both on GNU/Linux and on MS-Windows.

Looks like this is the culprit. When I ran the test suite, GNU ls wasn't
installed on the system. Under *BSD and macOS it is available as 'gls',
part of the package coreutils.

See the initial value of insert-directory-program:

--8<---------------cut here---------------start------------->8---
(defcustom insert-directory-program
  (if (and (memq system-type '(berkeley-unix darwin))
           (executable-find "gls"))
      (purecopy "gls")
    (purecopy "ls"))
--8<---------------cut here---------------end--------------->8---

After installation of coreutils on the FreeBSD VM, the wdired-tests ran
successful.

The failing test, wdired-test-bug34915, has the following let-clause:

--8<---------------cut here---------------start------------->8---
           (dired-ls-F-marks-symlinks
            (or (eq system-type 'darwin)
                (featurep 'ls-lisp)))
--8<---------------cut here---------------end--------------->8---

I've changed it like this:

--8<---------------cut here---------------start------------->8---
           (dired-ls-F-marks-symlinks
            (or (and (memq system-type '(berkeley-unix darwin))
		     (not (string= insert-directory-program "gls")))
                (featurep 'ls-lisp)))
--8<---------------cut here---------------end--------------->8---

Now, wdired-tests run successful on FreeBSD 14, in both cases coreutils
is installed, or not.

Closing the bug.

Best regards, Michael.