Add bounded logical Z80 disassembly to shared MCP
This commit is contained in:
@@ -29,6 +29,10 @@ class DummyBridge:
|
||||
if command == 'snapshot': return {'state': self.state}
|
||||
if command == 'console_print': return {'printed': True}
|
||||
if command == 'memory': return {'hex': '00' * arguments['length']}
|
||||
if command == 'disassemble_logical':
|
||||
return {'space': 'logical_z80', 'address': arguments['address'],
|
||||
'length': arguments['length'], 'text': '8100: NOP',
|
||||
'generation': self.generation}
|
||||
if command == 'key': return {'accepted': True}
|
||||
raise AssertionError(command)
|
||||
|
||||
@@ -243,6 +247,22 @@ class ServerTests(unittest.TestCase):
|
||||
finally:
|
||||
controller.close()
|
||||
|
||||
def test_disassemble_logical_is_bounded_and_labels_bank_mapping(self):
|
||||
controller = SessionController(DummySession())
|
||||
try:
|
||||
result = controller.call('disassemble_logical',
|
||||
{'address': 0x8100, 'length': 32})
|
||||
self.assertEqual(result['space'], 'logical_z80')
|
||||
self.assertEqual(result['address'], 0x8100)
|
||||
self.assertEqual(result['bank_pages'], {})
|
||||
with self.assertRaisesRegex(SessionError, 'Дизассемблирование'):
|
||||
controller.call('disassemble_logical',
|
||||
{'address': 0xffff, 'length': 2})
|
||||
self.assertEqual(len([call for call in controller.session.bridge.calls
|
||||
if call[0] == 'disassemble_logical']), 1)
|
||||
finally:
|
||||
controller.close()
|
||||
|
||||
def test_control_lease_blocks_other_client_and_can_be_released_or_expire(self):
|
||||
controller = SessionController(DummySession())
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user