add returns to tests so program ends in syscall exit
This commit is contained in:
parent
9efeb58061
commit
48e4e3de9a
@ -3,12 +3,11 @@ require_relative "helper"
|
||||
module Risc
|
||||
class InterpretGetByte < MiniTest::Test
|
||||
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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user