-source 'https://rubygems.org'
+source ENV['GEM_SOURCE'] || "https://rubygems.org"
group :development, :test do
- gem 'puppetlabs_spec_helper', :require => false
- gem 'rspec-puppet', '~> 2.1.0', :require => false
-
- gem 'metadata-json-lint'
- gem 'puppet-lint-param-docs'
- gem 'puppet-lint-absolute_classname-check'
- gem 'puppet-lint-absolute_template_path'
- gem 'puppet-lint-trailing_newline-check'
+ gem 'puppetlabs_spec_helper', :require => 'false'
+ gem 'rspec-puppet', '~> 2.2.0', :require => 'false'
+ gem 'metadata-json-lint', :require => 'false'
+ gem 'puppet-lint-param-docs', :require => 'false'
+ gem 'puppet-lint-absolute_classname-check', :require => 'false'
+ gem 'puppet-lint-absolute_template_path', :require => 'false'
+ gem 'puppet-lint-trailing_newline-check', :require => 'false'
+ gem 'puppet-lint-unquoted_string-check', :require => 'false'
+ gem 'puppet-lint-leading_zero-check', :require => 'false'
+ gem 'puppet-lint-variable_contains_upcase', :require => 'false'
+ gem 'puppet-lint-numericvariable', :require => 'false'
+ gem 'json', :require => 'false'
+ gem 'webmock', :require => 'false'
+end
- # Puppet 4.x related lint checks
- gem 'puppet-lint-unquoted_string-check'
- gem 'puppet-lint-leading_zero-check'
- gem 'puppet-lint-variable_contains_upcase'
- gem 'puppet-lint-numericvariable'
+group :system_tests do
+ gem 'beaker-rspec', :require => 'false'
+ gem 'beaker-puppet_install_helper', :require => 'false'
+end
- gem 'beaker-rspec', :require => false
- gem 'beaker-puppet_install_helper', :require => false
- gem 'json'
- gem 'webmock'
+if facterversion = ENV['FACTER_GEM_VERSION']
+ gem 'facter', facterversion, :require => false
+else
+ gem 'facter', :require => false
end
if puppetversion = ENV['PUPPET_GEM_VERSION']
require 'puppet-lint/tasks/puppet-lint'
require 'puppet-syntax/tasks/puppet-syntax'
-PuppetLint.configuration.fail_on_warnings = true
-PuppetLint.configuration.send('disable_80chars')
-PuppetLint.configuration.send('disable_class_parameter_defaults')
-PuppetLint.configuration.send('disable_only_variable_string')
+PuppetSyntax.exclude_paths ||= []
+PuppetSyntax.exclude_paths << "spec/fixtures/**/*"
+PuppetSyntax.exclude_paths << "pkg/**/*"
+PuppetSyntax.exclude_paths << "vendor/**/*"
-exclude_tests_paths = ['pkg/**/*','vendor/**/*']
-PuppetLint.configuration.ignore_paths = exclude_tests_paths
-PuppetSyntax.exclude_paths = exclude_tests_paths
+Rake::Task[:lint].clear
+PuppetLint::RakeTask.new :lint do |config|
+ config.ignore_paths = ["spec/**/*.pp", "vendor/**/*.pp"]
+ config.fail_on_warnings = true
+ config.log_format = '%{path}:%{linenumber}:%{KIND}: %{message}'
+ config.disable_checks = ["80chars", "class_inherits_from_params_class", "class_parameter_defaults", "only_variable_string"]
+end
+
+desc "Run acceptance tests"
+RSpec::Core::RakeTask.new(:acceptance) do |t|
+ t.pattern = 'spec/acceptance'
+end