Class: Busser::RunnerPlugin::Rspec
- Inherits:
-
Base
- Object
- Base
- Busser::RunnerPlugin::Rspec
- Defined in:
- lib/busser/runner_plugin/rspec.rb
Overview
A Busser runner plugin for Rspec.
Instance Method Summary collapse
Instance Method Details
#test ⇒ Object
32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/busser/runner_plugin/rspec.rb', line 32 def test rspec_path = suite_path('rspec').to_s setup_file = File.join(rspec_path, "setup-recipe.rb") Dir.chdir(rspec_path) do if File.exists?(File.join(rspec_path, "Gemfile")) # Bundle install local completes quickly if the gems are already found locally # it fails if it needs to talk to the internet. The || below is the fallback # to the internet-enabled version. It's a speed optimization. run("#{Gem.bindir}/bundle install --local || #{Gem.bindir}/bundle install") end if File.exists?(setup_file) if !File.exists?("/opt/chef/bin/chef-apply") raise "You have a chef setup file at #{setup_file}, but /opt/chef/bin/chef-apply does not if exist" end run("/opt/chef/bin/chef-apply #{setup_file}") end runner = File.(File.join(File.dirname(__FILE__), "..", "rspec", "runner.rb")) run_ruby_script!("#{runner} -I #{rspec_path} -I #{rspec_path}/lib #{rspec_path}") end end |