@@ -19,96 +19,82 @@ def pkg(modules):
19
19
return modules .pkg
20
20
21
21
22
- # Brew doesn't support local package installation - So, let's
23
- # Grab some small packages available online for brew
24
-
25
-
26
- @pytest .fixture (scope = "function" )
27
- def add_pkg ():
28
- yield "algol68g"
29
-
22
+ @pytest .fixture
23
+ def pkg_1_name (pkg ):
24
+ pkg_name = "algol68g"
25
+ try :
26
+ yield pkg_name
27
+ finally :
28
+ pkg_list = pkg .list_pkgs ()
30
29
31
- @ pytest . fixture ( scope = "function" )
32
- def del_pkg () :
33
- yield "acme"
30
+ # Remove package if installed
31
+ if pkg_name in pkg_list :
32
+ pkg . remove ( pkg_name )
34
33
35
34
36
- @pytest .fixture (scope = "function" , autouse = True )
37
- def _setup_teardown_vars (pkg , add_pkg , del_pkg ):
35
+ @pytest .fixture
36
+ def pkg_2_name (pkg ):
37
+ pkg_name = "acme"
38
38
try :
39
- yield
39
+ pkg .install (pkg_name )
40
+ pkg_list = pkg .list_pkgs ()
41
+ if pkg_name not in pkg_list :
42
+ pytest .skip (f"Failed to install the '{ pkg_name } ' package to delete" )
43
+ yield pkg_name
40
44
finally :
41
45
pkg_list = pkg .list_pkgs ()
42
46
43
- # Remove any installed packages
44
- if add_pkg in pkg_list :
45
- pkg .remove (add_pkg )
46
- if del_pkg in pkg_list :
47
- pkg .remove (del_pkg )
47
+ # Remove package if still installed
48
+ if pkg_name in pkg_list :
49
+ pkg .remove (pkg_name )
48
50
49
51
50
- def test_brew_install (pkg , add_pkg ):
52
+ def test_brew_install (pkg , pkg_1_name ):
51
53
"""
52
54
Tests the installation of packages
53
55
"""
54
- pkg .install (add_pkg )
56
+ pkg .install (pkg_1_name )
55
57
pkg_list = pkg .list_pkgs ()
56
- assert add_pkg in pkg_list
58
+ assert pkg_1_name in pkg_list
57
59
58
60
59
- def test_remove (pkg , del_pkg ):
61
+ def test_remove (pkg , pkg_2_name ):
60
62
"""
61
63
Tests the removal of packages
62
64
"""
63
- # Install a package to delete - If unsuccessful, skip the test
64
- pkg .install (del_pkg )
65
+ pkg .remove (pkg_2_name )
65
66
pkg_list = pkg .list_pkgs ()
66
- if del_pkg not in pkg_list :
67
- pkg .install (del_pkg )
68
- pytest .skip ("Failed to install a package to delete" )
69
-
70
- # Now remove the installed package
71
- pkg .remove (del_pkg )
72
- del_list = pkg .list_pkgs ()
73
- assert del_pkg not in del_list
67
+ assert pkg_2_name not in pkg_list
74
68
75
69
76
- def test_version (pkg , add_pkg ):
70
+ def test_version (pkg , pkg_1_name ):
77
71
"""
78
72
Test pkg.version for mac. Installs a package and then checks we can get
79
73
a version for the installed package.
80
74
"""
81
- pkg .install (add_pkg )
75
+ pkg .install (pkg_1_name )
82
76
pkg_list = pkg .list_pkgs ()
83
- version = pkg .version (add_pkg )
84
- assert version , f"version: { version } is empty, or other issue is present"
85
- assert (
86
- add_pkg in pkg_list
87
- ), "package: {} is not in the list of installed packages: {}" .format (
88
- add_pkg , pkg_list
89
- )
77
+ version = pkg .version (pkg_1_name )
78
+ assert version
79
+ assert pkg_1_name in pkg_list
90
80
# make sure the version is accurate and is listed in the pkg_list
91
- assert version in str (
92
- pkg_list [add_pkg ]
93
- ), "The {} version: {} is not listed in the pkg_list: {}" .format (
94
- add_pkg , version , pkg_list [add_pkg ]
95
- )
81
+ assert version in str (pkg_list [pkg_1_name ])
96
82
97
83
98
- def test_latest_version (pkg , add_pkg ):
84
+ def test_latest_version (pkg , pkg_1_name ):
99
85
"""
100
86
Test pkg.latest_version:
101
87
- get the latest version available
102
88
- install the package
103
89
- get the latest version available
104
90
- check that the latest version is empty after installing it
105
91
"""
106
- pkg .remove (add_pkg )
107
- uninstalled_latest = pkg .latest_version (add_pkg )
92
+ pkg .remove (pkg_1_name )
93
+ uninstalled_latest = pkg .latest_version (pkg_1_name )
108
94
109
- pkg .install (add_pkg )
110
- installed_latest = pkg .latest_version (add_pkg )
111
- version = pkg .version (add_pkg )
95
+ pkg .install (pkg_1_name )
96
+ installed_latest = pkg .latest_version (pkg_1_name )
97
+ version = pkg .version (pkg_1_name )
112
98
assert isinstance (uninstalled_latest , str )
113
99
assert installed_latest == version
114
100
@@ -121,10 +107,9 @@ def test_refresh_db(pkg):
121
107
assert refresh_brew
122
108
123
109
124
- def test_list_upgrades (pkg , add_pkg ):
110
+ def test_list_upgrades (pkg , pkg_1_name ):
125
111
"""
126
- Test pkg.list_upgrades: data is in the form {'name1': 'version1',
127
- 'name2': 'version2', ... }
112
+ Test pkg.list_upgrades: data is in the form {'name1': 'version1', 'name2': 'version2', ... }
128
113
"""
129
114
upgrades = pkg .list_upgrades ()
130
115
assert isinstance (upgrades , dict )
@@ -134,14 +119,14 @@ def test_list_upgrades(pkg, add_pkg):
134
119
assert isinstance (upgrades [name ], str )
135
120
136
121
137
- def test_info_installed (pkg , add_pkg ):
122
+ def test_info_installed (pkg , pkg_1_name ):
138
123
"""
139
124
Test pkg.info_installed: info returned has certain fields used by
140
125
mac_brew.latest_version
141
126
"""
142
- pkg .install (add_pkg )
143
- info = pkg .info_installed (add_pkg )
144
- assert add_pkg in info
145
- assert "versions" in info [add_pkg ]
146
- assert "revision" in info [add_pkg ]
147
- assert "stable" in info [add_pkg ]["versions" ]
127
+ pkg .install (pkg_1_name )
128
+ info = pkg .info_installed (pkg_1_name )
129
+ assert pkg_1_name in info
130
+ assert "versions" in info [pkg_1_name ]
131
+ assert "revision" in info [pkg_1_name ]
132
+ assert "stable" in info [pkg_1_name ]["versions" ]
0 commit comments