Sha256: d42f1461784187fde7adafa9d435ee46338aa6727f447b818621dee3839046a5

Contents?: true

Size: 1.21 KB

Versions: 7

Compression:

Stored size: 1.21 KB

Contents

# A test harness for RakeHandler
#
require 'rake'
require 'rubygems'
require 'airbrake'
require 'airbrake/rake_handler'

Airbrake.configure do |c|
end

# Should catch exception
task :airbrake do
  Airbrake.configuration.rescue_rake_exceptions = true
  stub_tty_output(true)
  raise_exception 
end

# Should not catch exception
task :airbrake_disabled do
  Airbrake.configuration.rescue_rake_exceptions = false
  stub_tty_output(true)
  raise_exception 
end

# Should not catch exception as tty_output is true
task :airbrake_autodetect_from_terminal do
  Airbrake.configuration.rescue_rake_exceptions = nil
  stub_tty_output(true) 
  raise_exception 
end

# Should catch exception as tty_output is false
task :airbrake_autodetect_not_from_terminal do
  Airbrake.configuration.rescue_rake_exceptions = nil
  stub_tty_output(false) 
  raise_exception 
end

module Airbrake
  def self.notify(*args)
    # TODO if you need to check more params, you'll have to use json.dump or something
    $stderr.puts "airbrake #{args[1][:component]}"
  end
end

def stub_tty_output(value)
  Rake.application.instance_eval do
    @tty_output_stub = value
    def tty_output?
      @tty_output_stub
    end
  end
end

def raise_exception
  raise 'TEST'
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
airbrake-3.0.4 features/support/rake/Rakefile
airbrake-3.0.3 features/support/rake/Rakefile
airbrake-3.0.2 features/support/rake/Rakefile
airbrake-3.0.1 features/support/rake/Rakefile
airbrake-3.0 features/support/rake/Rakefile
airbrake-3.0.rc2 features/support/rake/Rakefile
airbrake-3.0.rc1 features/support/rake/Rakefile