# 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("infrataster") 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