fix many a test especially whole mom
but some positioning bug still in there preventing binary to work
This commit is contained in:
@ -4,8 +4,6 @@ module Risc
|
||||
class TestPositionTranslated < MiniTest::Test
|
||||
def setup
|
||||
Parfait.boot!
|
||||
machine = Risc.machine.boot
|
||||
machine.translate(:interpreter)
|
||||
@binary = Parfait::BinaryCode.new(1)
|
||||
@method = Parfait.object_space.types.values.first.methods
|
||||
@label = Risc.label("hi","ho")
|
||||
@ -13,11 +11,11 @@ module Risc
|
||||
|
||||
def test_bin_propagates_existing
|
||||
@binary.extend_to(16)
|
||||
CodeListener.init( @binary).set(0)
|
||||
CodeListener.init( @binary , :interpreter).set(0)
|
||||
assert_equal @binary.padded_length , Position.get(@binary.next).at
|
||||
end
|
||||
def test_bin_propagates_after
|
||||
CodeListener.init( @binary).set(0)
|
||||
CodeListener.init( @binary , :interpreter).set(0)
|
||||
@binary.extend_to(16)
|
||||
assert_equal @binary.padded_length , Position.get(@binary.next).at
|
||||
end
|
||||
|
@ -104,12 +104,13 @@ module Risc
|
||||
Parfait.boot!
|
||||
Risc.boot!
|
||||
@init = Parfait.object_space.get_init
|
||||
@builder = Risc::MethodCompiler.new( @init ).compiler_builder(@init)
|
||||
@compiler = Risc::MethodCompiler.new( @init )
|
||||
@builder = @compiler.compiler_builder(@init)
|
||||
end
|
||||
def test_inserts_built
|
||||
r1 = RegisterValue.new(:r1 , :Space)
|
||||
@builder.build{ space << r1 }
|
||||
assert_equal Transfer , @init.risc_instructions.next.class , @init.risc_instructions.next
|
||||
assert_equal Transfer , @compiler.risc_instructions.next.class
|
||||
end
|
||||
|
||||
end
|
||||
|
@ -4,7 +4,7 @@ module Parfait
|
||||
class TestAdapter < MiniTest::Test
|
||||
|
||||
def setup
|
||||
Risc.machine.boot
|
||||
Parfait.boot!
|
||||
end
|
||||
|
||||
def test_list_create_from_array
|
||||
|
@ -1,16 +1,18 @@
|
||||
require_relative "../helper"
|
||||
|
||||
module Risc
|
||||
class TestTextWriter #< MiniTest::Test
|
||||
class TestTextWriter < MiniTest::Test
|
||||
|
||||
def setup
|
||||
@machine = Risc.machine.boot
|
||||
Parfait.boot!
|
||||
Risc.boot!
|
||||
@linker = Mom::MomCompiler.new.translate(:arm)
|
||||
end
|
||||
def test_init
|
||||
@text_writer = TextWriter.new(@machine)
|
||||
@text_writer = TextWriter.new(@linker)
|
||||
end
|
||||
def test_write_fails
|
||||
@text_writer = TextWriter.new(@machine)
|
||||
@text_writer = TextWriter.new(@linker)
|
||||
assert_raises{ @text_writer.write_as_string} #must translate first
|
||||
end
|
||||
end
|
||||
@ -18,11 +20,11 @@ module Risc
|
||||
|
||||
def setup
|
||||
Parfait.boot!
|
||||
@machine = Risc.machine.boot
|
||||
@machine.translate(:arm)
|
||||
@machine.position_all
|
||||
@machine.create_binary
|
||||
@text_writer = TextWriter.new(@machine)
|
||||
Risc.boot!
|
||||
@linker = Mom::MomCompiler.new.translate(:arm)
|
||||
@linker.position_all
|
||||
@linker.create_binary
|
||||
@text_writer = TextWriter.new(@linker)
|
||||
end
|
||||
def test_write_all
|
||||
assert @text_writer.write_as_string
|
||||
|
Reference in New Issue
Block a user