diff --git a/tool/fetch-bundled_gems.rb b/tool/fetch-bundled_gems.rb index 080f4b1d65..f50bda360a 100755 --- a/tool/fetch-bundled_gems.rb +++ b/tool/fetch-bundled_gems.rb @@ -6,7 +6,9 @@ BEGIN { color = Colorize.new if ARGV.first.start_with?("BUNDLED_GEMS=") - bundled_gems = ARGV.shift[13..-1].split(" ") + bundled_gems = ARGV.shift[13..-1] + sep = bundled_gems.include?(",") ? "," : " " + bundled_gems = bundled_gems.split(sep) bundled_gems = nil if bundled_gems.empty? end diff --git a/tool/test-bundled-gems.rb b/tool/test-bundled-gems.rb index 7ccf872f59..9aad4c3b63 100644 --- a/tool/test-bundled-gems.rb +++ b/tool/test-bundled-gems.rb @@ -11,6 +11,9 @@ github_actions = ENV["GITHUB_ACTIONS"] == "true" allowed_failures = ENV['TEST_BUNDLED_GEMS_ALLOW_FAILURES'] || '' allowed_failures = allowed_failures.split(',').reject(&:empty?) +# make test-bundled-gems BUNDLED_GEMS=gem1,gem2,gem3 +bundled_gems = ARGV.first || '' + colorize = Colorize.new rake = File.realpath("../../.bundle/bin/rake", __FILE__) gem_dir = File.realpath('../../gems', __FILE__) @@ -21,7 +24,7 @@ failed = [] File.foreach("#{gem_dir}/bundled_gems") do |line| next if /^\s*(?:#|$)/ =~ line gem = line.split.first - next unless ARGV.empty? or ARGV.any? {|pat| File.fnmatch?(pat, gem)} + next unless bundled_gems.delete_prefix("BUNDLED_GEMS=").split(",").include?(gem) next unless File.directory?("#{gem_dir}/src/#{gem}/test") test_command = "#{ruby} -C #{gem_dir}/src/#{gem} #{rake} test"