Sha256: 68479a1d391d672f97e978d155ba1b31bf9cbca6779a3d06d26f436d4cd911ca

Contents?: true

Size: 1.18 KB

Versions: 49

Compression:

Stored size: 1.18 KB

Contents

require "pathname"
require "yaml"
require "open3"
require "tempfile"
require "optparse"

OptionParser.new do |opts|
  opts.on("--verbose", "-v") { @verbose = true }
end.parse!(ARGV)

if ARGV.empty?
  test_dirs = (Pathname(__dir__) + "../smoke").children
else
  test_dirs = ARGV.map {|p| Pathname.pwd + p }
end

failed_tests = []

ALLOW_FAILURE = ["diagnostics-ruby-unsat"]

test_dirs.each do |dir|
  puts "Running test #{dir}..."

  unless (dir + "test_expectations.yml").file?
    puts "Skipped ⛹️‍♀️"
    next
  end

  command = %w(steep check --with-expectations=test_expectations.yml)
  puts "  command: #{command.join(" ")}"

  output, status = Open3.capture2(*command, chdir: dir.to_s)

  unless status.success?
    unless ALLOW_FAILURE.include?(dir.basename.to_s)
      failed_tests << dir.basename
      puts "  Failed! 🤕"
    else
      puts "  Failed! 🤕 (ALLOW_FAILURE)"
    end
  else
    puts "  Succeed! 👍"
  end

  if @verbose
    puts "  Raw output:"
    output.split(/\n/).each do |line|
      puts "  > #{line.chomp}"
    end
  end
end

if failed_tests.empty?
  puts "All tests ok! 👏"
else
  puts "Errors detected! 🤮"
  puts "  #{failed_tests.join(", ")}"
  exit 1
end

Version data entries

49 entries across 49 versions & 1 rubygems

Version Path
steep-1.6.0 bin/output_test.rb
steep-1.6.0.pre.4 bin/output_test.rb
steep-1.6.0.pre.3 bin/output_test.rb
steep-1.6.0.pre.2 bin/output_test.rb
steep-1.6.0.pre.1 bin/output_test.rb
steep-1.5.3 bin/output_test.rb
steep-1.5.2 bin/output_test.rb
steep-1.5.1 bin/output_test.rb
steep-1.5.0 bin/output_test.rb
steep-1.5.0.pre.6 bin/output_test.rb
steep-1.5.0.pre.5 bin/output_test.rb
steep-1.5.0.pre.4 bin/output_test.rb
steep-1.5.0.pre.3 bin/output_test.rb
steep-1.5.0.pre.2 bin/output_test.rb
steep-1.5.0.pre.1 bin/output_test.rb
steep-1.4.0 bin/output_test.rb
steep-1.4.0.dev.5 bin/output_test.rb
steep-1.4.0.dev.4 bin/output_test.rb
steep-1.4.0.dev.3 bin/output_test.rb
steep-1.3.2 bin/output_test.rb