risc is GREEN

totally, man.
Small fix in method missing fixed last block tests
(why, i do not know)
This commit is contained in:
2020-03-22 15:58:19 +02:00
parent 37feba1239
commit 90935bfbbc
5 changed files with 21 additions and 27 deletions

View File

@ -10,7 +10,7 @@ module SlotMachine
ResolveMethod.new( "method" , :name , cache_entry )
end
def test_len
assert_equal 21 , all.length , all_str
assert_equal 20 , all.length , all_str
end
def test_load_name
assert_load 1, Parfait::Word , "id_word_"
@ -58,21 +58,17 @@ module SlotMachine
def test_goto_exit
assert_label 15, "exit_label_"
end
def test_load_name2
assert_load 16, Parfait::Word , "id_word_"
assert_equal "name" , risc(1).constant.to_string
end
def test_move_name
assert_transfer 17, "id_word_" , :r1
assert_transfer 16, "id_word_" , :r1
end
def test_sys
assert_syscall 18, :died
assert_syscall 17, :died
end
def test_label
assert_label 19, "ok_label_"
assert_label 18, "ok_label_"
end
def test_method
assert_reg_to_slot 20 , "id_cacheentry_.cached_type.methods" , "id_cacheentry_" , 2
assert_reg_to_slot 19 , "id_cacheentry_.cached_type.methods" , "id_cacheentry_" , 2
end
end
end

View File

@ -14,19 +14,18 @@ module SlotMachine
assert_equal Risc::MethodCompiler , @method.to_risc.class
end
def test_risc_length
assert_equal 15 , @method.to_risc.risc_instructions.length
assert_equal 14 , @method.to_risc.risc_instructions.length
end
def test_all
assert_load 1 , Parfait::Word , "id_word_"
assert_transfer 2 , "id_word_" , :r1
assert_syscall 3 , :died
assert_slot_to_reg 4 , :message , 5 , "message.return_value"
assert_reg_to_slot 5 , "message.return_value" , :message , 5
assert_branch 6 , "return_label"
assert_label 7 , "return_label"
assert_transfer 1 , :r1 , :r1
assert_syscall 2 , :died
assert_slot_to_reg 3 , :message , 5 , "message.return_value"
assert_reg_to_slot 4 , "message.return_value" , :message , 5
assert_branch 5 , "return_label"
assert_label 6 , "return_label"
end
def test_return
assert_return(7)
assert_return(6)
end
end
end