* bug#58265: 29.0.50; [PATCH] $HOME adjustment for 'ert-remote-temporary-file-directory' is wrong
@ 2022-10-03 1:32 Jim Porter
2022-10-03 1:48 ` Jim Porter
` (2 more replies)
0 siblings, 3 replies; 5+ messages in thread
From: Jim Porter @ 2022-10-03 1:32 UTC (permalink / raw)
To: 58265
[-- Attachment #1: Type: text/plain, Size: 1008 bytes --]
I tried to use 'ert-remote-temporary-file-directory' in a test for an
external package, but it ended up breaking some existing tests simply by
requiring both tramp and ert-x. These tests indirectly used 'cd' (by way
of 'compilation-start'), which triggered the failure.
Steps to reproduce:
$ mkdir -p ~/src
$ emacs -Q --batch -l tramp -l ert-x --eval '(cd "~/src/")'
Result:
Error: error ("No such directory: ~/src/")
mapbacktrace(#f(compiled-function (evald func args flags)
#<bytecode 0xc43976fdbae86a5>))
debug-early-backtrace()
debug-early(error (error "No such directory: ~/src/"))
error("No such directory: %s" "~/src/")
cd("~/src")
eval((cd "~/src") t)
command-line-1(("-l" "tramp" "-l" "ert-x" "--eval" "(cd \"~/src/\")"))
command-line()
normal-top-level()
No such directory: ~/src/
Looking at ert-x.el, I think this is because
'ert-remote-temporary-file-directory' does some fixup on $HOME, but it
was too aggressive. See attached.
[-- Attachment #2: 0001-Fix-logic-of-HOME-adjustment-for-ert-remote-temporar.patch --]
[-- Type: text/plain, Size: 1123 bytes --]
From 5ef9bce106dbc78c0e29b3c0e1baf0ee47859ece Mon Sep 17 00:00:00 2001
From: Jim Porter <jporterbugs@gmail.com>
Date: Sun, 2 Oct 2022 18:19:56 -0700
Subject: [PATCH] ; Fix logic of $HOME adjustment for
'ert-remote-temporary-file-directory'
* lisp/emacs-lisp/ert-x.el (ert-remote-temporary-file-directory): Only
adjust $HOME when it doesn't exist.
---
lisp/emacs-lisp/ert-x.el | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lisp/emacs-lisp/ert-x.el b/lisp/emacs-lisp/ert-x.el
index bfd796586d..a891f068a7 100644
--- a/lisp/emacs-lisp/ert-x.el
+++ b/lisp/emacs-lisp/ert-x.el
@@ -568,7 +568,7 @@ ert-remote-temporary-file-directory
`("\\`mock\\'" nil ,(system-name)))
;; Emacs's Makefile sets $HOME to a nonexistent value. Needed
;; in batch mode only, therefore.
- (unless (and (null noninteractive) (file-directory-p "~/"))
+ (when (and noninteractive (not (file-directory-p "~/")))
(setenv "HOME" temporary-file-directory))
(format "/mock::%s" temporary-file-directory))))
"Temporary directory for remote file tests.")
--
2.25.1
^ permalink raw reply related [flat|nested] 5+ messages in thread
* bug#58265: 29.0.50; [PATCH] $HOME adjustment for 'ert-remote-temporary-file-directory' is wrong
2022-10-03 1:32 bug#58265: 29.0.50; [PATCH] $HOME adjustment for 'ert-remote-temporary-file-directory' is wrong Jim Porter
@ 2022-10-03 1:48 ` Jim Porter
2022-10-03 9:17 ` Lars Ingebrigtsen
2022-10-03 11:53 ` Michael Albinus
2 siblings, 0 replies; 5+ messages in thread
From: Jim Porter @ 2022-10-03 1:48 UTC (permalink / raw)
To: 58265
On 10/2/2022 6:32 PM, Jim Porter wrote:
> Error: error ("No such directory: ~/src/")
> mapbacktrace(#f(compiled-function (evald func args flags)
> #<bytecode 0xc43976fdbae86a5>))
> debug-early-backtrace()
> debug-early(error (error "No such directory: ~/src/"))
> error("No such directory: %s" "~/src/")
> cd("~/src")
> eval((cd "~/src") t)
Whoops, I tried to shorten the path that I was using to test in the
backtrace but messed up in a couple spots here. Pretend these are
"~/src/" too. :)
> command-line-1(("-l" "tramp" "-l" "ert-x" "--eval" "(cd \"~/src/\")"))
> command-line()
> normal-top-level()
> No such directory: ~/src/
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#58265: 29.0.50; [PATCH] $HOME adjustment for 'ert-remote-temporary-file-directory' is wrong
2022-10-03 1:32 bug#58265: 29.0.50; [PATCH] $HOME adjustment for 'ert-remote-temporary-file-directory' is wrong Jim Porter
2022-10-03 1:48 ` Jim Porter
@ 2022-10-03 9:17 ` Lars Ingebrigtsen
2022-10-04 0:44 ` Jim Porter
2022-10-03 11:53 ` Michael Albinus
2 siblings, 1 reply; 5+ messages in thread
From: Lars Ingebrigtsen @ 2022-10-03 9:17 UTC (permalink / raw)
To: Jim Porter; +Cc: 58265
Jim Porter <jporterbugs@gmail.com> writes:
> Looking at ert-x.el, I think this is because
> 'ert-remote-temporary-file-directory' does some fixup on $HOME, but it
> was too aggressive. See attached.
Looks good to me; please go ahead and push.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#58265: 29.0.50; [PATCH] $HOME adjustment for 'ert-remote-temporary-file-directory' is wrong
2022-10-03 1:32 bug#58265: 29.0.50; [PATCH] $HOME adjustment for 'ert-remote-temporary-file-directory' is wrong Jim Porter
2022-10-03 1:48 ` Jim Porter
2022-10-03 9:17 ` Lars Ingebrigtsen
@ 2022-10-03 11:53 ` Michael Albinus
2 siblings, 0 replies; 5+ messages in thread
From: Michael Albinus @ 2022-10-03 11:53 UTC (permalink / raw)
To: Jim Porter; +Cc: 58265
Jim Porter <jporterbugs@gmail.com> writes:
Hi Jim,
> Looking at ert-x.el, I think this is because
> 'ert-remote-temporary-file-directory' does some fixup on $HOME, but it
> was too aggressive. See attached.
>
> diff --git a/lisp/emacs-lisp/ert-x.el b/lisp/emacs-lisp/ert-x.el
> index bfd796586d..a891f068a7 100644
> --- a/lisp/emacs-lisp/ert-x.el
> +++ b/lisp/emacs-lisp/ert-x.el
> @@ -568,7 +568,7 @@ ert-remote-temporary-file-directory
> `("\\`mock\\'" nil ,(system-name)))
> ;; Emacs's Makefile sets $HOME to a nonexistent value. Needed
> ;; in batch mode only, therefore.
> - (unless (and (null noninteractive) (file-directory-p "~/"))
> + (when (and noninteractive (not (file-directory-p "~/")))
> (setenv "HOME" temporary-file-directory))
> (format "/mock::%s" temporary-file-directory))))
> "Temporary directory for remote file tests.")
IIRC, I've applied the original setting due to problems on hydra or emba
(don't remember exactly). Let's see how your patch works there.
Best regards, Michael.
^ permalink raw reply [flat|nested] 5+ messages in thread
* bug#58265: 29.0.50; [PATCH] $HOME adjustment for 'ert-remote-temporary-file-directory' is wrong
2022-10-03 9:17 ` Lars Ingebrigtsen
@ 2022-10-04 0:44 ` Jim Porter
0 siblings, 0 replies; 5+ messages in thread
From: Jim Porter @ 2022-10-04 0:44 UTC (permalink / raw)
To: Lars Ingebrigtsen; +Cc: 58265-done
On 10/3/2022 2:17 AM, Lars Ingebrigtsen wrote:
> Jim Porter <jporterbugs@gmail.com> writes:
>
>> Looking at ert-x.el, I think this is because
>> 'ert-remote-temporary-file-directory' does some fixup on $HOME, but it
>> was too aggressive. See attached.
>
> Looks good to me; please go ahead and push.
Thanks. Pushed as 43eaa05ff2265ae33f71b73670a8a150a7a716ae. Closing this
bug now.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2022-10-04 0:44 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-03 1:32 bug#58265: 29.0.50; [PATCH] $HOME adjustment for 'ert-remote-temporary-file-directory' is wrong Jim Porter
2022-10-03 1:48 ` Jim Porter
2022-10-03 9:17 ` Lars Ingebrigtsen
2022-10-04 0:44 ` Jim Porter
2022-10-03 11:53 ` Michael Albinus
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).