Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
C
cpython
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
cpython
Commits
49667f09
Commit
49667f09
authored
Nov 03, 2013
by
Tim Golden
Browse files
Options
Browse Files
Download
Plain Diff
Issue #10197: merge heads
parents
0b9e815d
e004175c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
14 additions
and
24 deletions
+14
-24
Lib/subprocess.py
Lib/subprocess.py
+9
-15
Lib/test/test_subprocess.py
Lib/test/test_subprocess.py
+2
-9
Misc/NEWS
Misc/NEWS
+3
-0
No files found.
Lib/subprocess.py
View file @
49667f09
...
...
@@ -681,21 +681,15 @@ def getstatusoutput(cmd):
>>> subprocess.getstatusoutput('/bin/junk')
(256, 'sh: /bin/junk: not found')
"""
with
os
.
popen
(
'{ '
+
cmd
+
'; } 2>&1'
,
'r'
)
as
pipe
:
try
:
text
=
pipe
.
read
()
sts
=
pipe
.
close
()
except
:
process
=
pipe
.
_proc
process
.
kill
()
process
.
wait
()
raise
if
sts
is
None
:
sts
=
0
if
text
[
-
1
:]
==
'
\
n
'
:
text
=
text
[:
-
1
]
return
sts
,
text
try
:
data
=
check_output
(
cmd
,
shell
=
True
,
universal_newlines
=
True
,
stderr
=
STDOUT
)
status
=
0
except
CalledProcessError
as
ex
:
data
=
ex
.
output
status
=
ex
.
returncode
if
data
[
-
1
:]
==
'
\
n
'
:
data
=
data
[:
-
1
]
return
status
,
data
def
getoutput
(
cmd
):
"""Return output (stdout or stderr) of executing cmd in a shell.
...
...
Lib/test/test_subprocess.py
View file @
49667f09
...
...
@@ -2133,13 +2133,6 @@ class Win32ProcessTestCase(BaseTestCase):
def
test_terminate_dead
(
self
):
self
.
_kill_dead_process
(
'terminate'
)
# The module says:
# "NB This only works (and is only relevant) for UNIX."
#
# Actually, getoutput should work on any platform with an os.popen, but
# I'll take the comment as given, and skip this suite.
@
unittest
.
skipUnless
(
os
.
name
==
'posix'
,
"only relevant for UNIX"
)
class
CommandTests
(
unittest
.
TestCase
):
def
test_getoutput
(
self
):
self
.
assertEqual
(
subprocess
.
getoutput
(
'echo xyzzy'
),
'xyzzy'
)
...
...
@@ -2153,8 +2146,8 @@ class CommandTests(unittest.TestCase):
try
:
dir
=
tempfile
.
mkdtemp
()
name
=
os
.
path
.
join
(
dir
,
"foo"
)
status
,
output
=
subprocess
.
getstatusoutput
(
'cat '
+
name
)
status
,
output
=
subprocess
.
getstatusoutput
(
(
"type "
if
mswindows
else
"cat "
)
+
name
)
self
.
assertNotEqual
(
status
,
0
)
finally
:
if
dir
is
not
None
:
...
...
Misc/NEWS
View file @
49667f09
...
...
@@ -16,6 +16,9 @@ Library
- Issue #6157: Fixed tkinter.Text.debug(). Original patch by Guilherme Polo.
- Issue #6160: The bbox() method of tkinter.Spinbox now returns a tuple of
- Issue #10197: Rework subprocess.get[status]output to use subprocess
functionality and thus to work on Windows. Patch by Nick Coghlan.
integers instead of a string. Based on patch by Guilherme Polo.
- Issue #19286: Directories in ``package_data`` are no longer added to
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment