Skip to content

Commit

Permalink
Merge pull request #142 from strider/RSPECTestsInfra
Browse files Browse the repository at this point in the history
Add Rakefile to run rspec tests over all the puppet modules.
  • Loading branch information
xbezdick committed Nov 18, 2014
2 parents d46c9cb + 4244305 commit fbba49a
Show file tree
Hide file tree
Showing 4 changed files with 77 additions and 0 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
*.swp
Gemfile.lock
.vendor
vendor
*/spec/*
19 changes: 19 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
language: ruby
install:
- gem install bundler
- gem install rake
- gem install r10k
script: "rake test SPEC_OPTS='--format documentation --color --backtrace'"
rvm:
- 1.9.3
- 2.0.0
matrix:
fast_finish: true
env:
matrix:
- PUPPET_GEM_VERSION="~> 3.3.0"
- PUPPET_GEM_VERSION="~> 3.4.0"
- PUPPET_GEM_VERSION="~> 3.6.0"
- PUPPET_GEM_VERSION="~> 3.7.0"
notifications:
email: false
21 changes: 21 additions & 0 deletions Gemfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
source ENV['GEM_SOURCE'] || "https://rubygems.org"

group :development, :test do
gem 'bundler'
gem 'r10k'
gem 'rake', '10.1.1'
end

if facterversion = ENV['FACTER_GEM_VERSION']
gem 'facter', facterversion, :require => false
else
gem 'facter', :require => false
end

if puppetversion = ENV['PUPPET_GEM_VERSION']
gem 'puppet', puppetversion, :require => false
else
gem 'puppet', :require => false
end

# vim:ft=ruby
32 changes: 32 additions & 0 deletions Rakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
task(:default).clear
task :default => :test

desc 'Run Puppetfile Validation'
task :test => [:validate_puppetfile,:all_modules]

desc "Validate the Puppetfile syntax"
task :validate_puppetfile do
$stderr.puts "---> syntax:puppetfile"
sh "r10k puppetfile check"
end

desc "Run rspec tests for each modules"
task :all_modules do
FileList["*/Rakefile"].each do |project|
dir = project.pathmap("%d")
Dir.chdir(dir) do
puts "======"
puts "= Running spec test for #{project}"
puts "======"
system('rm -Rf vendor/')
system('rm -Rf .bundle/')
FileUtils.mkdir 'vendor'
ENV['GEM_HOME'] = "vendor"
system('bundle install --path=vendor/ --gemfile=./Gemfile')
ENV['BUNDLE_GEMFILE'] = "./Gemfile"
system('bundle exec rake spec')
system('rm -Rf vendor')
system('rm -Rf .bundle/')
end
end
end

0 comments on commit fbba49a

Please sign in to comment.