Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix tests post rebase
  • Loading branch information
loic-simon committed Jan 5, 2026
commit 134fd78a934838ad1950bae20d930f5b85d535a7
26 changes: 13 additions & 13 deletions Lib/test/test_pyrepl/test_pyrepl.py
Original file line number Diff line number Diff line change
Expand Up @@ -1009,7 +1009,6 @@ def test_private_completions(self):
ModuleInfo(None, "_private", True),
],
)
@patch.dict(sys.modules, {"foo": object()}) # don't propose to import it
def test_sub_module_private_completions(self):
cases = (
# Return public methods by default
Expand Down Expand Up @@ -1288,19 +1287,20 @@ def test_attribute_completion_error_on_import(self):
self.assertEqual(output, expected)
self.assertNotIn("boom", sys.modules)

@patch.dict(sys.modules)
def test_attribute_completion_error_on_attributes_access(self):
class BrokenModule:
def __dir__(self):
raise ValueError("boom")

with (patch.dict(sys.modules, {"boom": BrokenModule()}),
patch("_pyrepl._module_completer.ModuleCompleter.iter_submodules",
lambda *_: [ModuleInfo(None, "submodule", False)])):
events = code_to_events("from boom import \t\n")
reader = self.prepare_reader(events, namespace={})
output = reader.readline()
# ignore attributes, just propose submodule
self.assertEqual(output, "from boom import submodule")
with tempfile.TemporaryDirectory() as _dir:
dir = pathlib.Path(_dir)
(dir / "boom").mkdir()
(dir / "boom"/"__init__.py").write_text("def __dir__(): raise ValueError()")
(dir / "boom"/"submodule.py").touch()
with patch.object(sys, "path", [_dir, *sys.path]):
events = code_to_events("from boom import \t\t\n") # trigger import
reader = self.prepare_reader(events, namespace={})
output = reader.readline()
self.assertIn("boom", sys.modules)
# ignore attributes, just propose submodule
self.assertEqual(output, "from boom import submodule")

@patch.dict(sys.modules)
def test_attribute_completion_private_and_invalid_names(self):
Expand Down
Loading