Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
镜像
Python_Packaging_Authority
pip
提交
fe793722
P
pip
项目概览
镜像
/
Python_Packaging_Authority
/
pip
12 个月 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
pip
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
fe793722
编写于
3月 01, 2019
作者:
C
Chris Jerdonek
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix a couple spinner edge cases.
上级
ffefa91f
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
19 addition
and
9 deletion
+19
-9
news/6312.bugfix
news/6312.bugfix
+3
-0
src/pip/_internal/utils/misc.py
src/pip/_internal/utils/misc.py
+11
-4
tests/unit/test_utils.py
tests/unit/test_utils.py
+5
-5
未找到文件。
news/6312.bugfix
0 → 100644
浏览文件 @
fe793722
The spinner no longer displays a completion message after subprocess calls
not needing a spinner. It also no longer incorrectly reports an error after
certain subprocess calls to Git that succeeded.
src/pip/_internal/utils/misc.py
浏览文件 @
fe793722
...
...
@@ -705,6 +705,10 @@ def call_subprocess(
stdout
=
None
else
:
stdout
=
subprocess
.
PIPE
# Only use the spinner when we're capturing stdout and we have one.
use_spinner
=
not
show_stdout
and
spinner
is
not
None
if
command_desc
is
None
:
command_desc
=
format_command_args
(
cmd
)
...
...
@@ -738,19 +742,22 @@ def call_subprocess(
logger
.
debug
(
line
)
else
:
# Update the spinner
if
spinner
is
not
None
:
if
use_spinner
:
spinner
.
spin
()
try
:
proc
.
wait
()
finally
:
if
proc
.
stdout
:
proc
.
stdout
.
close
()
if
spinner
is
not
None
:
if
proc
.
returncode
:
proc_had_error
=
(
proc
.
returncode
and
proc
.
returncode
not
in
extra_ok_returncodes
)
if
use_spinner
:
if
proc_had_error
:
spinner
.
finish
(
"error"
)
else
:
spinner
.
finish
(
"done"
)
if
proc
.
returncode
and
proc
.
returncode
not
in
extra_ok_returncodes
:
if
proc
_had_error
:
if
on_returncode
==
'raise'
:
if
(
logger
.
getEffectiveLevel
()
>
std_logging
.
DEBUG
and
not
show_stdout
):
...
...
tests/unit/test_utils.py
浏览文件 @
fe793722
...
...
@@ -925,7 +925,7 @@ class TestCallSubprocess(object):
# output is already being written to the console.
self
.
check_result
(
capfd
,
caplog
,
log_level
,
spinner
,
result
,
expected
,
expected_spinner
=
(
0
,
'done'
),
expected_spinner
=
(
0
,
None
),
)
@
pytest
.
mark
.
parametrize
((
...
...
@@ -936,13 +936,13 @@ class TestCallSubprocess(object):
# Test some cases that should result in show_spinner false.
(
0
,
False
,
None
,
logging
.
DEBUG
,
(
None
,
'done'
,
0
)),
# Test show_stdout=True.
(
0
,
True
,
None
,
logging
.
DEBUG
,
(
None
,
'done'
,
0
)),
(
0
,
True
,
None
,
logging
.
INFO
,
(
None
,
'done'
,
0
)),
(
0
,
True
,
None
,
logging
.
WARNING
,
(
None
,
'done'
,
0
)),
(
0
,
True
,
None
,
logging
.
DEBUG
,
(
None
,
None
,
0
)),
(
0
,
True
,
None
,
logging
.
INFO
,
(
None
,
None
,
0
)),
(
0
,
True
,
None
,
logging
.
WARNING
,
(
None
,
None
,
0
)),
# Test a non-zero exit status.
(
3
,
False
,
None
,
logging
.
INFO
,
(
InstallationError
,
'error'
,
2
)),
# Test a non-zero exit status also in extra_ok_returncodes.
(
3
,
False
,
(
3
,
),
logging
.
INFO
,
(
None
,
'
error
'
,
2
)),
(
3
,
False
,
(
3
,
),
logging
.
INFO
,
(
None
,
'
done
'
,
2
)),
])
def
test_spinner_finish
(
self
,
exit_status
,
show_stdout
,
extra_ok_returncodes
,
log_level
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录