Skip to content

Commit

Permalink
Merge pull request #5910 from cjerdonek/add-create-main-file
Browse files Browse the repository at this point in the history
DRY up the test code that creates a module with a main() function.
  • Loading branch information
pradyunsg committed Oct 23, 2018
2 parents 51819cc + ece4866 commit cc05433
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 19 deletions.
Empty file.
37 changes: 22 additions & 15 deletions tests/lib/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -469,13 +469,26 @@ def assert_all_changes(start_state, end_state, expected_changes):
return diff


def _create_main_file(dir_path, name=None, output=None):
"""
Create a module with a main() function that prints the given output.
"""
if name is None:
name = 'version_pkg'
if output is None:
output = '0.1'
text = textwrap.dedent("""\
def main():
print({!r})
""".format(output))
filename = '{}.py'.format(name)
dir_path.join(filename).write(text)


def _create_test_package_with_subdirectory(script, subdirectory):
script.scratch_path.join("version_pkg").mkdir()
version_pkg_path = script.scratch_path / 'version_pkg'
version_pkg_path.join("version_pkg.py").write(textwrap.dedent("""
def main():
print('0.1')
"""))
_create_main_file(version_pkg_path, name="version_pkg", output="0.1")
version_pkg_path.join("setup.py").write(
textwrap.dedent("""
from setuptools import setup, find_packages
Expand All @@ -488,10 +501,7 @@ def main():

subdirectory_path = version_pkg_path.join(subdirectory)
subdirectory_path.mkdir()
subdirectory_path.join('version_subpkg.py').write(textwrap.dedent("""
def main():
print('0.1')
"""))
_create_main_file(subdirectory_path, name="version_subpkg", output="0.1")

subdirectory_path.join('setup.py').write(
textwrap.dedent("""
Expand Down Expand Up @@ -539,10 +549,7 @@ def _create_test_package_with_srcdir(script, name='version_pkg', vcs='git'):
def _create_test_package(script, name='version_pkg', vcs='git'):
script.scratch_path.join(name).mkdir()
version_pkg_path = script.scratch_path / name
version_pkg_path.join("%s.py" % name).write(textwrap.dedent("""
def main():
print('0.1')
"""))
_create_main_file(version_pkg_path, name=name, output='0.1')
version_pkg_path.join("setup.py").write(textwrap.dedent("""
from setuptools import setup, find_packages
setup(
Expand Down Expand Up @@ -617,9 +624,9 @@ def _create_svn_repo(script, version_pkg_path):


def _change_test_package_version(script, version_pkg_path):
version_pkg_path.join("version_pkg.py").write(textwrap.dedent('''\
def main():
print("some different version")'''))
_create_main_file(
version_pkg_path, name='version_pkg', output='some different version'
)
script.run(
'git', 'clean', '-qfdx',
cwd=version_pkg_path,
Expand Down
7 changes: 3 additions & 4 deletions tests/lib/git_submodule_helpers.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

import textwrap

from tests.lib import _create_main_file


def _create_test_package_submodule(env):
env.scratch_path.join("version_pkg_submodule").mkdir()
Expand Down Expand Up @@ -45,10 +47,7 @@ def _create_test_package_with_submodule(env):
pkg_path = version_pkg_path / 'testpkg'

pkg_path.join("__init__.py").write("# hello there")
pkg_path.join("version_pkg.py").write(textwrap.dedent('''\
def main():
print('0.1')
'''))
_create_main_file(pkg_path, name="version_pkg", output="0.1")
version_pkg_path.join("setup.py").write(textwrap.dedent('''\
from setuptools import setup, find_packages
setup(name='version_pkg',
Expand Down

0 comments on commit cc05433

Please sign in to comment.