Skip to content

Commit dcf2225

Browse files
committed
make the error message when a @Do generator yields a non-Effect very slightly better
1 parent 0755b30 commit dcf2225

2 files changed

Lines changed: 6 additions & 6 deletions

File tree

effect/do.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,4 +97,4 @@ def _do(result, generator, is_error):
9797
else:
9898
raise TypeError(
9999
"@do functions must only yield Effects or results of do_return. "
100-
"Got %r" % (val,))
100+
"Got %r from %r" % (val, generator))

effect/test_do.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,11 @@ def test_yield_non_effect(self):
5656
def f():
5757
yield 1
5858
result = f()
59-
self.assertThat(
60-
lambda: perf(result),
61-
raises(TypeError(
62-
"@do functions must only yield Effects or results of "
63-
"do_return. Got 1")))
59+
e = self.assertRaises(TypeError, lambda: perf(result))
60+
self.assertTrue(
61+
str(e).startswith(
62+
'@do functions must only yield Effects or results of '
63+
'do_return. Got 1 from <generator object f at'))
6464

6565
def test_raise_from_effect(self):
6666
"""

0 commit comments

Comments
 (0)