Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
镜像
Python_Packaging_Authority
pip
提交
b0d173e4
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,发现更多精彩内容 >>
提交
b0d173e4
编写于
10月 15, 2014
作者:
P
Paul Moore
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added unit tests for get_installed_distributions user_only
上级
3c251580
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
45 addition
and
9 deletion
+45
-9
pip/utils/__init__.py
pip/utils/__init__.py
+3
-0
tests/unit/test_utils.py
tests/unit/test_utils.py
+42
-9
未找到文件。
pip/utils/__init__.py
浏览文件 @
b0d173e4
...
...
@@ -391,6 +391,9 @@ def get_installed_distributions(local_only=True,
If ``editables_only`` is True , only report editables.
If ``user_only`` is True , only report installations in the user
site directory.
"""
if
local_only
:
local_test
=
dist_is_local
...
...
tests/unit/test_utils.py
浏览文件 @
b0d173e4
...
...
@@ -161,6 +161,7 @@ def test_Inf_equals_Inf():
assert
Inf
==
Inf
@
patch
(
'pip.utils.dist_in_usersite'
)
@
patch
(
'pip.utils.dist_is_local'
)
@
patch
(
'pip.utils.dist_is_editable'
)
class
Tests_get_installed_distributions
:
...
...
@@ -170,6 +171,7 @@ class Tests_get_installed_distributions:
Mock
(
test_name
=
"global"
),
Mock
(
test_name
=
"editable"
),
Mock
(
test_name
=
"normal"
),
Mock
(
test_name
=
"user"
),
]
workingset_stdlib
=
[
...
...
@@ -187,37 +189,63 @@ class Tests_get_installed_distributions:
return
dist
.
test_name
==
"editable"
def
dist_is_local
(
self
,
dist
):
return
dist
.
test_name
!=
"global"
return
dist
.
test_name
!=
"global"
and
dist
.
test_name
!=
'user'
def
dist_in_usersite
(
self
,
dist
):
return
dist
.
test_name
==
"user"
@
patch
(
'pip._vendor.pkg_resources.working_set'
,
workingset
)
def
test_editables_only
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
):
def
test_editables_only
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
,
mock_dist_in_usersite
):
mock_dist_is_editable
.
side_effect
=
self
.
dist_is_editable
mock_dist_is_local
.
side_effect
=
self
.
dist_is_local
mock_dist_in_usersite
.
side_effect
=
self
.
dist_in_usersite
dists
=
get_installed_distributions
(
editables_only
=
True
)
assert
len
(
dists
)
==
1
,
dists
assert
dists
[
0
].
test_name
==
"editable"
@
patch
(
'pip._vendor.pkg_resources.working_set'
,
workingset
)
def
test_exclude_editables
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
):
def
test_exclude_editables
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
,
mock_dist_in_usersite
):
mock_dist_is_editable
.
side_effect
=
self
.
dist_is_editable
mock_dist_is_local
.
side_effect
=
self
.
dist_is_local
mock_dist_in_usersite
.
side_effect
=
self
.
dist_in_usersite
dists
=
get_installed_distributions
(
include_editables
=
False
)
assert
len
(
dists
)
==
1
assert
dists
[
0
].
test_name
==
"normal"
@
patch
(
'pip._vendor.pkg_resources.working_set'
,
workingset
)
def
test_include_globals
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
):
def
test_include_globals
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
,
mock_dist_in_usersite
):
mock_dist_is_editable
.
side_effect
=
self
.
dist_is_editable
mock_dist_is_local
.
side_effect
=
self
.
dist_is_local
mock_dist_in_usersite
.
side_effect
=
self
.
dist_in_usersite
dists
=
get_installed_distributions
(
local_only
=
False
)
assert
len
(
dists
)
==
3
assert
len
(
dists
)
==
4
@
patch
(
'pip._vendor.pkg_resources.working_set'
,
workingset
)
def
test_user_only
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
,
mock_dist_in_usersite
):
mock_dist_is_editable
.
side_effect
=
self
.
dist_is_editable
mock_dist_is_local
.
side_effect
=
self
.
dist_is_local
mock_dist_in_usersite
.
side_effect
=
self
.
dist_in_usersite
dists
=
get_installed_distributions
(
local_only
=
False
,
user_only
=
True
)
assert
len
(
dists
)
==
1
assert
dists
[
0
].
test_name
==
"user"
@
pytest
.
mark
.
skipif
(
"sys.version_info >= (2,7)"
)
@
patch
(
'pip._vendor.pkg_resources.working_set'
,
workingset_stdlib
)
def
test_py26_excludes
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
):
def
test_py26_excludes
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
,
mock_dist_in_usersite
):
mock_dist_is_editable
.
side_effect
=
self
.
dist_is_editable
mock_dist_is_local
.
side_effect
=
self
.
dist_is_local
mock_dist_in_usersite
.
side_effect
=
self
.
dist_in_usersite
dists
=
get_installed_distributions
()
assert
len
(
dists
)
==
1
assert
dists
[
0
].
key
==
'argparse'
...
...
@@ -225,16 +253,21 @@ class Tests_get_installed_distributions:
@
pytest
.
mark
.
skipif
(
"sys.version_info < (2,7)"
)
@
patch
(
'pip._vendor.pkg_resources.working_set'
,
workingset_stdlib
)
def
test_gte_py27_excludes
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
):
mock_dist_is_local
,
mock_dist_in_usersite
):
mock_dist_is_editable
.
side_effect
=
self
.
dist_is_editable
mock_dist_is_local
.
side_effect
=
self
.
dist_is_local
mock_dist_in_usersite
.
side_effect
=
self
.
dist_in_usersite
dists
=
get_installed_distributions
()
assert
len
(
dists
)
==
0
@
patch
(
'pip._vendor.pkg_resources.working_set'
,
workingset_freeze
)
def
test_freeze_excludes
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
):
def
test_freeze_excludes
(
self
,
mock_dist_is_editable
,
mock_dist_is_local
,
mock_dist_in_usersite
):
mock_dist_is_editable
.
side_effect
=
self
.
dist_is_editable
mock_dist_is_local
.
side_effect
=
self
.
dist_is_local
mock_dist_in_usersite
.
side_effect
=
self
.
dist_in_usersite
dists
=
get_installed_distributions
(
skip
=
freeze_excludes
)
assert
len
(
dists
)
==
0
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录