From 2d0d75950313f267084de3304104204ed06b6ab7 Mon Sep 17 00:00:00 2001 From: Branan Purvine-Riley Date: Fri, 25 May 2012 12:18:47 -0700 Subject: [PATCH] Update for the new puppetlabs_spec_helper gem * Add automatic fixtures creation to `rake spec` * Remove recursive symlink * Prepend fixtures modulepath instead of overriding * Update travis for the new automagical rake spec --- .fixtures.yml | 6 ++++++ .gemfile | 5 +++++ .travis.yml | 3 +-- Gemfile | 13 ------------- Rakefile | 36 +----------------------------------- spec/fixtures/modules/nodejs | 1 - spec/spec_helper.rb | 22 +--------------------- 7 files changed, 14 insertions(+), 72 deletions(-) create mode 100644 .fixtures.yml create mode 100644 .gemfile delete mode 100644 Gemfile delete mode 120000 spec/fixtures/modules/nodejs diff --git a/.fixtures.yml b/.fixtures.yml new file mode 100644 index 00000000..6dc7290f --- /dev/null +++ b/.fixtures.yml @@ -0,0 +1,6 @@ +fixtures: + repositories: + "stdlib": "git://github.com/puppetlabs/puppetlabs-stdlib.git" + "apt": "git://github.com/puppetlabs/puppetlabs-apt.git" + symlinks: + "nodejs": "#{source_dir}" diff --git a/.gemfile b/.gemfile new file mode 100644 index 00000000..9aad840c --- /dev/null +++ b/.gemfile @@ -0,0 +1,5 @@ +source :rubygems + +puppetversion = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : ['>= 2.7'] +gem 'puppet', puppetversion +gem 'puppetlabs_spec_helper', '>= 0.1.0' diff --git a/.travis.yml b/.travis.yml index d18d9afa..b0f94a60 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,8 +2,6 @@ language: ruby rvm: - 1.8.7 before_script: - - "git clone git://github.com/puppetlabs/puppetlabs-apt.git spec/fixtures/modules/apt - - "git clone git://github.com/puppetlabs/puppetlabs-stdlib.git spec/fixtures/modules/stdlib" after_script: script: "rake spec" branches: @@ -15,3 +13,4 @@ env: - PUPPET_VERSION=2.6.9 notifications: email: false +gemfile: .gemfile \ No newline at end of file diff --git a/Gemfile b/Gemfile deleted file mode 100644 index 7ba9ef9e..00000000 --- a/Gemfile +++ /dev/null @@ -1,13 +0,0 @@ -source :rubygems - -puppetversion = ENV.key?('PUPPET_VERSION') ? "= #{ENV['PUPPET_VERSION']}" : ['>= 2.7'] - -gem 'puppet', puppetversion - -group :test do - gem 'rake', '>= 0.9.0' - gem 'rspec', '>= 2.8.0' - gem 'rspec-puppet', '>= 0.1.1' - gem 'mocha', '>= 0.11.0' - gem 'puppet-lint', '>= 0.1.0' -end diff --git a/Rakefile b/Rakefile index 6f288367..cd3d3799 100644 --- a/Rakefile +++ b/Rakefile @@ -1,35 +1 @@ -require 'rubygems' -require 'rake' -require 'rspec/core/rake_task' - -task :default do - system("rake -T") -end - -task :specs => [:spec] - -desc "Run all rspec-puppet tests" -RSpec::Core::RakeTask.new(:spec) do |t| - t.rspec_opts = ['--color'] - # ignores fixtures directory. - t.pattern = 'spec/{classes,defines,unit}/**/*_spec.rb' -end - -desc "Build puppet module package" -task :build do - # This will be deprecated once puppet-module is a face. - begin - Gem::Specification.find_by_name('puppet-module') - rescue Gem::LoadError, NoMethodError - require 'puppet/face' - pmod = Puppet::Face['module', :current] - pmod.build('./') - end -end - -desc "Check puppet manifests with puppet-lint" -task :lint do - # This requires pull request: https://github.com/rodjek/puppet-lint/pull/81 - system("puppet-lint manifests") - system("puppet-lint tests") -end +require 'puppetlabs_spec_helper/rake_tasks' diff --git a/spec/fixtures/modules/nodejs b/spec/fixtures/modules/nodejs deleted file mode 120000 index 1b20c9fb..00000000 --- a/spec/fixtures/modules/nodejs +++ /dev/null @@ -1 +0,0 @@ -../../../ \ No newline at end of file diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 6b0d866d..2c6f5664 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,21 +1 @@ -require 'puppet' -require 'mocha' -require 'rspec' -require 'rspec-puppet' -require 'rspec/expectations' -require 'puppetlabs_spec_helper' - -def param_value(subject, type, title, param) - subject.resource(type, title).send(:parameters)[param.to_sym] -end - -RSpec.configure do |c| - c.module_path = File.expand_path(File.join(File.dirname(__FILE__), 'fixtures/modules')) - # Using an empty site.pp file to avoid: https://github.com/rodjek/rspec-puppet/issues/15 - c.manifest_dir = File.expand_path(File.join(File.dirname(__FILE__), 'fixtures/manifests')) - # Use fixtures for config file mainly to support using our own hiera.yaml settings. - # Pending: https://github.com/rodjek/rspec-puppet/pull/21 - # c.config = File.expand_path(File.join(File.dirname(__FILE__), 'fixtures/puppet.conf')) - # - c.mock_with :mocha -end +require 'puppetlabs_spec_helper/module_spec_helper'