Subject: bug#42534: 28.0.50; package-test-macro-compilation test fails on macOS

From: Lars Ingebrigtsen <[email-masked]>
Date: Fri, 25 Dec 2020 21:49:31 +0100

Eli Zaretskii <[email-masked]> writes:

> I cannot understand why this happens on MS-Windows, but not on
> GNU/Linux.

The test that fails is this:

(ert-deftest package-test-macro-compilation ()
  "Install a package which includes a dependency."
  (with-package-test (:basedir (ert-resource-directory))
    (package-install-file (expand-file-name "macro-problem-package-1.0/"))
    (require 'macro-problem)
    ;; `macro-problem-func' uses a macro from `macro-aux'.
    (should (equal (macro-problem-func) '(progn a b)))
    (package-install-file (expand-file-name "macro-problem-package-2.0/"))
    ;; After upgrading, `macro-problem-func' depends on a new version
    ;; of the macro from `macro-aux'.
    (should (equal (macro-problem-func) '(1 b)))
    ;; `macro-problem-10-and-90' depends on an entirely new macro from `macro-aux'.
    (should (equal (macro-problem-10-and-90) '(10 90)))))

The thing that doesn't work is:

    (package-install-file (expand-file-name "macro-problem-package-2.0/"))

This does not reload the files, and that's because
package--load-files-for-activation doesn't reload them.  Which is
because package--list-loaded-files doesn't identify the files as
something that needs to be reloaded, as far as I can tell.

That function does a whole lot of comparison of file paths, and my guess
is that whatever it's doing (I'm having a hard time following the logic)
only works on GNU/Linux systems.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no