diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-07-23 05:21:41 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-07-23 05:21:41 +0900 |
commit | d2710ba86677380f016b6a84d81e5cb39837c04d (patch) | |
tree | b108f4401981704d613d6d6d1d72c5448bb962a3 /test/ripper/test_files.rb | |
parent | 11f3da8e9dd98cb6b0c2c2fd22220f8508af32f2 (diff) | |
download | ruby-d2710ba86677380f016b6a84d81e5cb39837c04d.tar.gz |
Split test/ripper/test_files.rb to run in parallel
Diffstat (limited to 'test/ripper/test_files.rb')
-rw-r--r-- | test/ripper/test_files.rb | 50 |
1 files changed, 0 insertions, 50 deletions
diff --git a/test/ripper/test_files.rb b/test/ripper/test_files.rb deleted file mode 100644 index d90cd6479e..0000000000 --- a/test/ripper/test_files.rb +++ /dev/null @@ -1,50 +0,0 @@ -# frozen_string_literal: true -require 'test/unit' - -module TestRipper; end -class TestRipper::Generic < Test::Unit::TestCase - SRCDIR = File.expand_path("../../..", __FILE__) - - %w[sample ext].each do |dir| - define_method("test_parse_files:#{dir}") do - assert_parse_files(dir) - end - end - - %w[lib test].each do |dir| - define_method("test_parse_files:#{dir}") do - assert_parse_files(dir, "*.rb") - end - Dir["#{SRCDIR}/#{dir}/*/"].each do |dir| - dir = dir[(SRCDIR.length+1)..-2] - define_method("test_parse_files:#{dir}") do - assert_parse_files(dir) - end - end - end - - def assert_parse_files(dir, pattern = "**/*.rb") - assert_separately(%W[--disable-gem -rripper - #{SRCDIR}/#{dir} #{pattern}], - __FILE__, __LINE__, "#{<<-"begin;"}\n#{<<-'end;'}", timeout: Float::INFINITY) - pattern = "#{pattern}" - begin; - TEST_RATIO = ENV["TEST_RIPPER_RATIO"]&.tap {|s|break s.to_f} || 0.05 # testing all files needs too long time... - class Parser < Ripper - PARSER_EVENTS.each {|n| eval "def on_#{n}(*args) r = [:#{n}, *args]; r.inspect; Object.new end" } - SCANNER_EVENTS.each {|n| eval "def on_#{n}(*args) r = [:#{n}, *args]; r.inspect; Object.new end" } - end - dir = ARGV.shift - scripts = Dir.chdir(dir) {Dir[pattern]} - if (1...scripts.size).include?(num = scripts.size * TEST_RATIO) - scripts = scripts.sample(num) - end - scripts.sort! - for script in scripts - assert_nothing_raised { - parser = Parser.new(File.read("#{dir}/#{script}"), script) - parser.instance_eval "parse", "<#{script}>" - } - end - end; - end -end |