From afba13ed265aade1a5d98fffd3d47060f810c9a7 Mon Sep 17 00:00:00 2001 From: Branan Purvine-Riley Date: Thu, 31 May 2012 17:18:34 -0700 Subject: [PATCH] Update to use puppetlabs_spec_helper gem * Automatically populate fixtures directory on spec runs * Avoid duplicating spec_helper and Rakefile between modules * Prepend fixtures to modulepath instead of overriding * Remove recursive symlink in fixtures dir --- .fixtures.yml | 9 +++++++++ .gemfile | 5 +++++ Rakefile | 15 +-------------- spec/fixtures/modules/nova | 1 - spec/spec_helper.rb | 19 +------------------ 5 files changed, 16 insertions(+), 33 deletions(-) create mode 100644 .fixtures.yml create mode 100644 .gemfile delete mode 120000 spec/fixtures/modules/nova diff --git a/.fixtures.yml b/.fixtures.yml new file mode 100644 index 00000000..29682310 --- /dev/null +++ b/.fixtures.yml @@ -0,0 +1,9 @@ +fixtures: + repositories: + "apt": "git://github.com/puppetlabs/puppetlabs-apt.git" + "keystone": "git://github.com/puppetlabs/puppetlabs-keystone.git" + "mysql": "git://github.com/puppetlabs/puppetlabs-mysql.git" + "stdlib": "git://github.com/puppetlabs/puppetlabs-stdlib.git" + "sysctl": "git://github.com/duritong/puppet-sysctl.git" + symlinks: + "nova": "#{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/Rakefile b/Rakefile index 54f82d56..cd3d3799 100644 --- a/Rakefile +++ b/Rakefile @@ -1,14 +1 @@ -require 'rake' -require 'rubygems' -require 'rspec/core/rake_task' - -task :default => [:spec] - -desc "Run all module spec tests (Requires rspec-puppet gem)" -RSpec::Core::RakeTask.new(:spec) - -desc "Build package" -task :build do - system("puppet-module build") -end - +require 'puppetlabs_spec_helper/rake_tasks' diff --git a/spec/fixtures/modules/nova b/spec/fixtures/modules/nova deleted file mode 120000 index 6bc36dbb..00000000 --- a/spec/fixtures/modules/nova +++ /dev/null @@ -1 +0,0 @@ -../../../../nova \ No newline at end of file diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 1a1c3c4f..2c6f5664 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,18 +1 @@ -require 'puppet' -require 'rspec' -require 'rspec-puppet' - -def param_value(subject, type, title, param) - subject.resource(type, title).send(:parameters)[param.to_sym] -end - -def verify_contents(subject, title, expected_lines) - content = subject.resource('file', title).send(:parameters)[:content] - (content.split("\n") & expected_lines).should == expected_lines -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')) -end +require 'puppetlabs_spec_helper/module_spec_helper'