2018-07-02 22:03:00 +02:00
|
|
|
require_relative "helper"
|
|
|
|
|
|
|
|
module Risc
|
|
|
|
class TestMachinePos < MiniTest::Test
|
|
|
|
def setup
|
2018-09-02 12:57:19 +02:00
|
|
|
code = "class Space; def main(arg);a = 1;return a;end;end"
|
2019-08-12 23:13:29 +02:00
|
|
|
@linker = RubyX::RubyXCompiler.new(RubyX.default_test_options).ruby_to_binary(code, :arm)
|
2018-07-02 22:03:00 +02:00
|
|
|
end
|
|
|
|
def test_positions_set
|
|
|
|
@linker.object_positions.each do |obj , position|
|
|
|
|
assert Position.get(obj).valid? , "#{Position.get(obj)} , #{obj.object_id.to_s(16)}"
|
|
|
|
end
|
|
|
|
end
|
2018-07-04 07:28:29 +02:00
|
|
|
def test_one_main
|
2018-07-30 09:23:42 +02:00
|
|
|
mains = @linker.assemblers.find_all{|asm| asm.callable.name == :main }
|
2018-07-04 07:28:29 +02:00
|
|
|
assert_equal 1 , mains.length
|
|
|
|
end
|
|
|
|
def test_assembler_num
|
2019-08-14 10:11:26 +02:00
|
|
|
assert_equal 22 , @linker.assemblers.length
|
2018-07-04 07:28:29 +02:00
|
|
|
end
|
2018-07-02 22:03:00 +02:00
|
|
|
end
|
|
|
|
end
|