52 строки
1.4 KiB
Ruby
52 строки
1.4 KiB
Ruby
require 'puppetlabs_spec_helper/rake_tasks'
|
|
require 'puppet/vendor/semantic/lib/semantic'
|
|
require 'puppet-lint/tasks/puppet-lint'
|
|
require 'puppet-syntax/tasks/puppet-syntax'
|
|
|
|
# These gems aren't always present, for instance
|
|
# on Travis with --without development
|
|
begin
|
|
require 'puppet_blacksmith/rake_tasks'
|
|
rescue LoadError
|
|
end
|
|
|
|
Rake::Task[:lint].clear
|
|
|
|
PuppetLint.configuration.relative = true
|
|
PuppetLint.configuration.send("disable_80chars")
|
|
PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}"
|
|
PuppetLint.configuration.fail_on_warnings = true
|
|
|
|
# Forsake support for Puppet 2.6.2 for the benefit of cleaner code.
|
|
# http://puppet-lint.com/checks/class_parameter_defaults/
|
|
PuppetLint.configuration.send('disable_class_parameter_defaults')
|
|
# http://puppet-lint.com/checks/class_inherits_from_params_class/
|
|
PuppetLint.configuration.send('disable_class_inherits_from_params_class')
|
|
|
|
exclude_paths = [
|
|
"bundle/**/*",
|
|
"pkg/**/*",
|
|
"vendor/**/*",
|
|
"spec/**/*",
|
|
]
|
|
PuppetLint.configuration.ignore_paths = exclude_paths
|
|
PuppetSyntax.exclude_paths = exclude_paths
|
|
PuppetSyntax.future_parser = true
|
|
|
|
desc "Run acceptance tests"
|
|
RSpec::Core::RakeTask.new(:acceptance) do |t|
|
|
t.pattern = 'spec/acceptance'
|
|
end
|
|
|
|
task :metadata do
|
|
sh "metadata-json-lint metadata.json"
|
|
end
|
|
|
|
desc "Run syntax, lint, and spec tests."
|
|
task :test => [
|
|
:syntax,
|
|
:lint,
|
|
:spec,
|
|
:metadata,
|
|
]
|