---
sudo: false
language: ruby
+cache: bundler
bundler_args: --without system_tests
-script: "bundle exec rake validate && bundle exec rake lint && bundle exec rake spec SPEC_OPTS='--format documentation'"
+script: "bundle exec rake validate lint spec"
matrix:
fast_finish: true
include:
- - rvm: 1.8.7
+ - rvm: 2.1.6
+ env: PUPPET_GEM_VERSION="~> 4.0" STRICT_VARIABLES="yes"
+ - rvm: 2.1.5
+ env: PUPPET_GEM_VERSION="~> 3.0" FUTURE_PARSER="yes"
+ - rvm: 2.1.5
env: PUPPET_GEM_VERSION="~> 3.0"
- rvm: 1.9.3
env: PUPPET_GEM_VERSION="~> 3.0"
- - rvm: 2.1.5
- env: PUPPET_GEM_VERSION="~> 3.0"
- - rvm: 2.1.5
- env: PUPPET_GEM_VERSION="~> 3.0" FUTURE_PARSER="yes"
- - rvm: 2.1.6
- env: PUPPET_GEM_VERSION="~> 4.0" STRICT_VARIABLES="yes"
- - rvm: 1.8.7
- env: PUPPET_GEM_VERSION="~> 2.7.0" FACTER_GEM_VERSION="~> 1.6.0"
- - rvm: 1.8.7
- env: PUPPET_GEM_VERSION="~> 2.7.0" FACTER_GEM_VERSION="~> 1.7.0"
notifications:
email: false
source ENV['GEM_SOURCE'] || "https://rubygems.org"
def location_for(place, fake_version = nil)
- if place =~ /^(git:[^#]*)#(.*)/
+ if place =~ /^(git[:@][^#]*)#(.*)/
[fake_version, { :git => $1, :branch => $2, :require => false }].compact
elsif place =~ /^file:\/\/(.*)/
['>= 0', { :path => File.expand_path($1), :require => false }]
end
group :development, :unit_tests do
- # rspec-core 3.1.7 is the last version to support ruby 1.8
- if RUBY_VERSION < '1.9'
- gem 'rspec-core', '3.1.7'
- else
- # newer version required to avoid BKR-537
- gem 'rspec-core', '>= 3.4'
- end
- gem 'puppetlabs_spec_helper', :require => false
- gem 'simplecov', :require => false
- gem 'puppet_facts', :require => false
- gem 'json', :require => false
+ gem 'json', :require => false
+ gem 'metadata-json-lint', :require => false
+ gem 'puppet_facts', :require => false
+ gem 'puppet-blacksmith', :require => false
+ gem 'puppetlabs_spec_helper', :require => false
+ gem 'rspec-puppet', '>= 2.3.2', :require => false
+ gem 'simplecov', :require => false
end
-
group :system_tests do
+ gem 'beaker-puppet_install_helper', :require => false
if beaker_version = ENV['BEAKER_VERSION']
gem 'beaker', *location_for(beaker_version)
end
else
gem 'beaker-rspec', :require => false
end
- gem 'serverspec', :require => false
- gem 'beaker-puppet_install_helper', :require => false
+ gem 'master_manipulator', :require => false
+ gem 'serverspec', :require => false
end
-
-
if facterversion = ENV['FACTER_GEM_VERSION']
gem 'facter', facterversion, :require => false
else
-dir = File.expand_path(File.dirname(__FILE__))
-$LOAD_PATH.unshift File.join(dir, 'lib')
+require 'puppetlabs_spec_helper/module_spec_helper'
-# Don't want puppet getting the command line arguments for rake or autotest
-ARGV.clear
-
-require 'rubygems'
-require 'bundler/setup'
-require 'rspec-puppet'
-
-Bundler.require :default, :test
-
-require 'pathname'
-require 'tmpdir'
-
-Pathname.glob("#{dir}/shared_behaviours/**/*.rb") do |behaviour|
- require behaviour.relative_path_from(Pathname.new(dir))
-end
-
-fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures'))
-
-RSpec.configure do |config|
- config.tty = true
- config.mock_with :rspec do |c|
- c.syntax = :expect
- end
- config.module_path = File.join(fixture_path, 'modules')
- config.manifest_dir = File.join(fixture_path, 'manifests')
- config.environmentpath = File.expand_path(File.join(Dir.pwd, 'spec'))
+# put local configuration and setup into spec_helper_local
+begin
+ require 'spec_helper_local'
+rescue LoadError
end