Admin Panel
import pytest
from amitools.vamos.astructs import AccessStruct, NodeStruct, TaskStruct
from amitools.vamos.machine import MockMemory
def mem_access_rw_all_node_test():
mem = MockMemory()
a = AccessStruct(mem, NodeStruct, 0x42)
data = a.r_all()
print(data)
a.w_all(data)
def mem_access_rw_all_task_test():
mem = MockMemory()
a = AccessStruct(mem, TaskStruct, 0x42)
data = a.r_all()
print(data)
a.w_all(data)
def mem_access_rw_field_node_test():
mem = MockMemory()
a = AccessStruct(mem, NodeStruct, 0x42)
a.w_s('ln_Succ', 42)
a.w_s('ln_Pred', 21)
a.w_s('ln_Pri', -27)
assert a.r_s('ln_Succ') == 42
assert a.r_s('ln_Pred') == 21
assert a.r_s('ln_Pri') == -27
def mem_access_rw_sub_field_task_test():
mem = MockMemory()
a = AccessStruct(mem, TaskStruct, 0x42)
a.w_s('tc_Node.ln_Succ', 42)
a.w_s('tc_Node.ln_Pred', 21)
assert a.r_s('tc_Node.ln_Succ') == 42
assert a.r_s('tc_Node.ln_Pred') == 21
def mem_access_invalid_node_test():
mem = MockMemory()
a = AccessStruct(mem, NodeStruct, 0x42)
with pytest.raises(KeyError):
a.w_s('bla', 12)
with pytest.raises(KeyError):
a.r_s('blub')
def mem_access_s_get_addr_test():
mem = MockMemory()
a = AccessStruct(mem, NodeStruct, 0x42)
assert a.s_get_addr('ln_Succ') == 0x42
assert a.s_get_addr('ln_Pred') == 0x46