Sha256: 4d05c0dd86e29dea6c92aafb0f4487b7fef353739d539bdaa95630f30c7582a7

Contents?: true

Size: 943 Bytes

Versions: 6

Compression:

Stored size: 943 Bytes

Contents

require "rubygems"
require "spec"

class ExampleSuite
  def run
    options = ::Spec::Runner::OptionParser.new.parse(ARGV.dup, STDERR, STDOUT, false)
    $behaviour_runner = options.create_behaviour_runner
    
    require_specs

    puts "Running Example Suite"
    $behaviour_runner.run(ARGV, false)

    run_rspec_examples
    run_test_unit_examples
  end

  def require_specs
    exclusions = []
    exclusions << "rspec/"
    exclusions << "test_unit/"

    Dir["#{dir}/**/*_example.rb"].each do |file|
      unless exclusions.any? {|match| file.include?(match)}
        require file
      end
    end
  end

  def run_rspec_examples
    system("ruby #{dir}/rspec_example_suite.rb") || raise("Rspec suite Failed")
  end

  def run_test_unit_examples
    system("ruby #{dir}/test_unit_example_suite.rb") || raise("Test::Unit suite Failed")
  end

  def dir
    File.dirname(__FILE__)
  end
end

if $0 == __FILE__
  ExampleSuite.new.run
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
rr-0.3.0 examples/example_suite.rb
rr-0.3.1 examples/example_suite.rb
rr-0.3.2 examples/example_suite.rb
rr-0.3.3 examples/example_suite.rb
rr-0.3.4 examples/example_suite.rb
rr-0.3.5 examples/example_suite.rb