summaryrefslogtreecommitdiff
path: root/trunk/yarvtest/yarvtest.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/yarvtest/yarvtest.rb')
-rw-r--r--trunk/yarvtest/yarvtest.rb112
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