Skip to content

Some tests are failing when native compilation is in place #2100

Description

@graywolf

Hello,

it seems that when native compilation is enabled, some tests can fail:

========================================
projectile-parse-dirconfig-file parses dirconfig and returns directories to ignore and keep

Traceback (most recent call last):
  comp-subr-trampoline-install(message)
  comp--trampoline-search(message)
  native-elisp-load("/homeless-shelter/.emacs.d/eln-cache/30.2-8de1fdd7/subr...
error: (native-lisp-load-failed "file does not exists" "/homeless-shelter/.emacs.d/eln-cache/30.2-8de1fdd7/subr--trampoline-6d657373616765_message_0.eln")

========================================
projectile-parse-dirconfig-file skips leading whitespace before dispatching on the prefix

Traceback (most recent call last):
  comp-subr-trampoline-install(message)
  comp--trampoline-search(message)
  native-elisp-load("/homeless-shelter/.emacs.d/eln-cache/30.2-8de1fdd7/subr...
error: (native-lisp-load-failed "file does not exists" "/homeless-shelter/.emacs.d/eln-cache/30.2-8de1fdd7/subr--trampoline-6d657373616765_message_0.eln")

( Originally reported here https://codeberg.org/guix/guix/issues/9915 ).

Based on my research it seems that this is caused by spying on file-exists-p, which confuses the native compilation machinery into thinking the subroutine trampoline file already exists, when it, in fact, does not. Hence the subsequent attempt to load it failed.

It would probably be reasonable to add assume into all tests that override file-exists-p, and skip them if native compilation is enabled.

Have a nice day,
W.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions