Skip to content

Commit

Permalink
Remove 'main' function from 'easy_install'.
Browse files Browse the repository at this point in the history
  • Loading branch information
jaraco committed Jan 24, 2021
1 parent 4b0408a commit 2885ca2
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 52 deletions.
46 changes: 1 addition & 45 deletions setuptools/command/easy_install.py
Expand Up @@ -67,7 +67,7 @@

__all__ = [
'samefile', 'easy_install', 'PthDistributions', 'extract_wininst_cfg',
'main', 'get_exe_prefixes',
'get_exe_prefixes',
]


Expand Down Expand Up @@ -2284,50 +2284,6 @@ def current_umask():
return tmp


def main(argv=None, **kw):
from setuptools import setup
from setuptools.dist import Distribution

class DistributionWithoutHelpCommands(Distribution):
common_usage = ""

def _show_help(self, *args, **kw):
with _patch_usage():
Distribution._show_help(self, *args, **kw)

if argv is None:
argv = sys.argv[1:]

with _patch_usage():
setup(
script_args=['-q', 'easy_install', '-v'] + argv,
script_name=sys.argv[0] or 'easy_install',
distclass=DistributionWithoutHelpCommands,
**kw
)


@contextlib.contextmanager
def _patch_usage():
import distutils.core
USAGE = textwrap.dedent("""
usage: %(script)s [options] requirement_or_url ...
or: %(script)s --help
""").lstrip()

def gen_usage(script_name):
return USAGE % dict(
script=os.path.basename(script_name),
)

saved = distutils.core.gen_usage
distutils.core.gen_usage = gen_usage
try:
yield
finally:
distutils.core.gen_usage = saved


class EasyInstallDeprecationWarning(SetuptoolsDeprecationWarning):
"""
Warning for EasyInstall deprecations, bypassing suppression.
Expand Down
13 changes: 6 additions & 7 deletions setuptools/tests/test_easy_install.py
Expand Up @@ -15,6 +15,7 @@
import mock
import time
import re
import subprocess

import pytest

Expand All @@ -25,7 +26,6 @@
EasyInstallDeprecationWarning, ScriptWriter, PthDistributions,
WindowsScriptWriter,
)
from setuptools.command import easy_install as easy_install_pkg
from setuptools.dist import Distribution
from pkg_resources import normalize_path, working_set
from pkg_resources import Distribution as PRDistribution
Expand Down Expand Up @@ -461,17 +461,16 @@ def test_setup_requires_honors_fetch_params(self, mock_index, monkeypatch):
with TestSetupRequires.create_sdist() as dist_file:
with contexts.tempdir() as temp_install_dir:
with contexts.environment(PYTHONPATH=temp_install_dir):
ei_params = [
cmd = [
sys.executable,
'-m', 'setup',
'easy_install',
'--index-url', mock_index.url,
'--exclude-scripts',
'--install-dir', temp_install_dir,
dist_file,
]
with sandbox.save_argv(['easy_install']):
# attempt to install the dist. It should
# fail because it doesn't exist.
with pytest.raises(SystemExit):
easy_install_pkg.main(ei_params)
subprocess.Popen(cmd).wait()
# there should have been one requests to the server
assert [r.path for r in mock_index.requests] == ['/does-not-exist/']

Expand Down

0 comments on commit 2885ca2

Please sign in to comment.