From b20239e7963a370d4a4eefb5754ddc6a2c072ab9 Mon Sep 17 00:00:00 2001 From: Morgan Haskel Date: Mon, 21 Sep 2015 14:12:25 -0700 Subject: [PATCH] Update is_a acceptance tests to only run on puppet4 --- spec/acceptance/is_a_spec.rb | 38 ++++++++++++++++++---------------- spec/spec_helper_acceptance.rb | 6 +++++- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/spec/acceptance/is_a_spec.rb b/spec/acceptance/is_a_spec.rb index 533673c..355fd83 100644 --- a/spec/acceptance/is_a_spec.rb +++ b/spec/acceptance/is_a_spec.rb @@ -1,28 +1,30 @@ #! /usr/bin/env ruby -S rspec require 'spec_helper_acceptance' -describe 'is_a function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do - it 'should match a string' do - pp = <<-EOS - if 'hello world'.is_a(String) { - notify { 'output correct': } - } - EOS +if get_puppet_version =~ /^4/ + describe 'is_a function', :unless => UNSUPPORTED_PLATFORMS.include?(fact('operatingsystem')) do + it 'should match a string' do + pp = <<-EOS + if 'hello world'.is_a(String) { + notify { 'output correct': } + } + EOS - apply_manifest(pp, :catch_failures => true) do |r| - expect(r.stdout).to match(/Notice: output correct/) + apply_manifest(pp, :catch_failures => true) do |r| + expect(r.stdout).to match(/Notice: output correct/) + end end - end - it 'should not match a integer as string' do - pp = <<-EOS - if 5.is_a(String) { - notify { 'output wrong': } - } - EOS + it 'should not match a integer as string' do + pp = <<-EOS + if 5.is_a(String) { + notify { 'output wrong': } + } + EOS - apply_manifest(pp, :catch_failures => true) do |r| - expect(r.stdout).not_to match(/Notice: output wrong/) + apply_manifest(pp, :catch_failures => true) do |r| + expect(r.stdout).not_to match(/Notice: output wrong/) + end end end end diff --git a/spec/spec_helper_acceptance.rb b/spec/spec_helper_acceptance.rb index f784112..eda0d1a 100755 --- a/spec/spec_helper_acceptance.rb +++ b/spec/spec_helper_acceptance.rb @@ -33,9 +33,13 @@ def is_future_parser_enabled? return false end +def get_puppet_version + (on default, puppet('--version')).output.chomp +end + RSpec.shared_context "with faked facts" do let(:facts_d) do - puppet_version = (on default, puppet('--version')).output.chomp + puppet_version = get_puppet_version if fact('osfamily') =~ /windows/i if fact('kernelmajversion').to_f < 6.0 'C:/Documents and Settings/All Users/Application Data/PuppetLabs/facter/facts.d'