matrix_test.rb in capybara-screenshot-diff-0.15.1 vs matrix_test.rb in capybara-screenshot-diff-1.0.0
- old
+ new
@@ -1,6 +1,7 @@
#!/usr/bin/env ruby -w
+# frozen_string_literal: true
system('rubocop --auto-correct') || exit(1)
update_gemfiles = ARGV.delete('--update')
@@ -13,40 +14,44 @@
end
puts '*' * 80
puts "Testing #{ruby} #{gemfile} #{env}"
puts
system("chruby-exec #{ruby} -- bundle exec rake") || exit(1)
+ puts "Testing #{ruby} #{gemfile} OK"
puts '*' * 80
end
def use_gemfile(ruby, gemfile, update_gemfiles)
puts '$' * 80
- puts "Testing #{gemfile}"
- puts
ENV['BUNDLE_GEMFILE'] = gemfile
+
+ bundler_version = `grep -A1 "BUNDLED WITH" #{gemfile}.lock | tail -n 1`
+ bundler_version = '~> 2.0' if bundler_version.strip.empty?
+
+ version_arg = "-v '#{bundler_version}'"
+ bundler_gem_check_cmd = "chruby-exec #{ruby} -- gem query -i -n bundler #{version_arg} >/dev/null"
+ system "#{bundler_gem_check_cmd} || chruby-exec #{ruby} -- gem install #{version_arg} bundler" || exit(1)
+
if update_gemfiles
system "chruby-exec #{ruby} -- bundle update"
else
- system "chruby-exec #{ruby} -- bundle check || chruby-exec #{ruby} -- bundle install"
+ system "chruby-exec #{ruby} -- bundle check >/dev/null || chruby-exec #{ruby} -- bundle install"
end || exit(1)
yield
- puts "Testing #{gemfile} OK"
puts '$' * 80
end
travis['rvm'].each do |ruby|
next if ruby =~ /head/ # ruby-install does not support HEAD installation
puts '#' * 80
puts "Testing #{ruby}"
puts
system "ruby-install --no-reinstall #{ruby}" || exit(1)
- bundler_gem_check_cmd = "chruby-exec #{ruby} -- gem query -i -n bundler >/dev/null"
- system "#{bundler_gem_check_cmd} || chruby-exec #{ruby} -- gem install bundler" || exit(1)
travis['gemfile'].each do |gemfile|
if travis['matrix'] &&
- (travis['matrix']['exclude'].to_a + travis['matrix']['allowed_failures'].to_a)
- .any? { |f| f['rvm'] == ruby && f['gemfile'] == gemfile }
+ (travis['matrix']['exclude'].to_a + travis['matrix']['allow_failures'].to_a)
+ .any? { |f| f['rvm'] == ruby && (f['gemfile'].nil? || f['gemfile'] == gemfile) }
puts 'Skipping known failure.'
next
end
use_gemfile(ruby, gemfile, update_gemfiles) do
travis['env'].each do |env|