init
This commit is contained in:
commit
38355d2442
9083 changed files with 1225834 additions and 0 deletions
73
.venv/lib/python3.8/site-packages/mypy/test/testargs.py
Normal file
73
.venv/lib/python3.8/site-packages/mypy/test/testargs.py
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
"""Ensure the argparse parser and Options class are in sync.
|
||||
|
||||
In particular, verify that the argparse defaults are the same as the Options
|
||||
defaults, and that argparse doesn't assign any new members to the Options
|
||||
object it creates.
|
||||
"""
|
||||
import argparse
|
||||
import sys
|
||||
|
||||
from mypy.test.helpers import Suite, assert_equal
|
||||
from mypy.options import Options
|
||||
from mypy.main import process_options, infer_python_executable
|
||||
|
||||
|
||||
class ArgSuite(Suite):
|
||||
def test_coherence(self) -> None:
|
||||
options = Options()
|
||||
_, parsed_options = process_options([], require_targets=False)
|
||||
# FIX: test this too. Requires changing working dir to avoid finding 'setup.cfg'
|
||||
options.config_file = parsed_options.config_file
|
||||
assert_equal(options.snapshot(), parsed_options.snapshot())
|
||||
|
||||
def test_executable_inference(self) -> None:
|
||||
"""Test the --python-executable flag with --python-version"""
|
||||
sys_ver_str = '{ver.major}.{ver.minor}'.format(ver=sys.version_info)
|
||||
|
||||
base = ['file.py'] # dummy file
|
||||
|
||||
# test inference given one (infer the other)
|
||||
matching_version = base + ['--python-version={}'.format(sys_ver_str)]
|
||||
_, options = process_options(matching_version)
|
||||
assert options.python_version == sys.version_info[:2]
|
||||
assert options.python_executable == sys.executable
|
||||
|
||||
matching_version = base + ['--python-executable={}'.format(sys.executable)]
|
||||
_, options = process_options(matching_version)
|
||||
assert options.python_version == sys.version_info[:2]
|
||||
assert options.python_executable == sys.executable
|
||||
|
||||
# test inference given both
|
||||
matching_version = base + ['--python-version={}'.format(sys_ver_str),
|
||||
'--python-executable={}'.format(sys.executable)]
|
||||
_, options = process_options(matching_version)
|
||||
assert options.python_version == sys.version_info[:2]
|
||||
assert options.python_executable == sys.executable
|
||||
|
||||
# test that --no-site-packages will disable executable inference
|
||||
matching_version = base + ['--python-version={}'.format(sys_ver_str),
|
||||
'--no-site-packages']
|
||||
_, options = process_options(matching_version)
|
||||
assert options.python_version == sys.version_info[:2]
|
||||
assert options.python_executable is None
|
||||
|
||||
# Test setting python_version/executable from config file
|
||||
special_opts = argparse.Namespace()
|
||||
special_opts.python_executable = None
|
||||
special_opts.python_version = None
|
||||
special_opts.no_executable = None
|
||||
|
||||
# first test inferring executable from version
|
||||
options = Options()
|
||||
options.python_executable = None
|
||||
options.python_version = sys.version_info[:2]
|
||||
infer_python_executable(options, special_opts)
|
||||
assert options.python_version == sys.version_info[:2]
|
||||
assert options.python_executable == sys.executable
|
||||
|
||||
# then test inferring version from executable
|
||||
options = Options()
|
||||
options.python_executable = sys.executable
|
||||
infer_python_executable(options, special_opts)
|
||||
assert options.python_version == sys.version_info[:2]
|
||||
assert options.python_executable == sys.executable
|
||||
Loading…
Add table
Add a link
Reference in a new issue