diff options
author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
---|---|---|
committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-08-25 15:13:14 +0000 |
commit | d0233291bc8a5068e52c69c210e5979e5324b5bc (patch) | |
tree | 7d9459449c33792c63eeb7baa071e76352e0baab /trunk/yarvtest/yarvtest.rb | |
parent | 0dc342de848a642ecce8db697b8fecd83a63e117 (diff) | |
parent | 72eaacaa15256ab95c3b52ea386f88586fb9da40 (diff) |
re-adding tag v1_9_0_4 as an alias of trunk@18848v1_9_0_4
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_0_4@18849 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'trunk/yarvtest/yarvtest.rb')
-rw-r--r-- | trunk/yarvtest/yarvtest.rb | 112 |
1 files changed, 0 insertions, 112 deletions
diff --git a/trunk/yarvtest/yarvtest.rb b/trunk/yarvtest/yarvtest.rb deleted file mode 100644 index 56c173bbe0..0000000000 --- a/trunk/yarvtest/yarvtest.rb +++ /dev/null @@ -1,112 +0,0 @@ -require 'test/unit' -require 'rbconfig' -require 'optparse' - -if /mswin32/ !~ RUBY_PLATFORM - $ruby = './miniruby' -else - $ruby = 'miniruby' -end -$matzruby = Config::CONFIG['ruby_install_name'] - -ARGV.each{|opt| - if /\Aruby=(.+)/ =~ opt - $ruby = $1 - elsif /\Amatzruby=(.+)/ =~ opt - $matzruby = $1 - end -} - -a = "matzruby: #{`#{$matzruby} -v`}" -b = "ruby : #{`#{$ruby} -v`}" -puts a, b -raise "Using same command" if a == b - -class YarvTestBase < Test::Unit::TestCase - def initialize *args - super - - end - - def remove_const sym - Object.module_eval{ - remove_const sym - } - end - - def remove_method sym - Object.module_eval{ - undef sym - } - end - - require 'tempfile' - def exec exec_file, program - dir = [] - dir << ENV['RAMDISK'] if ENV['RAMDISK'] - tmpf = Tempfile.new("yarvtest_#{Process.pid}_#{Time.now.to_i}", *dir) - tmpf.write program - tmpf.close - result = `#{exec_file} #{tmpf.path}` - tmpf.open - tmpf.close(true) - result - end - - def dump_and_exec exec_file, str - asmstr = <<-EOASMSTR - iseq = YARVCore::InstructionSequence.compile(<<-'EOS__') - #{str} - EOS__ - p YARVCore::InstructionSequence.load(iseq.to_a).eval - EOASMSTR - - exec(exec_file, asmstr) - end - - def exec_ exec_file, program - exec_file.tr!('\\', '/') - r = '' - IO.popen("#{exec_file}", 'r+'){|io| - # - io.write program - io.close_write - begin - while line = io.gets - r << line - # p line - end - rescue => e - # p e - end - } - r - end - - def ae str - evalstr = %{ - p eval(%q{ - #{str} - }) - } - - matzruby = exec($matzruby, evalstr) - ruby = exec($ruby, evalstr) - - if $DEBUG #|| true - puts "matzruby (#$matzruby): #{matzruby}" - puts "ruby (#$ruby): #{ruby}" - end - - assert_equal(matzruby.gsub(/\r/, ''), ruby.gsub(/\r/, ''), str) - - # store/load test - if false # || true - yarvasm = dump_and_exec($ruby, str) - assert_equal(ruby.gsub(/\r/, ''), yarvasm.gsub(/\r/, '')) - end - end - - def test_ - end -end |