Merge lp:~brian.curtin/ubuntu-sso-client/correct-subprocess-args into lp:ubuntu-sso-client

Proposed by Brian Curtin on 2012-10-12
Status: Merged
Approved by: Brian Curtin on 2012-10-16
Approved revision: 1011
Merged at revision: 1007
Proposed branch: lp:~brian.curtin/ubuntu-sso-client/correct-subprocess-args
Merge into: lp:ubuntu-sso-client
Diff against target: 79 lines (+6/-29)
3 files modified
ubuntu_sso/utils/__init__.py (+6/-3)
ubuntu_sso/utils/runner/qt.py (+0/-7)
ubuntu_sso/utils/runner/tests/test_qt.py (+0/-19)
To merge this branch: bzr merge lp:~brian.curtin/ubuntu-sso-client/correct-subprocess-args
Reviewer Review Type Date Requested Status
dobey (community) Approve on 2012-10-16
Mike McCracken (community) 2012-10-12 Approve on 2012-10-16
Review via email: mp+129442@code.launchpad.net

Commit Message

- Remove an extra insertion of "python" to command line arguments on Windows.

Description of the Change

Remove an extra inserted "python" argument at the front of a command argument list.

On Windows, we were inserting "python" at the front and then passing the list off to ubuntu_sso.utils.runner.qt.spawn_program. That function has a special case on Windows where it uses procutils.which to find the full path to the python executable it should be using. We were then inserting that path at the front of the list, so we ended up with "python" as an argument to "C:\u1\bin\python".

To post a comment you must log in.
Mike McCracken (mikemc) wrote :

On my win7 vm, many tests fail/err, but it's the same proxy related ones as on trunk.

Otherwise, works for me as long as I fix the issue with logging.conf that will be fixed by an upcoming branch, see bug #1067489

review: Approve
dobey (dobey) :
review: Approve
Ubuntu One Auto Pilot (otto-pilot) wrote :
Download full text (89.7 KiB)

The attempt to merge lp:~brian.curtin/ubuntu-sso-client/correct-subprocess-args into lp:ubuntu-sso-client failed. Below is the output from the failed tests.

*** Running QT test suite for ubuntu_sso ***
running build
Compiled data/qt/proxy_credentials_dialog.ui into ubuntu_sso/qt/ui/proxy_credentials_dialog_ui.py
compiled data/qt/resources.qrc into ubuntu_sso/qt/ui/resources_rc.py
Compiled data/qt/setup_account.ui into ubuntu_sso/qt/ui/setup_account_ui.py
Compiled data/qt/reset_password.ui into ubuntu_sso/qt/ui/reset_password_ui.py
Compiled data/qt/network_detection.ui into ubuntu_sso/qt/ui/network_detection_ui.py
Compiled data/qt/forgotten_password.ui into ubuntu_sso/qt/ui/forgotten_password_ui.py
Compiled data/qt/ssl_dialog.ui into ubuntu_sso/qt/ui/ssl_dialog_ui.py
Compiled data/qt/success_message.ui into ubuntu_sso/qt/ui/success_message_ui.py
Compiled data/qt/loadingoverlay.ui into ubuntu_sso/qt/ui/loadingoverlay_ui.py
Compiled data/qt/current_user_sign_in.ui into ubuntu_sso/qt/ui/current_user_sign_in_ui.py
Compiled data/qt/error_message.ui into ubuntu_sso/qt/ui/error_message_ui.py
Compiled data/qt/email_verification.ui into ubuntu_sso/qt/ui/email_verification_ui.py
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/account.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/credentials.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/logger.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
creating build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/test_credentials.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/test_account.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
creating build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/pykeyring.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
creating build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_common.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_pykeyring.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
creating build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/glib.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/darwin.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/windows.py -> build/lib.lin...

Ubuntu One Auto Pilot (otto-pilot) wrote :
Download full text (88.9 KiB)

The attempt to merge lp:~brian.curtin/ubuntu-sso-client/correct-subprocess-args into lp:ubuntu-sso-client failed. Below is the output from the failed tests.

