Module: PDQTest::Rspec
- Defined in:
- lib/pdqtest/rspec.rb
Constant Summary collapse
- SPEC_DIR =
'./spec'- SPEC_CLASSES_DIR =
"#{SPEC_DIR}/classes"
Class Method Summary collapse
Class Method Details
.class2specfile(c) ⇒ Object
35 36 37 38 |
# File 'lib/pdqtest/rspec.rb', line 35 def self.class2specfile(c) pp = Puppet::class2filename(c) pp.gsub(Puppet::MANIFESTS_DIR, SPEC_CLASSES_DIR).gsub('.pp', '_spec.rb') end |
.gen_specs ⇒ Object
40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/pdqtest/rspec.rb', line 40 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 template = File.read(Util::resource_path(File.join('templates', 'rspec.rb.erb'))) testcase = ERB.new(template, nil, '-').result(binding) File.write(spec_file, testcase) end } end |
.run ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/pdqtest/rspec.rb', line 12 def self.run cmd = "bundle exec librarian-puppet install --path ./spec/fixtures/modules --destructive" status = system(cmd) 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 else Escort::Logger.error.error "Librarian command failed: #{cmd}" end PDQTest::Emoji.partial_status(status, 'RSpec-Puppet') status end |