From 182256dc13479223160c2b463abf9d6539504503 Mon Sep 17 00:00:00 2001 From: Damien George Date: Wed, 8 Jun 2022 14:51:19 +1000 Subject: [PATCH] tests/stress: Adjust bytecode_limit test so it can SKIP if no memory. Signed-off-by: Damien George --- tests/stress/bytecode_limit.py | 17 ++++++++++------- tests/stress/bytecode_limit.py.exp | 8 ++++---- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/tests/stress/bytecode_limit.py b/tests/stress/bytecode_limit.py index 49f7cd2caf..8cca413cf2 100644 --- a/tests/stress/bytecode_limit.py +++ b/tests/stress/bytecode_limit.py @@ -2,6 +2,16 @@ body = " with f()()() as a:\n try:\n f()()()\n except Exception:\n pass\n" +# Test overflow of jump offset. +for n in (430, 431, 432, 433): + try: + exec("cond = 0\nif cond:\n" + body * n + "else:\n print('cond false')\n") + except MemoryError: + print("SKIP") + raise SystemExit + except RuntimeError: + print("RuntimeError") + # Test changing size of code info (source line/bytecode mapping) due to changing # bytecode size in the final passes. This test is very specific to how the # code info is encoded, and how jump offsets shrink in the final passes. This @@ -24,10 +34,3 @@ x = [1 if x else 123] print(x) """ ) - -# Test overflow of jump offset. -for n in (430, 431, 432, 433): - try: - exec("cond = 0\nif cond:\n" + body * n + "else:\n print('cond false')\n") - except RuntimeError: - print("RuntimeError") diff --git a/tests/stress/bytecode_limit.py.exp b/tests/stress/bytecode_limit.py.exp index b2d9737d80..74ab06c09b 100644 --- a/tests/stress/bytecode_limit.py.exp +++ b/tests/stress/bytecode_limit.py.exp @@ -1,5 +1,5 @@ +cond false +cond false +RuntimeError +RuntimeError [123] -cond false -cond false -RuntimeError -RuntimeError