aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/basics/generator_pend_throw.py26
-rw-r--r--tests/basics/generator_pend_throw.py.exp4
-rwxr-xr-xtests/run-tests2
3 files changed, 31 insertions, 1 deletions
diff --git a/tests/basics/generator_pend_throw.py b/tests/basics/generator_pend_throw.py
new file mode 100644
index 000000000..949655612
--- /dev/null
+++ b/tests/basics/generator_pend_throw.py
@@ -0,0 +1,26 @@
+def gen():
+ i = 0
+ while 1:
+ yield i
+ i += 1
+
+g = gen()
+
+try:
+ g.pend_throw
+except AttributeError:
+ print("SKIP")
+ raise SystemExit
+
+
+print(next(g))
+print(next(g))
+g.pend_throw(ValueError())
+
+v = None
+try:
+ v = next(g)
+except Exception as e:
+ print("raised", repr(e))
+
+print("ret was:", v)
diff --git a/tests/basics/generator_pend_throw.py.exp b/tests/basics/generator_pend_throw.py.exp
new file mode 100644
index 000000000..f9894a089
--- /dev/null
+++ b/tests/basics/generator_pend_throw.py.exp
@@ -0,0 +1,4 @@
+0
+1
+raised ValueError()
+ret was: None
diff --git a/tests/run-tests b/tests/run-tests
index 45cb1a746..8719befbd 100755
--- a/tests/run-tests
+++ b/tests/run-tests
@@ -337,7 +337,7 @@ def run_tests(pyb, tests, args, base_path="."):
# Some tests are known to fail with native emitter
# Remove them from the below when they work
if args.emit == 'native':
- skip_tests.update({'basics/%s.py' % t for t in 'gen_yield_from gen_yield_from_close gen_yield_from_ducktype gen_yield_from_exc gen_yield_from_iter gen_yield_from_send gen_yield_from_stopped gen_yield_from_throw gen_yield_from_throw2 gen_yield_from_throw3 generator1 generator2 generator_args generator_close generator_closure generator_exc generator_return generator_send'.split()}) # require yield
+ skip_tests.update({'basics/%s.py' % t for t in 'gen_yield_from gen_yield_from_close gen_yield_from_ducktype gen_yield_from_exc gen_yield_from_iter gen_yield_from_send gen_yield_from_stopped gen_yield_from_throw gen_yield_from_throw2 gen_yield_from_throw3 generator1 generator2 generator_args generator_close generator_closure generator_exc generator_pend_throw generator_return generator_send'.split()}) # require yield
skip_tests.update({'basics/%s.py' % t for t in 'bytes_gen class_store_class globals_del string_join'.split()}) # require yield
skip_tests.update({'basics/async_%s.py' % t for t in 'def await await2 for for2 with with2'.split()}) # require yield
skip_tests.update({'basics/%s.py' % t for t in 'try_reraise try_reraise2'.split()}) # require raise_varargs