add returns to tests so program ends in syscall exit

This commit is contained in:
Torsten Ruger 2018-04-01 22:19:21 +03:00
parent 9efeb58061
commit 48e4e3de9a
2 changed files with 14 additions and 10 deletions

View File

@ -5,10 +5,9 @@ module Risc
include Ticker
def setup
@string_input = as_main("'Hello'.get_internal_byte(1)")
@string_input = as_main("return 'Hello'.get_internal_byte(1)")
super
end
def test_chain
#show_ticks # get output of what is
check_chain [Branch, Label, LoadConstant, SlotToReg, LoadConstant,
@ -25,13 +24,16 @@ module Risc
Label, SlotToReg, SlotToReg, SlotToReg, SlotToReg,
ByteToReg, LoadConstant, SlotToReg, SlotToReg, RegToSlot,
RegToSlot, RegToSlot, SlotToReg, SlotToReg, RegToSlot,
SlotToReg, SlotToReg, FunctionReturn, Label, NilClass]
SlotToReg, SlotToReg, FunctionReturn, SlotToReg, SlotToReg,
RegToSlot, SlotToReg, SlotToReg, RegToSlot, SlotToReg,
SlotToReg, RegToSlot, SlotToReg, SlotToReg, FunctionReturn,
Transfer, Syscall, NilClass]
assert_equal Parfait::Integer , get_return.class
assert_equal "H".ord , get_return.value
end
def test_exit
done = ticks(75)
assert_equal NilClass , done.class
done = ticks(87)
assert_equal Syscall , done.class
end
def test_byte_to_reg

View File

@ -5,7 +5,7 @@ module Risc
include Ticker
def setup
@string_input = as_main("'Hello'.set_internal_byte(1,75)")
@string_input = as_main("return 'Hello'.set_internal_byte(1,75)")
super
end
@ -26,7 +26,9 @@ module Risc
SlotToReg, SlotToReg, SlotToReg, SlotToReg, SlotToReg,
SlotToReg, SlotToReg, RegToByte, RegToSlot, SlotToReg,
SlotToReg, RegToSlot, SlotToReg, SlotToReg, FunctionReturn,
Label, NilClass]
SlotToReg, SlotToReg, RegToSlot, SlotToReg, SlotToReg,
RegToSlot, SlotToReg, SlotToReg, RegToSlot, SlotToReg,
SlotToReg, FunctionReturn, Transfer, Syscall, NilClass]
assert_equal Parfait::Word , get_return.class
assert_equal "Kello" , get_return.to_string
end
@ -36,8 +38,8 @@ module Risc
assert_equal "K".ord , @interpreter.get_register(done.register)
end
def test_exit
done = ticks(77)
assert_equal NilClass , done.class
done = ticks(89)
assert_equal Syscall , done.class
end
end