Skip to content

Commit 31029bc

Browse files
committed
Use shared script in pip list tests
1 parent 0f46bb7 commit 31029bc

File tree

2 files changed

+36
-44
lines changed

2 files changed

+36
-44
lines changed

tests/conftest.py

+5
Original file line numberDiff line numberDiff line change
@@ -343,6 +343,11 @@ def common_wheels():
343343
return DATA_DIR.joinpath('common_wheels')
344344

345345

346+
@pytest.fixture(scope="session")
347+
def shared_data(tmpdir_factory):
348+
return TestData.copy(Path(tmpdir_factory.mktemp("data")))
349+
350+
346351
@pytest.fixture
347352
def data(tmpdir):
348353
return TestData.copy(tmpdir.joinpath("data"))

tests/functional/test_list.py

+31-44
Original file line numberDiff line numberDiff line change
@@ -3,30 +3,35 @@
33

44
import pytest
55

6+
from tests.lib.path import Path
67

7-
def test_basic_list(script, data):
8-
"""
9-
Test default behavior of list command without format specifier.
108

11-
"""
9+
@pytest.fixture(scope="session")
10+
def simple_script(tmpdir_factory, script_factory, shared_data):
11+
tmpdir = Path(tmpdir_factory.mktemp("pip_test_package"))
12+
script = script_factory(tmpdir.joinpath("workspace"))
1213
script.pip(
13-
'install', '-f', data.find_links, '--no-index', 'simple==1.0',
14+
'install', '-f', shared_data.find_links, '--no-index', 'simple==1.0',
1415
'simple2==3.0',
1516
)
16-
result = script.pip('list')
17+
return script
18+
19+
20+
def test_basic_list(simple_script):
21+
"""
22+
Test default behavior of list command without format specifier.
23+
24+
"""
25+
result = simple_script.pip('list')
1726
assert 'simple 1.0' in result.stdout, str(result)
1827
assert 'simple2 3.0' in result.stdout, str(result)
1928

2029

21-
def test_verbose_flag(script, data):
30+
def test_verbose_flag(simple_script):
2231
"""
2332
Test the list command with the '-v' option
2433
"""
25-
script.pip(
26-
'install', '-f', data.find_links, '--no-index', 'simple==1.0',
27-
'simple2==3.0',
28-
)
29-
result = script.pip('list', '-v', '--format=columns')
34+
result = simple_script.pip('list', '-v', '--format=columns')
3035
assert 'Package' in result.stdout, str(result)
3136
assert 'Version' in result.stdout, str(result)
3237
assert 'Location' in result.stdout, str(result)
@@ -35,38 +40,30 @@ def test_verbose_flag(script, data):
3540
assert 'simple2 3.0' in result.stdout, str(result)
3641

3742

38-
def test_columns_flag(script, data):
43+
def test_columns_flag(simple_script):
3944
"""
4045
Test the list command with the '--format=columns' option
4146
"""
42-
script.pip(
43-
'install', '-f', data.find_links, '--no-index', 'simple==1.0',
44-
'simple2==3.0',
45-
)
46-
result = script.pip('list', '--format=columns')
47+
result = simple_script.pip('list', '--format=columns')
4748
assert 'Package' in result.stdout, str(result)
4849
assert 'Version' in result.stdout, str(result)
4950
assert 'simple (1.0)' not in result.stdout, str(result)
5051
assert 'simple 1.0' in result.stdout, str(result)
5152
assert 'simple2 3.0' in result.stdout, str(result)
5253

5354

54-
def test_format_priority(script, data):
55+
def test_format_priority(simple_script):
5556
"""
5657
Test that latest format has priority over previous ones.
5758
"""
58-
script.pip(
59-
'install', '-f', data.find_links, '--no-index', 'simple==1.0',
60-
'simple2==3.0',
61-
)
62-
result = script.pip('list', '--format=columns', '--format=freeze',
63-
expect_stderr=True)
59+
result = simple_script.pip('list', '--format=columns', '--format=freeze',
60+
expect_stderr=True)
6461
assert 'simple==1.0' in result.stdout, str(result)
6562
assert 'simple2==3.0' in result.stdout, str(result)
6663
assert 'simple 1.0' not in result.stdout, str(result)
6764
assert 'simple2 3.0' not in result.stdout, str(result)
6865

69-
result = script.pip('list', '--format=freeze', '--format=columns')
66+
result = simple_script.pip('list', '--format=freeze', '--format=columns')
7067
assert 'Package' in result.stdout, str(result)
7168
assert 'Version' in result.stdout, str(result)
7269
assert 'simple==1.0' not in result.stdout, str(result)
@@ -75,23 +72,21 @@ def test_format_priority(script, data):
7572
assert 'simple2 3.0' in result.stdout, str(result)
7673

7774

78-
def test_local_flag(script, data):
75+
def test_local_flag(simple_script):
7976
"""
8077
Test the behavior of --local flag in the list command
8178
8279
"""
83-
script.pip('install', '-f', data.find_links, '--no-index', 'simple==1.0')
84-
result = script.pip('list', '--local', '--format=json')
80+
result = simple_script.pip('list', '--local', '--format=json')
8581
assert {"name": "simple", "version": "1.0"} in json.loads(result.stdout)
8682

8783

88-
def test_local_columns_flag(script, data):
84+
def test_local_columns_flag(simple_script):
8985
"""
9086
Test the behavior of --local --format=columns flags in the list command
9187
9288
"""
93-
script.pip('install', '-f', data.find_links, '--no-index', 'simple==1.0')
94-
result = script.pip('list', '--local', '--format=columns')
89+
result = simple_script.pip('list', '--local', '--format=columns')
9590
assert 'Package' in result.stdout
9691
assert 'Version' in result.stdout
9792
assert 'simple (1.0)' not in result.stdout
@@ -479,30 +474,22 @@ def test_not_required_flag(script, data):
479474
assert 'TopoRequires3 ' not in result.stdout
480475

481476

482-
def test_list_freeze(script, data):
477+
def test_list_freeze(simple_script):
483478
"""
484479
Test freeze formatting of list command
485480
486481
"""
487-
script.pip(
488-
'install', '-f', data.find_links, '--no-index', 'simple==1.0',
489-
'simple2==3.0',
490-
)
491-
result = script.pip('list', '--format=freeze')
482+
result = simple_script.pip('list', '--format=freeze')
492483
assert 'simple==1.0' in result.stdout, str(result)
493484
assert 'simple2==3.0' in result.stdout, str(result)
494485

495486

496-
def test_list_json(script, data):
487+
def test_list_json(simple_script):
497488
"""
498489
Test json formatting of list command
499490
500491
"""
501-
script.pip(
502-
'install', '-f', data.find_links, '--no-index', 'simple==1.0',
503-
'simple2==3.0',
504-
)
505-
result = script.pip('list', '--format=json')
492+
result = simple_script.pip('list', '--format=json')
506493
data = json.loads(result.stdout)
507494
assert {'name': 'simple', 'version': '1.0'} in data
508495
assert {'name': 'simple2', 'version': '3.0'} in data

0 commit comments

Comments
 (0)