1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
  
     | 
    
      def run(cmd)
  puts cmd
#  system 'mv lib lib.off'
  res = system(cmd)
#  system 'mv lib.off lib'
  res
end
ruby = RbConfig::CONFIG['ruby_install_name']
puts
puts '[Debian Build]'
puts '========================================================================'
results = {}
{
#  'actioncable'   => 'test',
#  'actionmailbox' => 'test',
#  'actionmailer'  => 'test',
#  'actionpack'    => 'test',
#  'actiontext'    => 'test',
#  'actionview'    => 'test', # this includes ujs tests
  'activejob'     => 'test', # FIXME MISSING DEPENDENCIES
#  'activemodel'   => 'test',
#  'activerecord'  => 'sqlite3:test', # FIXME SEVERAL TESTS BEING SKIPPING
#  'activestorage' => 'test',
#  'activesupport' => 'test', # FIXME BROKEN
#  'railties'      => 'test', # FIXME BROKEN
}.each do |component,tasks|
  Array(tasks).each do |task|
    Dir.chdir component do
      banner = [component, task].join(' ')
      puts
      puts banner
      puts banner.gsub(/./, '-')
      puts
      puts "cd #{component}"
      results["#{component}:#{task}"] = run("TESTOPTS='--seed=0' #{ruby} -S rake --trace #{task}")
      puts 'cd -'
    end
  end
end
failed_results = results.select { |key,value| !value }
unless failed_results.empty?
  puts "Failed tests: #{failed_results.keys.join(': ')}"
  exit 1
end
 
     |