Subject: bug#74352: 29.4; emerge-files with tramp + local file fails

From: Michael Albinus <[email-masked]>
Date: Sun, 12 Jan 2025 10:39:41 +0100

Jörg Sommer <[email-masked]> writes:

> Hi Michael,

Hi Jörg,

> I was trying to setup tests and tried to extract the tramp
> functions from test/lisp/net/tramp-tests.el, but got lost. I'm not so
> familiar with elisp.

Well, tramp-tests.el is very special, so it might be hard to extract
something. Perhaps, it is easier to inspect other test files using
Tramp. See test/README, it lists them when it comes to
$REMOTE_TEMPORARY_FILE_DIRECTORY.

> I saw your name on top of tramp-tests.el. Could you create for me a template
> for the emerge tests, where I can add the function calls and expectations?
>
> Such a “template” would also help me to reproduce some other bugs (in
> yasnippet and magit) related to tramp.

I've added a short version of emerge-tests.el I've just written from
scratch. I don't know emerge.el in detail, so I have done the checks
naïvely. You will use your own logic.

The heart of this is the existence of ert-remote-temporary-file-directory.
We cannot write Tramp tests with real remote hosts, this wouldn't be a
generic solution. Therefore, this variable provides a mock-up "remote"
directory "/mock::/tmp/", which can be used. If you want to test with a
real remote host, set the environmen variable
REMOTE_TEMPORARY_FILE_DIRECTORY like

--8<---------------cut here---------------start------------->8---
# env REMOTE_TEMPORARY_FILE_DIRECTORY=/ssh:somewhere:/tmp \
    make -C test emerge-test
--8<---------------cut here---------------end--------------->8---

In case of any problem, just ask!

> Bye, Jörg

Best regards, Michael.