Skip to content

Commit eb89009

Browse files
committed
Use coverage's functions for checking fail_under. Bumps min coverage requirement to 7.5.0. Closes #611. Fixes #601. Fixes #403.
1 parent 7a6938c commit eb89009

File tree

5 files changed

+220
-57
lines changed

5 files changed

+220
-57
lines changed

.github/workflows/test.yml

Lines changed: 192 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -60,149 +60,293 @@ jobs:
6060
toxpython: 'python3.11'
6161
tox_env: 'docs'
6262
os: 'ubuntu-latest'
63-
- name: 'py38-pytest81-xdist350-coverage74 (ubuntu)'
63+
- name: 'py38-pytest81-xdist350-coverage75 (ubuntu)'
6464
python: '3.8'
6565
toxpython: 'python3.8'
6666
python_arch: 'x64'
67-
tox_env: 'py38-pytest81-xdist350-coverage74'
67+
tox_env: 'py38-pytest81-xdist350-coverage75'
6868
os: 'ubuntu-latest'
69-
- name: 'py38-pytest81-xdist350-coverage74 (windows)'
69+
- name: 'py38-pytest81-xdist350-coverage75 (windows)'
7070
python: '3.8'
7171
toxpython: 'python3.8'
7272
python_arch: 'x64'
73-
tox_env: 'py38-pytest81-xdist350-coverage74'
73+
tox_env: 'py38-pytest81-xdist350-coverage75'
7474
os: 'windows-latest'
75-
- name: 'py38-pytest81-xdist350-coverage74 (macos)'
75+
- name: 'py38-pytest81-xdist350-coverage75 (macos)'
7676
python: '3.8'
7777
toxpython: 'python3.8'
7878
python_arch: 'x64'
79-
tox_env: 'py38-pytest81-xdist350-coverage74'
79+
tox_env: 'py38-pytest81-xdist350-coverage75'
8080
os: 'macos-latest'
81-
- name: 'py39-pytest81-xdist350-coverage74 (ubuntu)'
81+
- name: 'py38-pytest81-xdist350-coverage76 (ubuntu)'
82+
python: '3.8'
83+
toxpython: 'python3.8'
84+
python_arch: 'x64'
85+
tox_env: 'py38-pytest81-xdist350-coverage76'
86+
os: 'ubuntu-latest'
87+
- name: 'py38-pytest81-xdist350-coverage76 (windows)'
88+
python: '3.8'
89+
toxpython: 'python3.8'
90+
python_arch: 'x64'
91+
tox_env: 'py38-pytest81-xdist350-coverage76'
92+
os: 'windows-latest'
93+
- name: 'py38-pytest81-xdist350-coverage76 (macos)'
94+
python: '3.8'
95+
toxpython: 'python3.8'
96+
python_arch: 'x64'
97+
tox_env: 'py38-pytest81-xdist350-coverage76'
98+
os: 'macos-latest'
99+
- name: 'py39-pytest81-xdist350-coverage75 (ubuntu)'
100+
python: '3.9'
101+
toxpython: 'python3.9'
102+
python_arch: 'x64'
103+
tox_env: 'py39-pytest81-xdist350-coverage75'
104+
os: 'ubuntu-latest'
105+
- name: 'py39-pytest81-xdist350-coverage75 (windows)'
106+
python: '3.9'
107+
toxpython: 'python3.9'
108+
python_arch: 'x64'
109+
tox_env: 'py39-pytest81-xdist350-coverage75'
110+
os: 'windows-latest'
111+
- name: 'py39-pytest81-xdist350-coverage75 (macos)'
112+
python: '3.9'
113+
toxpython: 'python3.9'
114+
python_arch: 'x64'
115+
tox_env: 'py39-pytest81-xdist350-coverage75'
116+
os: 'macos-latest'
117+
- name: 'py39-pytest81-xdist350-coverage76 (ubuntu)'
82118
python: '3.9'
83119
toxpython: 'python3.9'
84120
python_arch: 'x64'
85-
tox_env: 'py39-pytest81-xdist350-coverage74'
121+
tox_env: 'py39-pytest81-xdist350-coverage76'
86122
os: 'ubuntu-latest'
87-
- name: 'py39-pytest81-xdist350-coverage74 (windows)'
123+
- name: 'py39-pytest81-xdist350-coverage76 (windows)'
88124
python: '3.9'
89125
toxpython: 'python3.9'
90126
python_arch: 'x64'
91-
tox_env: 'py39-pytest81-xdist350-coverage74'
127+
tox_env: 'py39-pytest81-xdist350-coverage76'
92128
os: 'windows-latest'
93-
- name: 'py39-pytest81-xdist350-coverage74 (macos)'
129+
- name: 'py39-pytest81-xdist350-coverage76 (macos)'
94130
python: '3.9'
95131
toxpython: 'python3.9'
96132
python_arch: 'x64'
97-
tox_env: 'py39-pytest81-xdist350-coverage74'
133+
tox_env: 'py39-pytest81-xdist350-coverage76'
98134
os: 'macos-latest'
99-
- name: 'py310-pytest81-xdist350-coverage74 (ubuntu)'
135+
- name: 'py310-pytest81-xdist350-coverage75 (ubuntu)'
100136
python: '3.10'
101137
toxpython: 'python3.10'
102138
python_arch: 'x64'
103-
tox_env: 'py310-pytest81-xdist350-coverage74'
139+
tox_env: 'py310-pytest81-xdist350-coverage75'
104140
os: 'ubuntu-latest'
105-
- name: 'py310-pytest81-xdist350-coverage74 (windows)'
141+
- name: 'py310-pytest81-xdist350-coverage75 (windows)'
106142
python: '3.10'
107143
toxpython: 'python3.10'
108144
python_arch: 'x64'
109-
tox_env: 'py310-pytest81-xdist350-coverage74'
145+
tox_env: 'py310-pytest81-xdist350-coverage75'
110146
os: 'windows-latest'
111-
- name: 'py310-pytest81-xdist350-coverage74 (macos)'
147+
- name: 'py310-pytest81-xdist350-coverage75 (macos)'
112148
python: '3.10'
113149
toxpython: 'python3.10'
114150
python_arch: 'x64'
115-
tox_env: 'py310-pytest81-xdist350-coverage74'
151+
tox_env: 'py310-pytest81-xdist350-coverage75'
152+
os: 'macos-latest'
153+
- name: 'py310-pytest81-xdist350-coverage76 (ubuntu)'
154+
python: '3.10'
155+
toxpython: 'python3.10'
156+
python_arch: 'x64'
157+
tox_env: 'py310-pytest81-xdist350-coverage76'
158+
os: 'ubuntu-latest'
159+
- name: 'py310-pytest81-xdist350-coverage76 (windows)'
160+
python: '3.10'
161+
toxpython: 'python3.10'
162+
python_arch: 'x64'
163+
tox_env: 'py310-pytest81-xdist350-coverage76'
164+
os: 'windows-latest'
165+
- name: 'py310-pytest81-xdist350-coverage76 (macos)'
166+
python: '3.10'
167+
toxpython: 'python3.10'
168+
python_arch: 'x64'
169+
tox_env: 'py310-pytest81-xdist350-coverage76'
170+
os: 'macos-latest'
171+
- name: 'py311-pytest81-xdist350-coverage75 (ubuntu)'
172+
python: '3.11'
173+
toxpython: 'python3.11'
174+
python_arch: 'x64'
175+
tox_env: 'py311-pytest81-xdist350-coverage75'
176+
os: 'ubuntu-latest'
177+
- name: 'py311-pytest81-xdist350-coverage75 (windows)'
178+
python: '3.11'
179+
toxpython: 'python3.11'
180+
python_arch: 'x64'
181+
tox_env: 'py311-pytest81-xdist350-coverage75'
182+
os: 'windows-latest'
183+
- name: 'py311-pytest81-xdist350-coverage75 (macos)'
184+
python: '3.11'
185+
toxpython: 'python3.11'
186+
python_arch: 'x64'
187+
tox_env: 'py311-pytest81-xdist350-coverage75'
116188
os: 'macos-latest'
117-
- name: 'py311-pytest81-xdist350-coverage74 (ubuntu)'
189+
- name: 'py311-pytest81-xdist350-coverage76 (ubuntu)'
118190
python: '3.11'
119191
toxpython: 'python3.11'
120192
python_arch: 'x64'
121-
tox_env: 'py311-pytest81-xdist350-coverage74'
193+
tox_env: 'py311-pytest81-xdist350-coverage76'
122194
os: 'ubuntu-latest'
123-
- name: 'py311-pytest81-xdist350-coverage74 (windows)'
195+
- name: 'py311-pytest81-xdist350-coverage76 (windows)'
124196
python: '3.11'
125197
toxpython: 'python3.11'
126198
python_arch: 'x64'
127-
tox_env: 'py311-pytest81-xdist350-coverage74'
199+
tox_env: 'py311-pytest81-xdist350-coverage76'
128200
os: 'windows-latest'
129-
- name: 'py311-pytest81-xdist350-coverage74 (macos)'
201+
- name: 'py311-pytest81-xdist350-coverage76 (macos)'
130202
python: '3.11'
131203
toxpython: 'python3.11'
132204
python_arch: 'x64'
133-
tox_env: 'py311-pytest81-xdist350-coverage74'
205+
tox_env: 'py311-pytest81-xdist350-coverage76'
134206
os: 'macos-latest'
135-
- name: 'py312-pytest81-xdist350-coverage74 (ubuntu)'
207+
- name: 'py312-pytest81-xdist350-coverage75 (ubuntu)'
136208
python: '3.12'
137209
toxpython: 'python3.12'
138210
python_arch: 'x64'
139-
tox_env: 'py312-pytest81-xdist350-coverage74'
211+
tox_env: 'py312-pytest81-xdist350-coverage75'
140212
os: 'ubuntu-latest'
141-
- name: 'py312-pytest81-xdist350-coverage74 (windows)'
213+
- name: 'py312-pytest81-xdist350-coverage75 (windows)'
142214
python: '3.12'
143215
toxpython: 'python3.12'
144216
python_arch: 'x64'
145-
tox_env: 'py312-pytest81-xdist350-coverage74'
217+
tox_env: 'py312-pytest81-xdist350-coverage75'
146218
os: 'windows-latest'
147-
- name: 'py312-pytest81-xdist350-coverage74 (macos)'
219+
- name: 'py312-pytest81-xdist350-coverage75 (macos)'
148220
python: '3.12'
149221
toxpython: 'python3.12'
150222
python_arch: 'x64'
151-
tox_env: 'py312-pytest81-xdist350-coverage74'
223+
tox_env: 'py312-pytest81-xdist350-coverage75'
152224
os: 'macos-latest'
153-
- name: 'pypy38-pytest81-xdist350-coverage74 (ubuntu)'
225+
- name: 'py312-pytest81-xdist350-coverage76 (ubuntu)'
226+
python: '3.12'
227+
toxpython: 'python3.12'
228+
python_arch: 'x64'
229+
tox_env: 'py312-pytest81-xdist350-coverage76'
230+
os: 'ubuntu-latest'
231+
- name: 'py312-pytest81-xdist350-coverage76 (windows)'
232+
python: '3.12'
233+
toxpython: 'python3.12'
234+
python_arch: 'x64'
235+
tox_env: 'py312-pytest81-xdist350-coverage76'
236+
os: 'windows-latest'
237+
- name: 'py312-pytest81-xdist350-coverage76 (macos)'
238+
python: '3.12'
239+
toxpython: 'python3.12'
240+
python_arch: 'x64'
241+
tox_env: 'py312-pytest81-xdist350-coverage76'
242+
os: 'macos-latest'
243+
- name: 'pypy38-pytest81-xdist350-coverage75 (ubuntu)'
244+
python: 'pypy-3.8'
245+
toxpython: 'pypy3.8'
246+
python_arch: 'x64'
247+
tox_env: 'pypy38-pytest81-xdist350-coverage75'
248+
os: 'ubuntu-latest'
249+
- name: 'pypy38-pytest81-xdist350-coverage75 (windows)'
250+
python: 'pypy-3.8'
251+
toxpython: 'pypy3.8'
252+
python_arch: 'x64'
253+
tox_env: 'pypy38-pytest81-xdist350-coverage75'
254+
os: 'windows-latest'
255+
- name: 'pypy38-pytest81-xdist350-coverage75 (macos)'
256+
python: 'pypy-3.8'
257+
toxpython: 'pypy3.8'
258+
python_arch: 'x64'
259+
tox_env: 'pypy38-pytest81-xdist350-coverage75'
260+
os: 'macos-latest'
261+
- name: 'pypy38-pytest81-xdist350-coverage76 (ubuntu)'
154262
python: 'pypy-3.8'
155263
toxpython: 'pypy3.8'
156264
python_arch: 'x64'
157-
tox_env: 'pypy38-pytest81-xdist350-coverage74'
265+
tox_env: 'pypy38-pytest81-xdist350-coverage76'
158266
os: 'ubuntu-latest'
159-
- name: 'pypy38-pytest81-xdist350-coverage74 (windows)'
267+
- name: 'pypy38-pytest81-xdist350-coverage76 (windows)'
160268
python: 'pypy-3.8'
161269
toxpython: 'pypy3.8'
162270
python_arch: 'x64'
163-
tox_env: 'pypy38-pytest81-xdist350-coverage74'
271+
tox_env: 'pypy38-pytest81-xdist350-coverage76'
164272
os: 'windows-latest'
165-
- name: 'pypy38-pytest81-xdist350-coverage74 (macos)'
273+
- name: 'pypy38-pytest81-xdist350-coverage76 (macos)'
166274
python: 'pypy-3.8'
167275
toxpython: 'pypy3.8'
168276
python_arch: 'x64'
169-
tox_env: 'pypy38-pytest81-xdist350-coverage74'
277+
tox_env: 'pypy38-pytest81-xdist350-coverage76'
170278
os: 'macos-latest'
171-
- name: 'pypy39-pytest81-xdist350-coverage74 (ubuntu)'
279+
- name: 'pypy39-pytest81-xdist350-coverage75 (ubuntu)'
172280
python: 'pypy-3.9'
173281
toxpython: 'pypy3.9'
174282
python_arch: 'x64'
175-
tox_env: 'pypy39-pytest81-xdist350-coverage74'
283+
tox_env: 'pypy39-pytest81-xdist350-coverage75'
176284
os: 'ubuntu-latest'
177-
- name: 'pypy39-pytest81-xdist350-coverage74 (windows)'
285+
- name: 'pypy39-pytest81-xdist350-coverage75 (windows)'
178286
python: 'pypy-3.9'
179287
toxpython: 'pypy3.9'
180288
python_arch: 'x64'
181-
tox_env: 'pypy39-pytest81-xdist350-coverage74'
289+
tox_env: 'pypy39-pytest81-xdist350-coverage75'
182290
os: 'windows-latest'
183-
- name: 'pypy39-pytest81-xdist350-coverage74 (macos)'
291+
- name: 'pypy39-pytest81-xdist350-coverage75 (macos)'
184292
python: 'pypy-3.9'
185293
toxpython: 'pypy3.9'
186294
python_arch: 'x64'
187-
tox_env: 'pypy39-pytest81-xdist350-coverage74'
295+
tox_env: 'pypy39-pytest81-xdist350-coverage75'
296+
os: 'macos-latest'
297+
- name: 'pypy39-pytest81-xdist350-coverage76 (ubuntu)'
298+
python: 'pypy-3.9'
299+
toxpython: 'pypy3.9'
300+
python_arch: 'x64'
301+
tox_env: 'pypy39-pytest81-xdist350-coverage76'
302+
os: 'ubuntu-latest'
303+
- name: 'pypy39-pytest81-xdist350-coverage76 (windows)'
304+
python: 'pypy-3.9'
305+
toxpython: 'pypy3.9'
306+
python_arch: 'x64'
307+
tox_env: 'pypy39-pytest81-xdist350-coverage76'
308+
os: 'windows-latest'
309+
- name: 'pypy39-pytest81-xdist350-coverage76 (macos)'
310+
python: 'pypy-3.9'
311+
toxpython: 'pypy3.9'
312+
python_arch: 'x64'
313+
tox_env: 'pypy39-pytest81-xdist350-coverage76'
314+
os: 'macos-latest'
315+
- name: 'pypy310-pytest81-xdist350-coverage75 (ubuntu)'
316+
python: 'pypy-3.10'
317+
toxpython: 'pypy3.10'
318+
python_arch: 'x64'
319+
tox_env: 'pypy310-pytest81-xdist350-coverage75'
320+
os: 'ubuntu-latest'
321+
- name: 'pypy310-pytest81-xdist350-coverage75 (windows)'
322+
python: 'pypy-3.10'
323+
toxpython: 'pypy3.10'
324+
python_arch: 'x64'
325+
tox_env: 'pypy310-pytest81-xdist350-coverage75'
326+
os: 'windows-latest'
327+
- name: 'pypy310-pytest81-xdist350-coverage75 (macos)'
328+
python: 'pypy-3.10'
329+
toxpython: 'pypy3.10'
330+
python_arch: 'x64'
331+
tox_env: 'pypy310-pytest81-xdist350-coverage75'
188332
os: 'macos-latest'
189-
- name: 'pypy310-pytest81-xdist350-coverage74 (ubuntu)'
333+
- name: 'pypy310-pytest81-xdist350-coverage76 (ubuntu)'
190334
python: 'pypy-3.10'
191335
toxpython: 'pypy3.10'
192336
python_arch: 'x64'
193-
tox_env: 'pypy310-pytest81-xdist350-coverage74'
337+
tox_env: 'pypy310-pytest81-xdist350-coverage76'
194338
os: 'ubuntu-latest'
195-
- name: 'pypy310-pytest81-xdist350-coverage74 (windows)'
339+
- name: 'pypy310-pytest81-xdist350-coverage76 (windows)'
196340
python: 'pypy-3.10'
197341
toxpython: 'pypy3.10'
198342
python_arch: 'x64'
199-
tox_env: 'pypy310-pytest81-xdist350-coverage74'
343+
tox_env: 'pypy310-pytest81-xdist350-coverage76'
200344
os: 'windows-latest'
201-
- name: 'pypy310-pytest81-xdist350-coverage74 (macos)'
345+
- name: 'pypy310-pytest81-xdist350-coverage76 (macos)'
202346
python: 'pypy-3.10'
203347
toxpython: 'pypy3.10'
204348
python_arch: 'x64'
205-
tox_env: 'pypy310-pytest81-xdist350-coverage74'
349+
tox_env: 'pypy310-pytest81-xdist350-coverage76'
206350
os: 'macos-latest'
207351
steps:
208352
- uses: actions/checkout@v4

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ def run(self):
127127
python_requires='>=3.8',
128128
install_requires=[
129129
'pytest>=4.6',
130-
'coverage[toml]>=5.2.1',
130+
'coverage[toml]>=7.5',
131131
],
132132
extras_require={
133133
'testing': [

0 commit comments

Comments
 (0)