Moved most of llpython.tests.test_addr_flow into llpython.tests.test_byte_flow, made some modifications to various modules to facilitate proper handling of try-finally.
This commit is contained in:
parent
4837bf194e
commit
bba305774a
4 changed files with 150 additions and 40 deletions
|
|
@ -5,42 +5,21 @@ from __future__ import absolute_import
|
|||
|
||||
import unittest
|
||||
|
||||
from llpython import addr_flow, opcode_util
|
||||
from llpython import addr_flow
|
||||
|
||||
from . import test_byte_control as tbc
|
||||
from . import test_byte_flow
|
||||
|
||||
# ______________________________________________________________________
|
||||
# Class (test case) definition(s)
|
||||
|
||||
class TestAddrFlow(unittest.TestCase):
|
||||
def fail_unless_valid_flow(self, flow):
|
||||
raise NotImplementedError("XXX")
|
||||
# TODO: Make sure child indices are valid bytecode addresses
|
||||
# TODO: Make sure opcode has a "reasonable" number of child indices
|
||||
class TestAddressFlowBuilder(unittest.TestCase, test_byte_flow.FlowTestMixin):
|
||||
BUILDER_CLS = addr_flow.AddressFlowBuilder
|
||||
|
||||
def test_try_finally_0(self):
|
||||
self.fail_unless_valid_flow(
|
||||
addr_flow.build_addr_flow(tbc.try_finally_0))
|
||||
|
||||
def test_try_finally_1(self):
|
||||
self.fail_unless_valid_flow(
|
||||
addr_flow.build_addr_flow(tbc.try_finally_1))
|
||||
|
||||
def test_try_finally_2(self):
|
||||
self.fail_unless_valid_flow(
|
||||
addr_flow.build_addr_flow(tbc.try_finally_2))
|
||||
|
||||
def test_try_finally_3(self):
|
||||
self.fail_unless_valid_flow(
|
||||
addr_flow.build_addr_flow(tbc.try_finally_3))
|
||||
|
||||
def test_try_finally_4(self):
|
||||
self.fail_unless_valid_flow(
|
||||
addr_flow.build_addr_flow(tbc.try_finally_4))
|
||||
|
||||
def test_try_finally_5(self):
|
||||
self.fail_unless_valid_flow(
|
||||
addr_flow.build_addr_flow(tbc.try_finally_5))
|
||||
def fail_unless_valid_instruction(self, instr):
|
||||
super(TestAddressFlowBuilder, self).fail_unless_valid_instruction(
|
||||
instr)
|
||||
for arg_addr in instr[-1]:
|
||||
self.fail_unless_valid_address(arg_addr)
|
||||
|
||||
# ______________________________________________________________________
|
||||
# Main (unit test) routine
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue