# Any configurations at the top of the file are global and apply to all tests. a = 1 sp = 0xE000 # The list of crash addresses can be appended to. # crash = "crash" # Or, by using an array, they can be overwritten. crash = ["crash", 0x0038] # You can define additional exits exit = [0x4000, 0xF000] [add-one] b = 1 [add-one.result] a = 2 [add-two] b = 2 [add-two.result] a = 3 [add-fail] b = 3 [add-fail.result] a = 3 # A test can have no intended result. # In this case, the test will pass unless the program crashes. [add-anything] b = 42 [debug] pc = "DebugTest" # You can also redefine the "caller" address (default is 0xFFFF) # This acts as an exit address. caller = "DebugTest.exit" [crash-test] pc = "CrashTest" [timeout] pc = "Timeout" [variable] "[wVariable]" = 100 pc = "VariableTest" [variable.result] "[wVariable]" = 200 [string] "[wString]" = ["Hello, world!", 0] pc = "StringTest" [string.result] "f.z" = true # Tests whether hram is writable [high-memory] pc = "HighMemoryTest" a = 69 [high-memory.result] a = 69 b = 69 # Test whether dump contains test values # It should be checked in the memory dump whether [wVariable] actually contains the given value [dump] pc = "OpcodeTest" a = 0 "[wVariable]" = 0x55 [dump.result] a = 10 # Test whether integers can be used instead of labels as memory addresses [unlabeled-memory] pc = "UnlabeledMemoryTest" a = 0 hl = 0xC123 "[0xC123]" = 0x71 [unlabeled-memory.result] a = 0x71 # Test whether values can be pushed onto the stack and are in the correct order [stack] pc = "StackTest" a = 0 b = 0 stack = [ 0xDE, 0xAD ] [stack.result] a = 0xDE b = 0xAD