Sha256: b0a421d3533ff08afe067f503b17c9cf738db2bfe09956bd4c0a44529fdeb68f

Contents?: true

Size: 912 Bytes

Versions: 8

Compression:

Stored size: 912 Bytes

Contents

# frozen_string_literal: true

require "rspec/core/rake_task"

module RubyMemcheck
  module RSpec
    class RakeTask < ::RSpec::Core::RakeTask
      include TestTaskReporter

      attr_reader :configuration

      def initialize(*args)
        @configuration =
          if !args.empty? && args[0].is_a?(Configuration)
            args.shift
          else
            RubyMemcheck.default_configuration
          end

        super
      end

      def run_task(verbose)
        error = nil

        begin
          # RSpec::Core::RakeTask#run_task calls Kernel.exit on failure
          super
        rescue SystemExit => e
          error = e
        end

        report_valgrind_errors

        raise error if error
      end

      private

      def spec_command
        # First part of command is Ruby
        args = super.split(" ")[1..]

        configuration.command(args)
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
ruby_memcheck-1.1.2 lib/ruby_memcheck/rspec/rake_task.rb
ruby_memcheck-1.1.1 lib/ruby_memcheck/rspec/rake_task.rb
ruby_memcheck-1.1.0 lib/ruby_memcheck/rspec/rake_task.rb
ruby_memcheck-1.0.3 lib/ruby_memcheck/rspec/rake_task.rb
ruby_memcheck-1.0.2 lib/ruby_memcheck/rspec/rake_task.rb
ruby_memcheck-1.0.1 lib/ruby_memcheck/rspec/rake_task.rb
ruby_memcheck-1.0.0 lib/ruby_memcheck/rspec/rake_task.rb
ruby_memcheck-0.3.0 lib/ruby_memcheck/rspec/rake_task.rb