GNU bug report logs -
#21375
25.0.50; Python tests fail on MS-Windows -- portability issues
Previous Next
Reported by: Eli Zaretskii <eliz <at> gnu.org>
Date: Sat, 29 Aug 2015 12:14:01 UTC
Severity: normal
Found in version 25.0.50
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 21375 in the body.
You can then email your comments to 21375 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#21375
; Package
emacs
.
(Sat, 29 Aug 2015 12:14:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
New bug report received and forwarded. Copy sent to
bug-gnu-emacs <at> gnu.org
.
(Sat, 29 Aug 2015 12:14:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
As I reported in the past, some Python tests fail on MS-Windows. 13
of them, to be more accurate. The changes below reduce those 13 to
just 4.
The main problems fixed by these changes are: (a) the assumption that
"/foo" is an absolute file name that expand-file-name cannot possibly
change, and (b) use of a literal ':' character is PATH-style lists of
directories. Also, one of the failures was because
python-shell-calculate-command always quotes the interpreter's file
name on MS-Windows, which the test didn't expect.
Fabián, if these are OK with you, I will commit them.
I will file a separate bug about the other 4 failures, as I need help
there in figuring out how to fix them.
Thanks.
Here are the proposed changes, relative to today's master:
diff --git a/test/automated/python-tests.el b/test/automated/python-tests.el
index 30b1b48..219f99e 100644
--- a/test/automated/python-tests.el
+++ b/test/automated/python-tests.el
@@ -2436,7 +2436,7 @@ (ert-deftest python-shell-calculate-command-1 ()
(python-shell-interpreter-args "-B"))
(should (string=
(format "%s %s"
- python-shell-interpreter
+ (shell-quote-argument python-shell-interpreter)
python-shell-interpreter-args)
(python-shell-calculate-command)))))
@@ -2445,14 +2445,17 @@ (ert-deftest python-shell-calculate-pythonpath-1 ()
(let ((process-environment '("PYTHONPATH=/path0"))
(python-shell-extra-pythonpaths '("/path1" "/path2")))
(should (string= (python-shell-calculate-pythonpath)
- "/path1:/path2:/path0"))))
+ (concat "/path1" path-separator
+ "/path2" path-separator "/path0")))))
(ert-deftest python-shell-calculate-pythonpath-2 ()
"Test existing paths are moved to front."
- (let ((process-environment '("PYTHONPATH=/path0:/path1"))
+ (let ((process-environment
+ (list (concat "PYTHONPATH=/path0" path-separator "/path1")))
(python-shell-extra-pythonpaths '("/path1" "/path2")))
(should (string= (python-shell-calculate-pythonpath)
- "/path1:/path2:/path0"))))
+ (concat "/path1" path-separator
+ "/path2" path-separator "/path0")))))
(ert-deftest python-shell-calculate-process-environment-1 ()
"Test `python-shell-process-environment' modification."
@@ -2468,7 +2471,9 @@ (ert-deftest python-shell-calculate-process-environment-2 ()
(original-pythonpath (setenv "PYTHONPATH" "/path0"))
(python-shell-extra-pythonpaths '("/path1" "/path2"))
(process-environment (python-shell-calculate-process-environment)))
- (should (equal (getenv "PYTHONPATH") "/path1:/path2:/path0"))))
+ (should (equal (getenv "PYTHONPATH")
+ (concat "/path1" path-separator
+ "/path2" path-separator "/path0")))))
(ert-deftest python-shell-calculate-process-environment-3 ()
"Test `python-shell-virtualenv-root' modification."
@@ -2545,7 +2550,8 @@ (ert-deftest python-shell-calculate-exec-path-2 ()
(let* ((exec-path '("/path0"))
(python-shell-virtualenv-root "/env")
(new-exec-path (python-shell-calculate-exec-path)))
- (should (equal new-exec-path '("/env/bin" "/path0")))))
+ (should (equal new-exec-path
+ (list (expand-file-name "/env/bin") "/path0")))))
(ert-deftest python-shell-calculate-exec-path-3 ()
"Test complete `python-shell-virtualenv-root' modification."
@@ -2553,7 +2559,9 @@ (ert-deftest python-shell-calculate-exec-path-3 ()
(python-shell-exec-path '("/path1" "/path2"))
(python-shell-virtualenv-root "/env")
(new-exec-path (python-shell-calculate-exec-path)))
- (should (equal new-exec-path '("/env/bin" "/path1" "/path2" "/path0")))))
+ (should (equal new-exec-path
+ (list (expand-file-name "/env/bin")
+ "/path1" "/path2" "/path0")))))
(ert-deftest python-shell-calculate-exec-path-4 ()
"Test complete `python-shell-virtualenv-root' with remote."
@@ -2562,7 +2570,9 @@ (ert-deftest python-shell-calculate-exec-path-4 ()
(python-shell-exec-path '("/path1" "/path2"))
(python-shell-virtualenv-root "/env")
(new-exec-path (python-shell-calculate-exec-path)))
- (should (equal new-exec-path '("/env/bin" "/path1" "/path2" "/path0")))))
+ (should (equal new-exec-path
+ (list (expand-file-name "/env/bin")
+ "/path1" "/path2" "/path0")))))
(ert-deftest python-shell-calculate-exec-path-5 ()
"Test no side-effects on `exec-path'."
@@ -2590,7 +2600,9 @@ (ert-deftest python-shell-with-environment-1 ()
(original-exec-path exec-path)
(python-shell-virtualenv-root "/env"))
(python-shell-with-environment
- (should (equal exec-path '("/env/bin" "/path1" "/path2" "/path0")))
+ (should (equal exec-path
+ (list (expand-file-name "/env/bin")
+ "/path1" "/path2" "/path0")))
(should (not (getenv "PYTHONHOME")))
(should (string= (getenv "VIRTUAL_ENV") "/env")))
(should (equal exec-path original-exec-path))))
@@ -2605,7 +2617,8 @@ (ert-deftest python-shell-with-environment-2 ()
(python-shell-virtualenv-root "/env"))
(python-shell-with-environment
(should (equal (python-shell-calculate-exec-path)
- '("/env/bin" "/path1" "/path2" "/remote1" "/remote2")))
+ (list (expand-file-name "/env/bin")
+ "/path1" "/path2" "/remote1" "/remote2")))
(let ((process-environment (python-shell-calculate-process-environment)))
(should (not (getenv "PYTHONHOME")))
(should (string= (getenv "VIRTUAL_ENV") "/env"))
In GNU Emacs 25.0.50.384 (i686-pc-mingw32)
of 2015-08-29
Repository revision: 5e63c842007b0f85e91735a7c4e00be0b7fe9ba5
Windowing system distributor `Microsoft Corp.', version 5.1.2600
Configured using:
`configure --prefix=/d/usr --enable-checking=yes,glyphs --with-wide-int
'CFLAGS=-gdwarf-4 -g3 -O0''
Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND NOTIFY ACL GNUTLS LIBXML2 ZLIB
TOOLKIT_SCROLL_BARS
Important settings:
value of $LANG: ENU
locale-coding-system: cp1255
Major mode: Lisp Interaction
Minor modes in effect:
tooltip-mode: t
global-eldoc-mode: t
electric-indent-mode: t
mouse-wheel-mode: t
tool-bar-mode: t
menu-bar-mode: t
file-name-shadow-mode: t
global-font-lock-mode: t
font-lock-mode: t
blink-cursor-mode: t
auto-composition-mode: t
auto-encryption-mode: t
auto-compression-mode: t
line-number-mode: t
transient-mark-mode: t
Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Load-path shadows:
None found.
Features:
(shadow sort gnus-util mail-extr emacsbug message dired format-spec
rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231
mailabbrev gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums
mm-util help-fns help-mode easymenu cl-loaddefs pcase cl-lib mail-prsvr
mail-utils time-date mule-util tooltip eldoc electric uniquify
ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table
w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt
fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register
page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock
font-lock syntax facemenu font-core frame cl-generic cham georgian
utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean
japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european
ethiopic indian cyrillic chinese charscript case-table epa-hook
jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice
loaddefs button faces cus-face macroexp files text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget
hashtable-print-readable backquote w32notify w32 multi-tty
make-network-process emacs)
Memory information:
((conses 16 84975 6948)
(symbols 56 19924 0)
(miscs 48 36 107)
(strings 16 15967 5012)
(string-bytes 1 393017)
(vectors 16 11212)
(vector-slots 8 402827 5209)
(floats 8 125 127)
(intervals 40 260 63)
(buffers 856 11))
Information forwarded
to
bug-gnu-emacs <at> gnu.org
:
bug#21375
; Package
emacs
.
(Sat, 29 Aug 2015 13:52:02 GMT)
Full text and
rfc822 format available.
Message #8 received at submit <at> debbugs.gnu.org (full text, mbox):
Eli Zaretskii <eliz <at> gnu.org> writes:
> As I reported in the past, some Python tests fail on MS-Windows. 13
> of them, to be more accurate. The changes below reduce those 13 to
> just 4.
>
> The main problems fixed by these changes are: (a) the assumption that
> "/foo" is an absolute file name that expand-file-name cannot possibly
> change, and (b) use of a literal ':' character is PATH-style lists of
> directories. Also, one of the failures was because
> python-shell-calculate-command always quotes the interpreter's file
> name on MS-Windows, which the test didn't expect.
>
> Fabián, if these are OK with you, I will commit them.
>
> I will file a separate bug about the other 4 failures, as I need help
> there in figuring out how to fix them.
>
Hi Eli,
Patch looks good, please install.
Thanks for taking care of this.
Fabián.
Reply sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
You have taken responsibility.
(Sat, 29 Aug 2015 14:43:02 GMT)
Full text and
rfc822 format available.
Notification sent
to
Eli Zaretskii <eliz <at> gnu.org>
:
bug acknowledged by developer.
(Sat, 29 Aug 2015 14:43:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 21375-done <at> debbugs.gnu.org (full text, mbox):
> From: fgallina <at> gnu.org (Fabián Ezequiel Gallina)
> Cc: bug-gnu-emacs <at> gnu.org
> Date: Sat, 29 Aug 2015 10:51:30 -0300
>
> Eli Zaretskii <eliz <at> gnu.org> writes:
>
> > As I reported in the past, some Python tests fail on MS-Windows. 13
> > of them, to be more accurate. The changes below reduce those 13 to
> > just 4.
> >
> > The main problems fixed by these changes are: (a) the assumption that
> > "/foo" is an absolute file name that expand-file-name cannot possibly
> > change, and (b) use of a literal ':' character is PATH-style lists of
> > directories. Also, one of the failures was because
> > python-shell-calculate-command always quotes the interpreter's file
> > name on MS-Windows, which the test didn't expect.
> >
> > Fabián, if these are OK with you, I will commit them.
> >
> > I will file a separate bug about the other 4 failures, as I need help
> > there in figuring out how to fix them.
> >
>
> Hi Eli,
>
> Patch looks good, please install.
Done as master commit 57e1205.
> Thanks for taking care of this.
You are welcome.
I'm closing this bug.
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sun, 27 Sep 2015 11:24:04 GMT)
Full text and
rfc822 format available.
This bug report was last modified 9 years and 268 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.