ryotarai/infrataster

View on GitHub
lib/infrataster/fixtures/Rakefile.erb

Summary

Maintainability
Test Coverage
# Generated by `infrataster init`

require "rspec/core/rake_task"

def exec_and_abort_if_fail(cmd)
  system cmd
  unless $?.exitstatus == 0
    $stderr.puts "'#{cmd}' failed."
    abort
  end
end

desc 'Run tests'
task :spec => ['spec:integration']

namespace :spec do
  RSpec::Core::RakeTask.new("integration") do |task|
    task.pattern = "./spec/{,/*/**}/*_spec.rb"
  end

  desc 'Prepare'
  task :prepare do
    exec_and_abort_if_fail '/usr/bin/vagrant up'
    exec_and_abort_if_fail '/usr/bin/vagrant provision'
  end

  desc 'Provision'
  task :provision do
    exec_and_abort_if_fail '/usr/bin/vagrant provision'
  end

  desc 'Restart VMs'
  task :restart do
    exec_and_abort_if_fail '/usr/bin/vagrant reload --provision'
  end

  desc 'Clean'
  task :clean do
    exec_and_abort_if_fail '/usr/bin/vagrant destroy -f'
  end
end