-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_pkgresources.py
33 lines (25 loc) · 1008 Bytes
/
test_pkgresources.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
from . import data
import pkg_resources
import pytest
@pytest.mark.parametrize("marker", [x for x in data.markers])
def test_pkg_resources(marker):
req = "foo==1.1;" + marker + "=='2.1'"
req, mark = req.split(";")
pkg_resources.Requirement.parse(req)
pkg_resources.evaluate_marker(mark)
@pytest.mark.parametrize("marker", [x for x in data.markers])
def test_pkg_resources_no_parser(marker):
if not hasattr(pkg_resources, "MarkerEvaluation"):
pytest.skip("no markerlib variant")
parser = pkg_resources.parser
evaluate_marker = pkg_resources.evaluate_marker
del pkg_resources.parser
pkg_resources.evaluate_marker = pkg_resources.MarkerEvaluation._markerlib_evaluate
try:
req = "foo==1.1;" + marker + "=='2.1'"
req, mark = req.split(";")
pkg_resources.Requirement.parse(req)
pkg_resources.evaluate_marker(mark)
finally:
pkg_resources.parser = parser
pkg_resources.evaluate_marker = evaluate_marker