-
Notifications
You must be signed in to change notification settings - Fork 8
/
Rakefile
29 lines (26 loc) · 1.06 KB
/
Rakefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require 'puppetlabs_spec_helper/rake_tasks'
require 'puppet-lint/tasks/puppet-lint'
PuppetLint.configuration.send('disable_80chars')
PuppetLint.configuration.ignore_paths = ["spec/**/*.pp", "pkg/**/*.pp", "tests/**/*.pp"]
desc "Validate manifests, templates, and ruby files"
task :syntax_validate do
Dir['manifests/**/*.pp'].each do |manifest|
flags = ENV['FUTURE_PARSER'] == 'yes' ? '--parser future' : ''
sh "puppet parser validate --noop #{flags} #{manifest}"
end
Dir['spec/**/*.rb','lib/**/*.rb'].each do |ruby_file|
sh "ruby -c #{ruby_file}" unless ruby_file =~ /spec\/fixtures/
end
Dir['templates/**/*.erb'].each do |template|
sh "erb -P -x -T '-' #{template} | ruby -c"
end
#Validate epp template Checks
Dir['templates/**/*.epp'].each do |template|
# Although you can use epp with Puppet < 4 + future parser, the epp
# subcommand won't be available so we can't actually test these :(
unless ENV['FUTURE_PARSER'] == "yes"
sh "puppet epp validate #{template}"
end
end
end
task :test => [:syntax_validate, :lint, :spec]