Exemplo n.º 1
0
    def test_do_mem_shows_help_when_given_extra_args(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon.do_mem('c000 c001')

        out = stdout.getvalue()
        self.assertTrue(out.startswith('mem <address_range>'))
Exemplo n.º 2
0
    def test_do_mem_shows_help_when_given_no_args(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon.do_mem("")

        out = stdout.getvalue()
        self.assertTrue(out.startswith("mem <address_range>"))
Exemplo n.º 3
0
    def test_do_mem_shows_help_when_given_extra_args(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon.do_mem('c000 c001')

        out = stdout.getvalue()
        self.assertTrue(out.startswith('mem <address_range>'))
Exemplo n.º 4
0
    def test_do_mem_shows_memory_for_a_single_address(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon._mpu.memory[0xC000] = 0xAA
        mon.do_mem('c000')

        out = stdout.getvalue()
        self.assertEqual('c000:  aa\n', out)
Exemplo n.º 5
0
    def test_do_mem_wraps_at_terminal_width(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon._width = 14
        mon.do_mem("c000:c003")

        out = stdout.getvalue()
        self.assertEqual("c000:  00  00\n" "c002:  00  00\n", out)
Exemplo n.º 6
0
    def test_do_mem_shows_memory_for_a_single_address(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon._mpu.memory[0xC000] = 0xAA
        mon.do_mem('c000')

        out = stdout.getvalue()
        self.assertEqual('c000:  aa\n', out)
Exemplo n.º 7
0
    def test_do_mem_wraps_at_terminal_width(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon._width = 14
        mon.do_mem('c000:c003')

        out = stdout.getvalue()
        self.assertEqual('c000:  00  00\n' 'c002:  00  00\n', out)
Exemplo n.º 8
0
    def test_do_mem_shows_memory_for_an_address_range(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon._mpu.memory[0xC000] = 0xAA
        mon._mpu.memory[0xC001] = 0xBB
        mon._mpu.memory[0xC002] = 0xCC
        mon.do_mem('c000:c002')

        out = stdout.getvalue()
        self.assertEqual('c000:  aa  bb  cc\n', out)
Exemplo n.º 9
0
    def test_do_mem_shows_memory_for_an_address_range(self):
        stdout = StringIO()
        mon = Monitor(stdout=stdout)
        mon._mpu.memory[0xC000] = 0xAA
        mon._mpu.memory[0xC001] = 0xBB
        mon._mpu.memory[0xC002] = 0xCC
        mon.do_mem('c000:c002')

        out = stdout.getvalue()
        self.assertEqual('c000:  aa  bb  cc\n', out)
Exemplo n.º 10
0
 def test_external_memory(self):
     stdout = StringIO()
     memory = bytearray(65536)
     memory[10] = 0xff
     mon = Monitor(memory=memory, stdout=stdout, putc_addr=None, getc_addr=None)
     self.assertEqual(0xff, memory[10], "memory must remain untouched")
     mon.do_mem('0008:000c')
     mon.do_fill('0000:0020 ab')
     self.assertEqual(0xab, memory[10], "memory must have been modified")
     out = stdout.getvalue()
     self.assertTrue(out.startswith('0008:  00  00  ff  00  00'), "monitor must see pre-initialized memory")