Admin Panel
import pytest
from amitools.vamos.machine import MockMemory
from amitools.vamos.mem import MemoryAlloc
from amitools.vamos.atypes import MsgPort, Message, MsgPortFlags, NodeType
def atypes_msg_msgport_test():
mem = MockMemory()
alloc = MemoryAlloc(mem)
# alloc msg port
mp1 = MsgPort.alloc(alloc)
assert mp1.name == 0
mp1.setup(pri=-5, flags=MsgPortFlags.PA_SOFTINT, sig_bit=5)
assert mp1.node.pri == -5
assert mp1.node.type == NodeType.NT_MSGPORT
assert mp1.flags == MsgPortFlags.PA_SOFTINT
assert mp1.sig_bit == 5
assert mp1.sig_task == 0
assert len(mp1.msg_list) == 0
# with name
mp2 = MsgPort.alloc(alloc, "bla")
assert mp2.get_name() == "bla"
# free
mp1.free()
mp2.free()
assert alloc.is_all_free()
def atypes_msg_msg_test():
mem = MockMemory()
alloc = MemoryAlloc(mem)
# alloc msg
msg = Message.alloc(alloc)
assert msg.name == 0
msg.setup(pri=-7, length=10)
assert msg.node.pri == -7
assert msg.node.type == NodeType.NT_MESSAGE
assert msg.length == 10
# with name
msg2 = Message.alloc(alloc, "bla")
assert msg2.name == "bla"
# free
msg.free()
msg2.free()
assert alloc.is_all_free()