Esempio n. 1
0
def test_update_versions(tmp_path, monkeypatch):
    monkeypatch.setattr(sys, 'stdin', StringIO('y\n'))
    (tmp_path / "setup.py").write_text(
        textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            classifiers=[
                'Programming Language :: Python :: 2.7',
                'Programming Language :: Python :: 3.6',
            ],
        )
    """))
    cpv.update_versions(tmp_path, add=['3.7'])
    assert (tmp_path / "setup.py").read_text() == textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            classifiers=[
                'Programming Language :: Python :: 2.7',
                'Programming Language :: Python :: 3.6',
                'Programming Language :: Python :: 3.7',
            ],
        )
    """)
Esempio n. 2
0
def test_update_versions_no_change(tmp_path):
    (tmp_path / "setup.py").write_text(textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            classifiers=[
                'Programming Language :: Python :: 2.7',
                'Programming Language :: Python :: 3.6',
            ],
        )
    """))
    cpv.update_versions(tmp_path, add=['3.6'])
Esempio n. 3
0
def test_update_versions_dry_run(tmp_path):
    (tmp_path / "setup.py").write_text(
        textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            classifiers=[
                'Programming Language :: Python :: 2.7',
                'Programming Language :: Python :: 3.6',
            ],
        )
    """))
    replacements = cpv.update_versions(tmp_path, add=['3.7'], dry_run=True)
    assert (tmp_path / "setup.py").read_text() == textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            classifiers=[
                'Programming Language :: Python :: 2.7',
                'Programming Language :: Python :: 3.6',
            ],
        )
    """)
    filename = str(tmp_path / "setup.py")
    assert "".join(replacements[filename]) == textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            classifiers=[
                'Programming Language :: Python :: 2.7',
                'Programming Language :: Python :: 3.6',
                'Programming Language :: Python :: 3.7',
            ],
        )
    """)
Esempio n. 4
0
def test_update_versions_diff(tmp_path, capsys):
    (tmp_path / "setup.py").write_text(
        textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            classifiers=[
                'Programming Language :: Python :: 2.7',
                'Programming Language :: Python :: 3.6',
            ],
        )
    """))
    cpv.update_versions(tmp_path, add=['3.7'], diff=True)
    assert (tmp_path / "setup.py").read_text() == textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            classifiers=[
                'Programming Language :: Python :: 2.7',
                'Programming Language :: Python :: 3.6',
            ],
        )
    """)
    assert (capsys.readouterr().out.replace(
        str(tmp_path) + os.path.sep,
        'tmp/')).expandtabs() == textwrap.dedent("""\
        --- tmp/setup.py        (original)
        +++ tmp/setup.py        (updated)
        @@ -4,5 +4,6 @@
             classifiers=[
                 'Programming Language :: Python :: 2.7',
                 'Programming Language :: Python :: 3.6',
        +        'Programming Language :: Python :: 3.7',
             ],
         )

    """)
Esempio n. 5
0
def test_update_versions_computed(tmp_path):
    (tmp_path / "setup.py").write_text(textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            classifiers=[
                'Programming Language :: Python :: %s' % v
                for v in ['2.7']
            ],
        )
    """))
    replacements = cpv.update_versions(
        tmp_path, add=['3.6'], dry_run=True,
    )
    assert set(replacements) == set()
Esempio n. 6
0
def test_update_versions_dry_run_two_updaters_one_file(
    tmp_path,
    fix_max_python_3_version,
):
    fix_max_python_3_version(7)
    (tmp_path / "setup.py").write_text(
        textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            python_requires='>= 2.7',
            classifiers=[
                'Programming Language :: Python :: 2.7',
                'Programming Language :: Python :: 3.6',
            ],
        )
    """))
    replacements = cpv.update_versions(
        tmp_path,
        update=['2.7', '3.4', '3.5', '3.6', '3.7'],
        dry_run=True,
    )
    assert (tmp_path / "setup.py").read_text() == textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            python_requires='>= 2.7',
            classifiers=[
                'Programming Language :: Python :: 2.7',
                'Programming Language :: Python :: 3.6',
            ],
        )
    """)
    filename = str(tmp_path / "setup.py")
    assert "".join(replacements[filename]) == textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            python_requires='>=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*',
            classifiers=[
                'Programming Language :: Python :: 2.7',
                'Programming Language :: Python :: 3.4',
                'Programming Language :: Python :: 3.5',
                'Programming Language :: Python :: 3.6',
                'Programming Language :: Python :: 3.7',
            ],
        )
    """)
Esempio n. 7
0
def test_update_versions_only(tmp_path):
    (tmp_path / "setup.py").write_text(textwrap.dedent("""\
        from setuptools import setup
        setup(
            name='foo',
            classifiers=[
                'Programming Language :: Python :: 2.7',
            ],
        )
    """))
    tox_ini = tmp_path / "tox.ini"
    tox_ini.write_text(textwrap.dedent("""\
        [tox]
        envlist = py27
    """))
    replacements = cpv.update_versions(
        tmp_path, add=['3.6'], only='tox.ini', dry_run=True,
    )
    assert set(replacements) == {str(tmp_path / 'tox.ini')}