Sha256: 42d43b6f619b4b5c90988ce10251355aa94f39a67007c75092dc3b66fd6698b2

Contents?: true

Size: 1.73 KB

Versions: 2

Compression:

Stored size: 1.73 KB

Contents

require 'bundler/setup'
require 'bundler/gem_tasks'
require 'rspec/core/rake_task'
require 'rubocop/rake_task'
require 'yard'

Rubocop::RakeTask.new
YARD::Rake::YardocTask.new

namespace :test do

  RSpec::Core::RakeTask.new(:unit) do |t|
    t.pattern = "test/unit/**/*_spec.rb"
  end

  desc "Run acceptance tests..these actually launch Vagrant sessions."
  task :acceptance, :provider do |t, args|

    # ensure all required dummy boxen are installed
    %w{ aws rackspace }.each do |provider|
      unless system("vagrant box list | grep 'dummy\s*(#{provider})' &>/dev/null")
        system("vagrant box add dummy https://github.com/mitchellh/vagrant-#{provider}/raw/master/dummy.box")
      end
    end

    unless system("vagrant box list | grep 'digital_ocean' &>/dev/null")
      system("vagrant box add digital_ocean https://github.com/smdahlen/vagrant-digitalocean/raw/master/box/digital_ocean.box")
    end

    all_providers = Dir["test/acceptance/*"].map{|dir| File.basename(File.expand_path(dir))}

    # If a provider wasn't passed to the task run acceptance tests against
    # ALL THE PROVIDERS!
    providers = if args[:provider] && all_providers.include?(args[:provider])
                  [args[:provider]]
                else
                  all_providers
                end

    providers.each do |provider|
      puts "=================================================================="
      puts "Running acceptance tests against '#{provider}' provider..."
      puts "=================================================================="

      Dir.chdir("test/acceptance/#{provider}") do
        system("vagrant destroy -f")
        system("vagrant up --provider=#{provider}")
        system("vagrant destroy -f")
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
vagrant-omnibus-1.2.1 Rakefile
vagrant-omnibus-1.2.0 Rakefile