From 7498630b013c16105a2f05882599e07ed5043969 Mon Sep 17 00:00:00 2001 From: Gene Liverman Date: Sun, 7 May 2017 09:09:25 -0700 Subject: [PATCH] Tests work better when a Rakefile is present... --- .puppet-lint.rc | 1 + .rspec | 3 +++ Rakefile | 39 +++++++++++++++++++++++++++++++++++++++ 3 files changed, 43 insertions(+) create mode 100644 .puppet-lint.rc create mode 100644 .rspec create mode 100644 Rakefile diff --git a/.puppet-lint.rc b/.puppet-lint.rc new file mode 100644 index 0000000..0a6b04e --- /dev/null +++ b/.puppet-lint.rc @@ -0,0 +1 @@ +--no-class_inherits_from_params_class-check diff --git a/.rspec b/.rspec new file mode 100644 index 0000000..6278ec5 --- /dev/null +++ b/.rspec @@ -0,0 +1,3 @@ +--format documentation +--color +--tty diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..28ff8b3 --- /dev/null +++ b/Rakefile @@ -0,0 +1,39 @@ +require 'rubygems' +require 'puppetlabs_spec_helper/rake_tasks' +require 'puppet-lint/tasks/puppet-lint' + +begin + require 'puppet_blacksmith/rake_tasks' +rescue LoadError +end + +exclude_paths = [ + "pkg/**/*", + "vendor/**/*", + "spec/**/*", +] + +PuppetLint.configuration.fail_on_warnings = true +PuppetLint.configuration.ignore_paths = exclude_paths +PuppetLint.configuration.log_format = "%{path}:%{linenumber}:%{check}:%{KIND}:%{message}" + +PuppetSyntax.exclude_paths = exclude_paths + +desc "Validate manifests, templates, and ruby files" +task :validate do + Dir['manifests/**/*.pp'].each do |manifest| + sh "puppet parser validate --noop #{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 +end + +task :tests do + Rake::Task[:lint].invoke + Rake::Task[:validate].invoke + Rake::Task[:spec].invoke +end