Module: PDQTest::Rspec
- Defined in:
- lib/pdqtest/rspec.rb
Constant Summary collapse
- SPEC_DIR =
'./spec'
- SPEC_CLASSES_DIR =
"#{SPEC_DIR}/classes"
- MODULE_CACHE_DIR =
"#{Util::}/cache/modules"
Class Method Summary collapse
Class Method Details
.class2specfile(c) ⇒ Object
43 44 45 46 |
# File 'lib/pdqtest/rspec.rb', line 43 def self.class2specfile(c) pp = Puppet::class2filename(c) pp.gsub(Puppet::MANIFESTS_DIR, SPEC_CLASSES_DIR).gsub('.pp', '_spec.rb') end |
.gen_specs ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
# File 'lib/pdqtest/rspec.rb', line 48 def self.gen_specs classes = PDQTest::Puppet::find_classes classes.each { |classname| spec_file = class2specfile(classname) if File.exists?(spec_file) Escort::Logger.output.puts "Skipped #{classname} - tests already exist at #{spec_file}" else # first ensure any nested directories exist base_dir = File.dirname(spec_file) if ! Dir.exists?(base_dir) FileUtils.mkdir_p(base_dir) end # process the rspec template into a new file PDQTest::Skeleton.install_template(spec_file, 'rspec.rb.erb', {:classname=>classname}) end } end |
.run ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/pdqtest/rspec.rb', line 18 def self.run if ! Dir.exists?(MODULE_CACHE_DIR) FileUtils.mkdir_p(MODULE_CACHE_DIR) end status = PDQTest::Puppet.install_modules() if status PDQTest::Puppet.git_fixtures.each { |extra_mod_install_cmd| if status cmd = "bundle exec #{extra_mod_install_cmd}" status &= system(cmd) end if ! status Escort::Logger.error.error "Install git fixtures failed: #{cmd}" end } if status status &= system("bundle exec rake spec") end end PDQTest::Emoji.partial_status(status, 'RSpec-Puppet') status end |