diff --git a/.gitmodules b/.gitmodules deleted file mode 100644 index eb34d3b96b..0000000000 --- a/.gitmodules +++ /dev/null @@ -1,3 +0,0 @@ -[submodule "spec/fixtures/modules/stdlib"] - path = spec/fixtures/modules/stdlib - url = https://github.com/puppetlabs/puppetlabs-stdlib.git diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000000..a4ec2c12e1 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,16 @@ +language: ruby +rvm: + - 1.8.7 +before_script: + - "git clone git://github.com/puppetlabs/puppetlabs-stdlib.git spec/fixtures/modules/stdlib" +after_script: +script: "rake spec" +branches: + only: + - master +env: + - PUPPET_VERSION=2.7.13 + - PUPPET_VERSION=2.7.6 + - PUPPET_VERSION=2.6.9 +notifications: + email: false diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000000..e4be4470c6 --- /dev/null +++ b/Gemfile @@ -0,0 +1,12 @@ +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' +end diff --git a/Rakefile b/Rakefile index 705d50de2f..5cbef6b45c 100644 --- a/Rakefile +++ b/Rakefile @@ -1,15 +1,29 @@ require 'rake' -require 'puppet-lint/tasks/puppet-lint' +require 'rspec/core/rake_task' task :default => [:spec] desc "Run all module spec tests (Requires rspec-puppet gem)" -task :spec do - system("rspec spec/**/*_spec.rb") +RSpec::Core::RakeTask.new(:spec) do |t| + t.rspec_opts = ['--color'] + t.pattern = 'spec/{classes,defines,unit}/**/*_spec.rb' end -desc "Build package" +desc "Build puppet module package" task :build do - system("puppet-module build") + # 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 diff --git a/spec/fixtures/modules/stdlib b/spec/fixtures/modules/stdlib deleted file mode 160000 index a70b09d5de..0000000000 --- a/spec/fixtures/modules/stdlib +++ /dev/null @@ -1 +0,0 @@ -Subproject commit a70b09d5de035de5254ebe6ad6e1519a6d7cf588