Sha256: ddd180a39bc7321bc922df09495674c0868e4d36e11f83a8cdf0f021ba991bfb

Contents?: true

Size: 1.82 KB

Versions: 25

Compression:

Stored size: 1.82 KB

Contents

# simplecov must be loaded FIRST. Only the files required after it gets loaded
# will be profiled !!!
if ENV['TEST_ENABLE_COVERAGE'] == '1'
    begin
        require 'simplecov'
        SimpleCov.start do
            add_filter "/test/"
        end
    rescue LoadError
        require 'autoproj'
        Autoproj.warn "coverage is disabled because the 'simplecov' gem cannot be loaded"
    rescue Exception => e
        require 'autoproj'
        Autoproj.warn "coverage is disabled: #{e.message}"
    end
end

require 'minitest/autorun'
require 'autoproj'
require 'flexmock/minitest'
require 'minitest/spec'

if ENV['TEST_ENABLE_PRY'] != '0'
    begin
        require 'pry'
    rescue Exception
        Autoproj.warn "debugging is disabled because the 'pry' gem cannot be loaded"
    end
end

module Autoproj
    # This module is the common setup for all tests
    #
    # It should be included in the toplevel describe blocks
    #
    # @example
    #   require 'rubylib/test'
    #   describe Autoproj do
    #     include Autoproj::SelfTest
    #   end
    #
    module SelfTest
        attr_reader :ws

        def setup
            @tmpdir = Array.new
            @ws = Workspace.new('/test/dir')
            ws.config = Configuration.new
            Autoproj.workspace = ws

            super
        end

        def create_bootstrap
            dir = Dir.mktmpdir
            @tmpdir << dir
            require 'autoproj/ops/main_config_switcher'
            FileUtils.cp_r Ops::MainConfigSwitcher::MAIN_CONFIGURATION_TEMPLATE, File.join(dir, 'autoproj')
            Workspace.new(dir)
        end

        def teardown
            super
            @tmpdir.each do |dir|
                FileUtils.remove_entry_secure dir
            end
            Autobuild::Package.clear
        end
    end
end

class Minitest::Test
    include Autoproj::SelfTest
end

Version data entries

25 entries across 25 versions & 1 rubygems

Version Path
autoproj-2.0.0.rc26 lib/autoproj/test.rb
autoproj-2.0.0.rc25 lib/autoproj/test.rb
autoproj-2.0.0.rc24 lib/autoproj/test.rb
autoproj-2.0.0.rc23 lib/autoproj/test.rb
autoproj-2.0.0.rc22 lib/autoproj/test.rb
autoproj-2.0.0.rc21 lib/autoproj/test.rb
autoproj-2.0.0.rc20 lib/autoproj/test.rb
autoproj-2.0.0.rc19 lib/autoproj/test.rb
autoproj-2.0.0.rc18 lib/autoproj/test.rb
autoproj-2.0.0.rc17 lib/autoproj/test.rb
autoproj-2.0.0.rc16 lib/autoproj/test.rb
autoproj-2.0.0.rc15 lib/autoproj/test.rb
autoproj-2.0.0.rc14 lib/autoproj/test.rb
autoproj-2.0.0.rc13 lib/autoproj/test.rb
autoproj-2.0.0.rc12 lib/autoproj/test.rb
autoproj-2.0.0.rc11 lib/autoproj/test.rb
autoproj-2.0.0.rc10 lib/autoproj/test.rb
autoproj-2.0.0.rc9 lib/autoproj/test.rb
autoproj-2.0.0.rc8 lib/autoproj/test.rb
autoproj-2.0.0.rc6 lib/autoproj/test.rb