New issue 1903: Chained exception in pypy3 working differently than CPython 3.x https://bitbucket.org/pypy/pypy/issue/1903/chained-exception-in-pypy3-working
Ned Batchelder: The coverage.py test suite fails in one test for pypy3. PyPy3 testing was added in e303eb19c993 (https://bitbucket.org/ned/coveragepy/commits/e303eb19c993376b91ffb68da368a3482b4a608a) To run the test suite: ``` pip install -r requirements.txt tox ``` The failure: ``` ====================================================================== FAIL: test_code_throws (tests.test_process.ProcessTest) ---------------------------------------------------------------------- Traceback (most recent call last): File "/Users/ned/coverage/trunk/tests/test_process.py", line 274, in test_code_throws self.assertMultiLineEqual(out, out2) nose.proxy.AssertionError: 'Traceback (most recent call last):\n File "/Users/ned/coverage/trunk/coverage/ [truncated]... != 'Traceback (most recent call last):\n File "throw.py", line 7, in <module>\n [truncated]... - Traceback (most recent call last): - File "/Users/ned/coverage/trunk/coverage/cmdline.py", line 671, in main - status = CoverageScript().command_line(argv) - File "/Users/ned/coverage/trunk/coverage/cmdline.py", line 416, in command_line - self.do_execute(options, args) - File "/Users/ned/coverage/trunk/coverage/cmdline.py", line 560, in do_execute - self.run_python_file(filename, args) - File "/Users/ned/coverage/trunk/coverage/execfile.py", line 141, in run_python_file - raise ExceptionDuringRun(typ, err, tb.tb_next) - coverage.misc.ExceptionDuringRun: (<class 'Exception'>, Exception('hey!',), <traceback object at 0x0000000103ffa740>) - - During handling of the above exception, another exception occurred: - Traceback (most recent call last): File "throw.py", line 7, in <module> f2() File "throw.py", line 5, in f2 f1() File "throw.py", line 2, in f1 raise Exception("hey!") Exception: hey! -------------------- >> begin captured stdout << --------------------- Traceback (most recent call last): File "/Users/ned/coverage/trunk/coverage/cmdline.py", line 671, in main status = CoverageScript().command_line(argv) File "/Users/ned/coverage/trunk/coverage/cmdline.py", line 416, in command_line self.do_execute(options, args) File "/Users/ned/coverage/trunk/coverage/cmdline.py", line 560, in do_execute self.run_python_file(filename, args) File "/Users/ned/coverage/trunk/coverage/execfile.py", line 141, in run_python_file raise ExceptionDuringRun(typ, err, tb.tb_next) coverage.misc.ExceptionDuringRun: (<class 'Exception'>, Exception('hey!',), <traceback object at 0x0000000103ffa740>) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "throw.py", line 7, in <module> f2() File "throw.py", line 5, in f2 f1() File "throw.py", line 2, in f1 raise Exception("hey!") Exception: hey! Traceback (most recent call last): File "throw.py", line 7, in <module> f2() File "throw.py", line 5, in f2 f1() File "throw.py", line 2, in f1 raise Exception("hey!") Exception: hey! --------------------- >> end captured stdout << ---------------------- ``` This test checks that running a program under coverage produces the same output as running it not under coverage. The program raises an exception. Under pypy3, it gets this output: ``` Traceback (most recent call last): File "throw.py", line 7, in <module> f2() File "throw.py", line 5, in f2 f1() File "throw.py", line 2, in f1 raise Exception("hey!") Exception: hey! ``` Under coverage, it gets this: ``` Traceback (most recent call last): File "/Users/ned/coverage/trunk/coverage/cmdline.py", line 671, in main status = CoverageScript().command_line(argv) File "/Users/ned/coverage/trunk/coverage/cmdline.py", line 416, in command_line self.do_execute(options, args) File "/Users/ned/coverage/trunk/coverage/cmdline.py", line 560, in do_execute self.run_python_file(filename, args) File "/Users/ned/coverage/trunk/coverage/execfile.py", line 141, in run_python_file raise ExceptionDuringRun(typ, err, tb.tb_next) coverage.misc.ExceptionDuringRun: (<class 'Exception'>, Exception('hey!',), <traceback object at 0x0000000103ffa740>) During handling of the above exception, another exception occurred: Traceback (most recent call last): File "throw.py", line 7, in <module> f2() File "throw.py", line 5, in f2 f1() File "throw.py", line 2, in f1 raise Exception("hey!") Exception: hey! ``` This test passes on CPython 2.6, 2.7, 3.2, 3.3, 3.4, and on PyPy2 _______________________________________________ pypy-issue mailing list [email protected] https://mail.python.org/mailman/listinfo/pypy-issue
