Skip to content

Commit 64a14ec

Browse files
authored
Merge pull request RustPython#4362 from rileysu/main
Fix unwrap issue causing panic
2 parents d7e1322 + 8388089 commit 64a14ec

File tree

2 files changed

+26
-28
lines changed

2 files changed

+26
-28
lines changed

Lib/test/test_exceptions.py

Lines changed: 25 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1962,38 +1962,36 @@ def foo():
19621962

19631963
self.assertNotIn("something", err.getvalue())
19641964

1965-
# TODO: RUSTPYTHON
1966-
# def test_issue45826(self):
1967-
# # regression test for bpo-45826
1968-
# def f():
1969-
# with self.assertRaisesRegex(NameError, 'aaa'):
1970-
# aab
1965+
def test_issue45826(self):
1966+
# regression test for bpo-45826
1967+
def f():
1968+
with self.assertRaisesRegex(NameError, 'aaa'):
1969+
aab
19711970

1972-
# try:
1973-
# f()
1974-
# except self.failureException:
1975-
# with support.captured_stderr() as err:
1976-
# sys.__excepthook__(*sys.exc_info())
1971+
try:
1972+
f()
1973+
except self.failureException:
1974+
with support.captured_stderr() as err:
1975+
sys.__excepthook__(*sys.exc_info())
19771976

1978-
# self.assertIn("aab", err.getvalue())
1977+
self.assertIn("aab", err.getvalue())
19791978

1980-
# TODO: RUSTPYTHON
1981-
# def test_issue45826_focused(self):
1982-
# def f():
1983-
# try:
1984-
# nonsense
1985-
# except BaseException as E:
1986-
# E.with_traceback(None)
1987-
# raise ZeroDivisionError()
1979+
def test_issue45826_focused(self):
1980+
def f():
1981+
try:
1982+
nonsense
1983+
except BaseException as E:
1984+
E.with_traceback(None)
1985+
raise ZeroDivisionError()
19881986

1989-
# try:
1990-
# f()
1991-
# except ZeroDivisionError:
1992-
# with support.captured_stderr() as err:
1993-
# sys.__excepthook__(*sys.exc_info())
1987+
try:
1988+
f()
1989+
except ZeroDivisionError:
1990+
with support.captured_stderr() as err:
1991+
sys.__excepthook__(*sys.exc_info())
19941992

1995-
# self.assertIn("nonsense", err.getvalue())
1996-
# self.assertIn("ZeroDivisionError", err.getvalue())
1993+
self.assertIn("nonsense", err.getvalue())
1994+
self.assertIn("ZeroDivisionError", err.getvalue())
19971995

19981996

19991997
class AttributeErrorTests(unittest.TestCase):

vm/src/suggestion.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ pub fn offer_suggestions(exc: &PyBaseExceptionRef, vm: &VirtualMachine) -> Optio
5252
calculate_suggestions(vm.dir(Some(obj)).ok()?.borrow_vec().iter(), &name)
5353
} else if exc.class().is(vm.ctx.exceptions.name_error) {
5454
let name = exc.as_object().to_owned().get_attr("name", vm).unwrap();
55-
let mut tb = exc.traceback().unwrap();
55+
let mut tb = exc.traceback()?;
5656
for traceback in tb.iter() {
5757
tb = traceback;
5858
}

0 commit comments

Comments
 (0)