Thorfile in berkshelf-0.6.0.beta3 vs Thorfile in berkshelf-0.6.0.beta4

- old
+ new

@@ -6,46 +6,64 @@ require 'berkshelf' require 'thor/rake_compat' class Default < Thor - include Thor::RakeCompat - Bundler::GemHelper.install_tasks + class Gem < Thor + include Thor::RakeCompat + Bundler::GemHelper.install_tasks - desc "build", "Build berkshelf-#{Berkshelf::VERSION}.gem into the pkg directory" - def build - Rake::Task["build"].execute - end + namespace :gem - desc "install", "Build and install berkshelf-#{Berkshelf::VERSION}.gem into system gems" - def install - Rake::Task["install"].execute - end + desc "build", "Build berkshelf-#{Berkshelf::VERSION}.gem into the pkg directory" + def build + Rake::Task["build"].execute + end - desc "release", "Create tag v#{Berkshelf::VERSION} and build and push berkshelf-#{Berkshelf::VERSION}.gem to Rubygems" - def release - Rake::Task["release"].execute - end + desc "release", "Create tag v#{Berkshelf::VERSION} and build and push berkshelf-#{Berkshelf::VERSION}.gem to Rubygems" + def release + Rake::Task["release"].execute + end - desc "spec", "Run RSpec code examples" - def spec - exec "rspec --color --format=documentation spec" + desc "install", "Build and install berkshelf-#{Berkshelf::VERSION}.gem into system gems" + def install + Rake::Task["install"].execute + end end - desc "cucumber", "Run Cucumber features" - def cucumber - exec "cucumber --color --format progress --tags ~@no_run" - end + class Spec < Thor + include Thor::Actions - desc "ci", "Run all test suites" - def ci - ENV['CI'] = 'true' # Travis-CI also sets this, but set it here for local testing - exec "rspec --tag ~chef_server --tag ~focus spec && - cucumber --format progress --tags ~@chef_server" + namespace :spec + default_task :all + + desc "all", "Run all tests" + def all + invoke(:unit) + invoke(:acceptance) + end + + desc "ci", "Run all possible tests on Travis-CI" + def ci + ENV['CI'] = 'true' # Travis-CI also sets this, but set it here for local testing + run "rspec --tag ~chef_server --tag ~focus --color --format=documentation spec" + run "cucumber --format pretty --tags ~@chef_server" + end + + desc "unit", "Run unit tests" + def unit + run "rspec --color --format=documentation spec" + end + + desc "acceptance", "Run acceptance tests" + def acceptance + run "cucumber --color --format pretty --tags ~@no_run" + end end class VCR < Thor namespace :vcr + default_task :clean desc "clean", "clean VCR cassettes" def clean FileUtils.rm_rf("spec/fixtures/vcr_cassettes") end