|
5 | 5 | from _pytest.compat import MODULE_NOT_FOUND_ERROR
|
6 | 6 | from _pytest.doctest import _get_checker
|
7 | 7 | from _pytest.doctest import _is_mocked
|
| 8 | +from _pytest.doctest import _is_setup_py |
8 | 9 | from _pytest.doctest import _patch_unwrap_mock_aware
|
9 | 10 | from _pytest.doctest import DoctestItem
|
10 | 11 | from _pytest.doctest import DoctestModule
|
@@ -1487,3 +1488,27 @@ def test_warning_on_unwrap_of_broken_object(stop):
|
1487 | 1488 | with pytest.raises(KeyError):
|
1488 | 1489 | inspect.unwrap(bad_instance, stop=stop)
|
1489 | 1490 | assert inspect.unwrap.__module__ == "inspect"
|
| 1491 | + |
| 1492 | + |
| 1493 | +def test_is_setup_py_not_named_setup_py(tmpdir): |
| 1494 | + not_setup_py = tmpdir.join("not_setup.py") |
| 1495 | + not_setup_py.write('from setuptools import setup; setup(name="foo")') |
| 1496 | + assert not _is_setup_py(not_setup_py) |
| 1497 | + |
| 1498 | + |
| 1499 | +@pytest.mark.parametrize("mod", ("setuptools", "distutils.core")) |
| 1500 | +def test_is_setup_py_is_a_setup_py(tmpdir, mod): |
| 1501 | + setup_py = tmpdir.join("setup.py") |
| 1502 | + setup_py.write('from {} import setup; setup(name="foo")'.format(mod)) |
| 1503 | + assert _is_setup_py(setup_py) |
| 1504 | + |
| 1505 | + |
| 1506 | +@pytest.mark.parametrize("mod", ("setuptools", "distutils.core")) |
| 1507 | +def test_is_setup_py_different_encoding(tmpdir, mod): |
| 1508 | + setup_py = tmpdir.join("setup.py") |
| 1509 | + contents = ( |
| 1510 | + "# -*- coding: cp1252 -*-\n" |
| 1511 | + 'from {} import setup; setup(name="foo", description="€")\n'.format(mod) |
| 1512 | + ) |
| 1513 | + setup_py.write_binary(contents.encode("cp1252")) |
| 1514 | + assert _is_setup_py(setup_py) |
0 commit comments