From e4a196278aa497ace77a01fd02f5a7e6882c4647 Mon Sep 17 00:00:00 2001 From: rocky Date: Sun, 2 Feb 2020 06:08:19 -0500 Subject: [PATCH] More control-flow testing based on past failures... Some of these still cause problems. Sigh. --- .../bytecode_3.7_run/05_control_flow_bugs.pyc | Bin 1089 -> 1356 bytes .../05_control_flow_bugs.pyc-notyet | Bin 0 -> 1368 bytes .../operation_logic/05_control_flow_bugs.py | 17 +++++++++++++++++ 3 files changed, 17 insertions(+) create mode 100644 test/bytecode_3.8_run/05_control_flow_bugs.pyc-notyet diff --git a/test/bytecode_3.7_run/05_control_flow_bugs.pyc b/test/bytecode_3.7_run/05_control_flow_bugs.pyc index cf33c6595000902f5f0303298dbcc9c24303a451..a6e3d11542a7d9c0efbf4f0c66dc8a7b93a7802e 100644 GIT binary patch delta 322 zcmX@eafXY}iIXVs3_5uMj5QEsx zKwPW@BvKe_nQ9n{_)?f^nesSl7>mVHn1dN=m{M5G8GtfOKr>kVir9fFi#R|8NOKV* zhyWR-$y~$@V)FxuTdesd8L35JaR|W*66J}HPt(ZB&o4^JEQ^n~2MQJQ0SN|179eC} o0+AeyMM6LkKTX!jx0w|fg(iPzR%6tfEXShECBnkNCBg`T0E}%t0{{R3 delta 56 zcmX@Zb&!M4iIsIgI9laVEuK~rS&8pakTWf!%j}V`E%y{d(N{$AxHT9_ zSb7$5B6f9Q%tmgejO^*~*bi>uJetQwLW(@Pk&{xC@LiO;1lr^yqEaml%H!bYdP**j z$x`h<=aV_Sh8(6zq>Jn}aAOfwl(j`;XJb#MHRp_({){~7Ib=$lu($8)^9{;-Ja(a0 ztv8;x4&9_f7&D9-cS^I@&8lODE-5~UFyB1EkF^f9X`iueWK;RMg3%PX_q(C$clRMc{GV0@Jc6+st_V18}wakN^Mx literal 0 HcmV?d00001 diff --git a/test/simple_source/operation_logic/05_control_flow_bugs.py b/test/simple_source/operation_logic/05_control_flow_bugs.py index 0eb1a7ad..f756f2ad 100644 --- a/test/simple_source/operation_logic/05_control_flow_bugs.py +++ b/test/simple_source/operation_logic/05_control_flow_bugs.py @@ -57,3 +57,20 @@ assert test_frozen(1, 1) == 4.0 assert test_frozen(0, 1) == 5.0 assert test_frozen(0.5, 0) == 6.0 assert test_frozen(0, 0.5) == 8.0 + +# From 3.6.10 test_binop.py +# Bug was getting "other += 3" outside of "if"/"else. +def __floordiv__(a, b): + other = 0 + if a: + other = 1 + else: + if not b: + return 2 + other += 3 + return other + +assert __floordiv__(True, True) == 4 +assert __floordiv__(True, False) == 4 +assert __floordiv__(False, True) == 3 +assert __floordiv__(False, False) == 2