pysvp64db: fix traversal
[openpower-isa.git] / simulator / test_helloworld_sim.py
1 import unittest
2 from nmutil.formaltest import FHDLTestCase
3 from openpower.simulator.program import Program
4 from openpower.simulator.qemu import run_program
5 from openpower.test.common import TestCase
6 from openpower.simulator.test_sim import DecoderBase
7 from openpower.endian import bigendian
8
9
10 class HelloTestCases(FHDLTestCase):
11 test_data = []
12
13 def __init__(self, name="div"):
14 super().__init__(name)
15 self.test_name = name
16
17 def test_microwatt_helloworld(self):
18 lst = ["addis 1,0,0",
19 "ori 1,1,0",
20 "rldicr 1,1,32,31",
21 "oris 1,1,0",
22 "ori 1,1,7936",
23 "addis 12,0,0",
24 "ori 12,12,0",
25 "rldicr 12,12,32,31",
26 "oris 12,12,0",
27 "ori 12,12,4116",
28 "mtspr 9, 12", # mtctr r12
29 "bcctrl 20,0,0", # bctrl
30 ]
31 self.run_tst_program(Program(lst, bigendian),
32 [1,12], extra_break_addr=0x1014)
33
34 def run_tst_program(self, prog, initial_regs=None, initial_sprs=None,
35 initial_mem=None, extra_break_addr=None):
36 initial_regs = [0] * 32
37 tc = TestCase(prog, self.test_name, initial_regs, initial_sprs, 0,
38 initial_mem, 0,
39 extra_break_addr=extra_break_addr)
40 self.test_data.append(tc)
41
42
43 class HelloDecoderTestCase(DecoderBase, HelloTestCases):
44 pass
45
46
47 if __name__ == "__main__":
48 unittest.main()