def test_check_only_glob(tmp_path, capsys): setup_py = tmp_path / "setup.py" setup_py.write_text(textwrap.dedent("""\ from setuptools import setup setup( name='foo', classifiers=[ 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.6', ], ) """)) workflow1_yml = tmp_path / ".github/workflows/one.yml" workflow1_yml.parent.mkdir(parents=True) workflow1_yml.write_text(textwrap.dedent("""\ jobs: test: strategy: matrix: python-version: [3.6] """)) assert cpv.check_versions(tmp_path, only={'.github/workflows/*.yml'}) result = capsys.readouterr().out.replace(os.path.sep, '/') assert result == textwrap.dedent("""\ .github/workflows/one.yml says: 3.6 """)
def test_check_mismatch_pypy(tmp_path, capsys): setup_py = tmp_path / "setup.py" setup_py.write_text( textwrap.dedent("""\ from setuptools import setup setup( name='foo', classifiers=[ 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.6', 'Programming Language :: Python :: Implementation :: PyPy', ], ) """)) tox_ini = tmp_path / "tox.ini" tox_ini.write_text( textwrap.dedent("""\ [tox] envlist = py27, py36, pypy """)) assert cpv.check_versions(tmp_path) is False assert capsys.readouterr().out == textwrap.dedent("""\ setup.py says: 2.7, 3.6, PyPy, PyPy3 tox.ini says: 2.7, 3.6, PyPy """)
def test_check_unknown(tmp_path, capsys): setup_py = tmp_path / "setup.py" setup_py.write_text(textwrap.dedent("""\ from setuptools import setup setup( name='foo', ) """)) assert cpv.check_versions(tmp_path) is True assert capsys.readouterr().out == textwrap.dedent("""\ setup.py says: (empty) """)
def test_check_minimal(tmp_path, capsys): setup_py = tmp_path / "setup.py" setup_py.write_text(textwrap.dedent("""\ from setuptools import setup setup( name='foo', classifiers=[ 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.6', ], ) """)) assert cpv.check_versions(tmp_path) is True assert capsys.readouterr().out == textwrap.dedent("""\ setup.py says: 2.7, 3.6 """)
def test_check_only_nothing_matches(tmp_path, capsys): setup_py = tmp_path / "setup.py" setup_py.write_text(textwrap.dedent("""\ from setuptools import setup setup( name='foo', classifiers=[ 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.6', ], ) """)) assert not cpv.check_versions(tmp_path, only={'nosuchfile'}) assert capsys.readouterr().out == textwrap.dedent("""\ no file with version information found """)
def test_check_expectation(tmp_path, capsys): setup_py = tmp_path / "setup.py" setup_py.write_text(textwrap.dedent("""\ from setuptools import setup setup( name='foo', classifiers=[ 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.6', ], ) """)) assert cpv.check_versions(tmp_path, expect=['2.7', '3.6', '3.7']) is False assert capsys.readouterr().out == textwrap.dedent("""\ setup.py says: 2.7, 3.6 expected: 2.7, 3.6, 3.7 """)
def test_check_only(tmp_path, capsys): setup_py = tmp_path / "setup.py" setup_py.write_text(textwrap.dedent("""\ from setuptools import setup setup( name='foo', classifiers=[ 'Programming Language :: Python :: 2.7', 'Programming Language :: Python :: 3.6', ], ) """)) tox_ini = tmp_path / "tox.ini" tox_ini.write_text(textwrap.dedent("""\ [tox] envlist = py27 """)) assert cpv.check_versions(tmp_path, only='tox.ini') assert capsys.readouterr().out == textwrap.dedent("""\ tox.ini says: 2.7 """)