diff options
author | Zachary Ware <zachary.ware@gmail.com> | 2016-09-09 12:55:37 -0700 |
---|---|---|
committer | Zachary Ware <zachary.ware@gmail.com> | 2016-09-09 12:55:37 -0700 |
commit | 724f6a67f241f39394b15c419570920ebdfefacb (patch) | |
tree | dc795f9edbd8de67b4ad14fb4ed2ec45f9481ae2 /Lib/test/test_generator_stop.py | |
parent | a0154c0f0ee38b1b8a05eac181a35c78ca1508f4 (diff) | |
download | cpython-git-724f6a67f241f39394b15c419570920ebdfefacb.tar.gz |
Rename test_pep####.py files
Diffstat (limited to 'Lib/test/test_generator_stop.py')
-rw-r--r-- | Lib/test/test_generator_stop.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/Lib/test/test_generator_stop.py b/Lib/test/test_generator_stop.py new file mode 100644 index 0000000000..bc235ceb00 --- /dev/null +++ b/Lib/test/test_generator_stop.py @@ -0,0 +1,34 @@ +from __future__ import generator_stop + +import unittest + + +class TestPEP479(unittest.TestCase): + def test_stopiteration_wrapping(self): + def f(): + raise StopIteration + def g(): + yield f() + with self.assertRaisesRegex(RuntimeError, + "generator raised StopIteration"): + next(g()) + + def test_stopiteration_wrapping_context(self): + def f(): + raise StopIteration + def g(): + yield f() + + try: + next(g()) + except RuntimeError as exc: + self.assertIs(type(exc.__cause__), StopIteration) + self.assertIs(type(exc.__context__), StopIteration) + self.assertTrue(exc.__suppress_context__) + else: + self.fail('__cause__, __context__, or __suppress_context__ ' + 'were not properly set') + + +if __name__ == '__main__': + unittest.main() |