*** Running QT test suite for ubuntu_sso ***
running build
Compiled data/qt/proxy_credentials_dialog.ui into ubuntu_sso/qt/ui/proxy_credentials_dialog_ui.py
compiled data/qt/resources.qrc into ubuntu_sso/qt/ui/resources_rc.py
Compiled data/qt/setup_account.ui into ubuntu_sso/qt/ui/setup_account_ui.py
Compiled data/qt/reset_password.ui into ubuntu_sso/qt/ui/reset_password_ui.py
Compiled data/qt/network_detection.ui into ubuntu_sso/qt/ui/network_detection_ui.py
Compiled data/qt/forgotten_password.ui into ubuntu_sso/qt/ui/forgotten_password_ui.py
Compiled data/qt/ssl_dialog.ui into ubuntu_sso/qt/ui/ssl_dialog_ui.py
Compiled data/qt/success_message.ui into ubuntu_sso/qt/ui/success_message_ui.py
Compiled data/qt/loadingoverlay.ui into ubuntu_sso/qt/ui/loadingoverlay_ui.py
Compiled data/qt/current_user_sign_in.ui into ubuntu_sso/qt/ui/current_user_sign_in_ui.py
Compiled data/qt/error_message.ui into ubuntu_sso/qt/ui/error_message_ui.py
Compiled data/qt/email_verification.ui into ubuntu_sso/qt/ui/email_verification_ui.py
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/account.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/credentials.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
copying ubuntu_sso/logger.py -> build/lib.linux-x86_64-2.7/ubuntu_sso
creating build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/test_credentials.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
copying ubuntu_sso/tests/test_account.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/tests
creating build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
copying ubuntu_sso/keyring/pykeyring.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring
creating build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_common.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
copying ubuntu_sso/keyring/tests/test_pykeyring.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/keyring/tests
creating build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/__init__.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/glib.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/linux.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/darwin.py -> build/lib.linux-x86_64-2.7/ubuntu_sso/main
copying ubuntu_sso/main/windows.py -> build/lib.lin...

1011. By Brian Curtin on 2012-10-16

Removed unused sys

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'ubuntu_sso/utils/__init__.py'
2--- ubuntu_sso/utils/__init__.py 2012-08-14 23:15:15 +0000
3+++ ubuntu_sso/utils/__init__.py 2012-10-16 21:49:21 +0000
4@@ -36,6 +36,7 @@
5 from dirspec.utils import get_program_path
6
7 from twisted.internet import defer
8+from twisted.python import procutils
9
10 from ubuntu_sso import (BACKEND_EXECUTABLE,
11 UI_EXECUTABLE_QT,
12@@ -132,9 +133,11 @@
13
14 # adjust cmd for platforms using buildout-generated python
15 # wrappers
16- if getattr(sys, 'frozen', None) is None \
17- and sys.platform in ('win32', 'darwin'):
18- cmd_args.insert(0, 'python')
19+ if getattr(sys, 'frozen', None) is None:
20+ if sys.platform in ('darwin'):
21+ cmd_args.insert(0, 'python')
22+ elif sys.platform in ('win32'):
23+ cmd_args.insert(0, procutils.which("python.exe")[0])
24
25 logger.debug('get_bin_cmd: returning %r', cmd_args)
26 return cmd_args
27
28=== modified file 'ubuntu_sso/utils/runner/qt.py'
29--- ubuntu_sso/utils/runner/qt.py 2012-04-09 17:38:24 +0000
30+++ ubuntu_sso/utils/runner/qt.py 2012-10-16 21:49:21 +0000
31@@ -28,10 +28,7 @@
32 # files in the program, then also delete it here.
33 """Utility to spawn another program from a plain Qt mainloop."""
34
35-import sys
36-
37 from PyQt4 import QtCore
38-from twisted.python import procutils
39
40 from ubuntu_sso.logger import setup_logging
41
42@@ -81,10 +78,6 @@
43 process.error.connect(handle_error)
44
45 args = list(args)
46- if sys.platform.startswith("win") and not args[0].endswith("exe"):
47- python_exe = procutils.which("python.exe")
48- if python_exe:
49- args.insert(0, python_exe[0])
50 program = args[0]
51 argv = args[1:]
52 process.start(program, argv)
53
54=== modified file 'ubuntu_sso/utils/runner/tests/test_qt.py'
55--- ubuntu_sso/utils/runner/tests/test_qt.py 2012-07-03 20:22:08 +0000
56+++ ubuntu_sso/utils/runner/tests/test_qt.py 2012-10-16 21:49:21 +0000
57@@ -153,22 +153,3 @@
58 yield d
59
60 self.assertNotIn(self.process, qt._processes)
61-
62- @defer.inlineCallbacks
63- def test_start_process_win_devel(self):
64- """Test the windows devel case."""
65- calls = []
66- fake_python = r"c:\python99\python.exe"
67- self.patch(runner.qt.sys, "platform", "win98")
68- self.patch(runner.qt.procutils, "which", lambda _: [fake_python])
69- self.patch(subprocess, "call", calls.append)
70- self.patch(self, "args", ["bin/program", "arg1", "arg2"])
71-
72- d = defer.Deferred()
73- runner.qt.spawn_program(self.args,
74- reply_handler=d.callback, error_handler=lambda **kw: d.errback(kw))
75- yield d
76-
77- cmdline = calls[0]
78- self.assertEqual(cmdline[0], fake_python,
79- "python.exe is added to the command line.")

Subscribers

People subscribed via source and target branches