diff --git a/test/run.py b/test/run.py index 86ca19ca..5d1132ea 100755 --- a/test/run.py +++ b/test/run.py @@ -104,10 +104,7 @@ import os import re import sys import operator -if sys.version_info < (3, 8): - literal_eval = eval -else: - from ast import literal_eval +from ast import literal_eval from io import StringIO from functools import reduce from unittest.mock import ANY diff --git a/test/test_api/test_call_signatures.py b/test/test_api/test_call_signatures.py index e8741671..a9a979bc 100644 --- a/test/test_api/test_call_signatures.py +++ b/test/test_api/test_call_signatures.py @@ -420,7 +420,7 @@ _calls = [ (code1, 'f(a,b,xy', 4), (code1, 'f(a,b,xyz=', 4), (code1, 'f(a,b,xy=', None), - (code1, 'f(u=', (0, None)), + (code1, 'f(u=', None), (code1, 'f(v=', 1), # **kwargs @@ -438,7 +438,7 @@ _calls = [ (code2, 'g(a,b,abc=1,abd=4,abd=', 5), (code2, 'g(a,b,kw', 5), (code2, 'g(a,b,kwargs=', 5), - (code2, 'g(u=', (0, 5)), + (code2, 'g(u=', 5), (code2, 'g(v=', 1), # *args @@ -450,7 +450,7 @@ _calls = [ (code3, 'h(a,b,c,(3,)', 2), (code3, 'h(a,b,args=', None), (code3, 'h(u,v=', 1), - (code3, 'h(u=', (0, None)), + (code3, 'h(u=', None), (code3, 'h(u,*xxx', 1), (code3, 'h(u,*xxx,*yyy', 1), (code3, 'h(u,*[]', 1), @@ -483,7 +483,7 @@ _calls = [ (code4, 'i(1, [a?b,*', 2), (code4, 'i(?b,*r,c', 1), (code4, 'i(?*', 0), - (code4, 'i(?**', (0, 1)), + (code4, 'i(?**', 1), # Random (code4, 'i(()', 0), @@ -497,11 +497,6 @@ _calls = [ @pytest.mark.parametrize('ending', ['', ')']) @pytest.mark.parametrize('code, call, expected_index', _calls) def test_signature_index(Script, environment, code, call, expected_index, ending): - if isinstance(expected_index, tuple): - expected_index = expected_index[environment.version_info > (3, 8)] - if environment.version_info < (3, 8): - code = code.replace('/,', '') - sig, = Script(code + '\n' + call + ending).get_signatures(column=len(call)) index = sig.index assert expected_index == index diff --git a/test/test_inference/test_signature.py b/test/test_inference/test_signature.py index edac7f26..bbba69c6 100644 --- a/test/test_inference/test_signature.py +++ b/test/test_inference/test_signature.py @@ -123,10 +123,6 @@ class X: ] ) def test_tree_signature(Script, environment, code, expected): - # Only test this in the latest version, because of / - if environment.version_info < (3, 8): - pytest.skip() - if expected is None: assert not Script(code).get_signatures() else: @@ -249,18 +245,11 @@ def test_pow_signature(Script, environment): # See github #1357 sigs = Script('pow(').get_signatures() strings = {sig.to_string() for sig in sigs} - if environment.version_info < (3, 8): - assert strings == {'pow(base: _SupportsPow2[_E, _T_co], exp: _E, /) -> _T_co', - 'pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M, /) -> _T_co', - 'pow(base: float, exp: float, mod: None=..., /) -> float', - 'pow(base: int, exp: int, mod: None=..., /) -> Any', - 'pow(base: int, exp: int, mod: int, /) -> int'} - else: - assert strings == {'pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co', - 'pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co', - 'pow(base: float, exp: float, mod: None=...) -> float', - 'pow(base: int, exp: int, mod: None=...) -> Any', - 'pow(base: int, exp: int, mod: int) -> int'} + assert strings == {'pow(base: _SupportsPow2[_E, _T_co], exp: _E) -> _T_co', + 'pow(base: _SupportsPow3[_E, _M, _T_co], exp: _E, mod: _M) -> _T_co', + 'pow(base: float, exp: float, mod: None=...) -> float', + 'pow(base: int, exp: int, mod: None=...) -> Any', + 'pow(base: int, exp: int, mod: int) -> int'} @pytest.mark.parametrize( @@ -408,13 +397,8 @@ def test_wraps_signature(Script, code, signature): def test_dataclass_signature( Script, start, start_params, include_params, environment ): - if environment.version_info < (3, 8): - # Final is not yet supported - price_type = "float" - price_type_infer = "float" - else: - price_type = "Final[float]" - price_type_infer = "object" + price_type = "Final[float]" + price_type_infer = "object" code = dedent( f""" @@ -731,13 +715,8 @@ def test_extensions_dataclass_transform_signature( if not has_typing_ext: raise pytest.skip("typing_extensions needed in target environment to run this test") - if environment.version_info < (3, 8): - # Final is not yet supported - price_type = "float" - price_type_infer = "float" - else: - price_type = "Final[float]" - price_type_infer = "object" + price_type = "Final[float]" + price_type_infer = "object" code = dedent( f""" diff --git a/test/test_integration.py b/test/test_integration.py index 0364c05b..4415d3a8 100644 --- a/test/test_integration.py +++ b/test/test_integration.py @@ -53,30 +53,22 @@ def test_completion(case, monkeypatch, environment, has_django): # ... and mock the entry points to include it # see https://docs.pytest.org/en/stable/how-to/writing_plugins.html#setuptools-entry-points - if sys.version_info >= (3, 8): - def mock_entry_points(*, group=None): - import importlib.metadata - entries = [importlib.metadata.EntryPoint( - name=None, - value="pytest_plugin.plugin", - group="pytest11", - )] + def mock_entry_points(*, group=None): + import importlib.metadata + entries = [importlib.metadata.EntryPoint( + name=None, + value="pytest_plugin.plugin", + group="pytest11", + )] - if sys.version_info >= (3, 10): - assert group == "pytest11" - return entries - else: - assert group is None - return {"pytest11": entries} - - monkeypatch.setattr("importlib.metadata.entry_points", mock_entry_points) - else: - def mock_iter_entry_points(group): + if sys.version_info >= (3, 10): assert group == "pytest11" - EntryPoint = namedtuple("EntryPoint", ["module_name"]) - return [EntryPoint("pytest_plugin.plugin")] + return entries + else: + assert group is None + return {"pytest11": entries} - monkeypatch.setattr("pkg_resources.iter_entry_points", mock_iter_entry_points) + monkeypatch.setattr("importlib.metadata.entry_points", mock_entry_points) repo_root = helpers.root_dir monkeypatch.chdir(os.path.join(repo_root, 'jedi'))