From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#21375: 25.0.50; Python tests fail on MS-Windows -- portability issues Date: Sat, 29 Aug 2015 15:13:33 +0300 Message-ID: <83d1y62sya.fsf@gnu.org> Reply-To: Eli Zaretskii NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE X-Trace: ger.gmane.org 1440850466 28335 80.91.229.3 (29 Aug 2015 12:14:26 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 29 Aug 2015 12:14:26 +0000 (UTC) To: 21375@debbugs.gnu.org, fgallina@gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Sat Aug 29 14:14:14 2015 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1ZVf1Q-0007fE-B7 for geb-bug-gnu-emacs@m.gmane.org; Sat, 29 Aug 2015 14:14:12 +0200 Original-Received: from localhost ([::1]:52312 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZVf1P-0005Ac-6T for geb-bug-gnu-emacs@m.gmane.org; Sat, 29 Aug 2015 08:14:11 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51220) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZVf1K-0005AX-QU for bug-gnu-emacs@gnu.org; Sat, 29 Aug 2015 08:14:08 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZVf1G-0004VR-Gx for bug-gnu-emacs@gnu.org; Sat, 29 Aug 2015 08:14:06 -0400 Original-Received: from debbugs.gnu.org ([208.118.235.43]:49811) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZVf1G-0004VN-E9 for bug-gnu-emacs@gnu.org; Sat, 29 Aug 2015 08:14:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.80) (envelope-from ) id 1ZVf1G-0005ct-3q for bug-gnu-emacs@gnu.org; Sat, 29 Aug 2015 08:14:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 29 Aug 2015 12:14:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 21375 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: X-Debbugs-Original-To: bug-gnu-emacs@gnu.org, =?UTF-8?Q?Fabi=C3=A1n?= Ezequiel Gallina Original-Received: via spool by submit@debbugs.gnu.org id=B.144085042221586 (code B ref -1); Sat, 29 Aug 2015 12:14:01 +0000 Original-Received: (at submit) by debbugs.gnu.org; 29 Aug 2015 12:13:42 +0000 Original-Received: from localhost ([127.0.0.1]:42021 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZVf0v-0005c5-Vd for submit@debbugs.gnu.org; Sat, 29 Aug 2015 08:13:42 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:41158) by debbugs.gnu.org with esmtp (Exim 4.80) (envelope-from ) id 1ZVf0t-0005bx-7d for submit@debbugs.gnu.org; Sat, 29 Aug 2015 08:13:39 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZVf0r-0004Pp-EF for submit@debbugs.gnu.org; Sat, 29 Aug 2015 08:13:39 -0400 Original-Received: from lists.gnu.org ([2001:4830:134:3::11]:53959) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZVf0r-0004Pl-Ax for submit@debbugs.gnu.org; Sat, 29 Aug 2015 08:13:37 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:51157) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZVf0p-00059Q-GL for bug-gnu-emacs@gnu.org; Sat, 29 Aug 2015 08:13:37 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZVf0l-0004OU-D6 for bug-gnu-emacs@gnu.org; Sat, 29 Aug 2015 08:13:35 -0400 Original-Received: from mtaout29.012.net.il ([80.179.55.185]:49017) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZVf0k-0004OE-Uk; Sat, 29 Aug 2015 08:13:31 -0400 Original-Received: from conversion-daemon.mtaout29.012.net.il by mtaout29.012.net.il (HyperSendmail v2007.08) id <0NTU00400EPKH500@mtaout29.012.net.il>; Sat, 29 Aug 2015 15:13:42 +0300 (IDT) Original-Received: from HOME-C4E4A596F7 ([84.94.185.246]) by mtaout29.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NTU002ETFATRS30@mtaout29.012.net.il>; Sat, 29 Aug 2015 15:13:42 +0300 (IDT) X-012-Sender: halo1@inter.net.il X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.15 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 208.118.235.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.bugs:105942 Archived-At: 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=E1n, 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-t= ests.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=3D (format "%s %s" - python-shell-interpreter + (shell-quote-argument python-shell-interpreter) python-shell-interpreter-args) (python-shell-calculate-command))))) =20 @@ -2445,14 +2445,17 @@ (ert-deftest python-shell-calculate-pythonpat= h-1 () (let ((process-environment '("PYTHONPATH=3D/path0")) (python-shell-extra-pythonpaths '("/path1" "/path2"))) (should (string=3D (python-shell-calculate-pythonpath) - "/path1:/path2:/path0")))) + (concat "/path1" path-separator + "/path2" path-separator "/path0"))))) =20 (ert-deftest python-shell-calculate-pythonpath-2 () "Test existing paths are moved to front." - (let ((process-environment '("PYTHONPATH=3D/path0:/path1")) + (let ((process-environment + (list (concat "PYTHONPATH=3D/path0" path-separator "/path1"= ))) (python-shell-extra-pythonpaths '("/path1" "/path2"))) (should (string=3D (python-shell-calculate-pythonpath) - "/path1:/path2:/path0")))) + (concat "/path1" path-separator + "/path2" path-separator "/path0"))))) =20 (ert-deftest python-shell-calculate-process-environment-1 () "Test `python-shell-process-environment' modification." @@ -2468,7 +2471,9 @@ (ert-deftest python-shell-calculate-process-env= ironment-2 () (original-pythonpath (setenv "PYTHONPATH" "/path0")) (python-shell-extra-pythonpaths '("/path1" "/path2")) (process-environment (python-shell-calculate-process-enviro= nment))) - (should (equal (getenv "PYTHONPATH") "/path1:/path2:/path0")))) + (should (equal (getenv "PYTHONPATH") + (concat "/path1" path-separator + "/path2" path-separator "/path0"))))) =20 (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"))))) =20 (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" "/pa= th0"))))) + (should (equal new-exec-path + (list (expand-file-name "/env/bin") + "/path1" "/path2" "/path0"))))) =20 (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" "/pa= th0"))))) + (should (equal new-exec-path + (list (expand-file-name "/env/bin") + "/path1" "/path2" "/path0"))))) =20 (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" "/path= 0"))) + (should (equal exec-path + (list (expand-file-name "/env/bin") + "/path1" "/path2" "/path0"))) (should (not (getenv "PYTHONHOME"))) (should (string=3D (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" "/rem= ote2"))) + (list (expand-file-name "/env/bin") + "/path1" "/path2" "/remote1" "/remote2"))= ) (let ((process-environment (python-shell-calculate-process-env= ironment))) (should (not (getenv "PYTHONHOME"))) (should (string=3D (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=3D/d/usr --enable-checking=3Dyes,glyphs --with-w= ide-int 'CFLAGS=3D-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-prs= vr 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-op= t fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode regis= ter 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))