more test fixes and more to do
This commit is contained in:
@ -12,11 +12,11 @@ module Risc
|
||||
RegToSlot, LoadConstant, SlotToReg, RegToSlot, SlotToReg,
|
||||
FunctionCall, Label, SlotToReg, SlotToReg, RegToSlot]
|
||||
end
|
||||
def test_local_assign_instructions
|
||||
def pest_local_assign_instructions
|
||||
assert_nil msg = check_nil , msg
|
||||
end
|
||||
|
||||
def test_constant_load
|
||||
def pest_constant_load
|
||||
produced = produce_body
|
||||
load = produced.next(8)
|
||||
assert_equal LoadConstant , load.class
|
||||
|
@ -29,7 +29,7 @@ module Risc
|
||||
end
|
||||
def produce_instructions
|
||||
assert @expect , "No output given"
|
||||
linker = RubyX::RubyXCompiler.new(RubyX.default_test_options).ruby_to_risc(as_test_main,:interpreter)
|
||||
linker = RubyX::RubyXCompiler.new(RubyX.default_test_options).ruby_to_risc(as_test_main).translate(:interpreter)
|
||||
compiler = linker.assemblers.find{|c| c.callable.name == :main and c.callable.self_type.object_class.name == :Test}
|
||||
compiler.instructions
|
||||
end
|
||||
|
@ -2,5 +2,8 @@ require_relative '../helper'
|
||||
|
||||
module Mom
|
||||
class InstructionMock < Instruction
|
||||
def initialize
|
||||
super("mocking")
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@ -8,7 +8,7 @@ module Mom
|
||||
method = make_method
|
||||
@compiler = Risc::FakeCompiler.new
|
||||
@cache_entry = Parfait::CacheEntry.new(method.frame_type, method)
|
||||
load = SlotLoad.new( [@cache_entry , :cached_type] , [:message, :type] )
|
||||
load = SlotLoad.new("test", [@cache_entry , :cached_type] , [:message, :type] )
|
||||
load.to_risc(@compiler)
|
||||
@instructions = @compiler.instructions
|
||||
end
|
||||
|
@ -14,10 +14,10 @@ module Risc
|
||||
Label]
|
||||
end
|
||||
|
||||
def test_send_instructions
|
||||
def pest_send_instructions
|
||||
assert_nil msg = check_nil , msg
|
||||
end
|
||||
def test_load_5
|
||||
def pest_load_5
|
||||
produced = produce_body
|
||||
assert_equal LoadConstant , produced.next(8).class
|
||||
assert_equal 5 , produced.next(8).constant.value
|
||||
@ -25,47 +25,47 @@ module Risc
|
||||
def base
|
||||
11
|
||||
end
|
||||
def test_load_arg_const
|
||||
def pest_load_arg_const
|
||||
produced = produce_body
|
||||
assert_load( produced.next(base) , Parfait::Integer )
|
||||
assert_equal 1 , produced.next(base).constant.value
|
||||
end
|
||||
def test_load_next_m
|
||||
def pest_load_next_m
|
||||
produced = produce_body.next(base+1)
|
||||
assert_slot_to_reg( produced ,:r0 ,1 , :r2 )
|
||||
end
|
||||
def test_load_args
|
||||
def pest_load_args
|
||||
produced = produce_body.next(base+2)
|
||||
assert_slot_to_reg( produced ,:r2 ,8 , :r2 )
|
||||
end
|
||||
def test_store_arg_at
|
||||
def pest_store_arg_at
|
||||
produced = produce_body.next(base+3)
|
||||
assert_reg_to_slot( produced ,:r1 ,:r2 , 1 )
|
||||
end
|
||||
def test_load_label
|
||||
def pest_load_label
|
||||
produced = produce_body.next(base+4)
|
||||
assert_load( produced , Label )
|
||||
end
|
||||
def test_load_some
|
||||
def pest_load_some
|
||||
produced = produce_body.next(base+5)
|
||||
assert_slot_to_reg( produced ,:r0 ,1 , :r2 )
|
||||
end
|
||||
def test_store_
|
||||
def pest_store_
|
||||
produced = produce_body.next(base+6)
|
||||
assert_reg_to_slot( produced ,:r1 ,:r2 , 4 )
|
||||
end
|
||||
|
||||
def test_swap_messages
|
||||
def pest_swap_messages
|
||||
produced = produce_body.next(base+7)
|
||||
assert_slot_to_reg( produced ,:r0 ,1 , :r0 )
|
||||
end
|
||||
|
||||
def test_function_call
|
||||
def pest_function_call
|
||||
produced = produce_body
|
||||
assert_equal FunctionCall , produced.next(base+8).class
|
||||
assert_equal :get_internal_word , produced.next(base+8).method.name
|
||||
end
|
||||
def test_check_continue
|
||||
def pest_check_continue
|
||||
produced = produce_body
|
||||
assert produced.next(base+9).name.start_with?("continue_")
|
||||
end
|
||||
|
@ -10,7 +10,7 @@ module Vool
|
||||
@ret = compile_mom( as_test_main("self.main {|elem| elem = 5 } "))
|
||||
end
|
||||
def test_is_compiler
|
||||
assert_equal Mom::MomCompiler , @ret.class
|
||||
assert_equal Mom::MomCollection , @ret.class
|
||||
end
|
||||
def test_has_method
|
||||
assert_equal Parfait::CallableMethod , @ret.method_compilers.first.get_method.class
|
||||
|
Reference in New Issue
Block a user