Skip to content

Commit fe49e23

Browse files
authored
Fix failing tests due to new version of typeshed-client (#740)
1 parent 18779d0 commit fe49e23

File tree

4 files changed

+13
-10
lines changed

4 files changed

+13
-10
lines changed

CHANGELOG.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ Fixed
2323
<https://github.com/omni-us/jsonargparse/pull/728>`__).
2424
- ArgumentParser with dashes incorrectly resolves paths to default values (`#736
2525
<https://github.com/omni-us/jsonargparse/pull/736>`__).
26+
- Fix failing tests due to new version of ``typeshed-client`` (`#740
27+
<https://github.com/omni-us/jsonargparse/pull/740>`__).
2628

2729

2830
v4.40.0 (2025-05-16)

jsonargparse/_stubs_resolver.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -157,11 +157,9 @@ def get_component_imported_info(self, component, parent) -> Optional[tc.Imported
157157
stub_import = parent and self.get_imported_info(f"{parent.__module__}.{parent.__name__}", component)
158158
if stub_import and isinstance(stub_import.info.ast, ast.AST):
159159
method_ast = MethodsVisitor().find(stub_import.info.ast, component.__name__)
160-
if method_ast is None:
161-
stub_import = None
162-
else:
163-
name_info = tc.NameInfo(name=component.__qualname__, is_exported=False, ast=method_ast)
164-
stub_import = tc.ImportedInfo(source_module=stub_import.source_module, info=name_info)
160+
assert method_ast
161+
name_info = tc.NameInfo(name=component.__qualname__, is_exported=False, ast=method_ast)
162+
stub_import = tc.ImportedInfo(source_module=stub_import.source_module, info=name_info)
165163
return stub_import
166164

167165
def get_aliases(self, imported_info: tc.ImportedInfo):

jsonargparse_tests/test_stubs_resolver.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -144,9 +144,9 @@ def test_get_params_conditional_python_version():
144144
assert [("a", inspect._empty), ("version", inspect._empty)] == get_param_types(params)
145145

146146

147-
@patch("jsonargparse._stubs_resolver.exec")
148-
def test_get_params_exec_failure(mock_exec):
149-
mock_exec.side_effect = NameError("failed")
147+
@patch("jsonargparse._parameter_resolvers.get_stub_types")
148+
def test_get_params_exec_failure(mock_get_stub_types):
149+
mock_get_stub_types.return_value = None
150150
params = get_params(Random, "seed")
151151
assert [("a", inspect._empty), ("version", inspect._empty)] == get_param_types(params)
152152

@@ -172,7 +172,9 @@ def test_get_params_classmethod():
172172
expected = expected[:4] + ["compresslevel"] + expected[4:]
173173
assert expected == get_param_names(params)[: len(expected)]
174174
if sys.version_info >= (3, 10):
175-
assert all(p.annotation is not inspect._empty for p in params if p.name not in {"compresslevel", "stream"})
175+
assert all(
176+
p.annotation is not inspect._empty for p in params if p.name not in {"fileobj", "compresslevel", "stream"}
177+
)
176178
with mock_stubs_missing_types():
177179
params = get_params(TarFile, "open")
178180
assert expected == get_param_names(params)[: len(expected)]

pyproject.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ all = [
5252
signatures = [
5353
"jsonargparse[typing-extensions]",
5454
"docstring-parser>=0.15",
55-
"typeshed-client>=2.3.0",
55+
"typeshed-client>=2.3.0; python_version == '3.8'",
56+
"typeshed-client>=2.8.2; python_version >= '3.9'",
5657
]
5758
jsonschema = [
5859
"jsonschema>=3.2.0",

0 commit comments

Comments
 (0)