https://github.com/npwalker/rspec_function_issue
An example of trying to test a puppet code function that uses the $facts hash
https://github.com/npwalker/rspec_function_issue
Last synced: about 1 year ago
JSON representation
An example of trying to test a puppet code function that uses the $facts hash
- Host: GitHub
- URL: https://github.com/npwalker/rspec_function_issue
- Owner: npwalker
- License: apache-2.0
- Created: 2017-04-12T16:40:35.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-04-24T15:01:41.000Z (about 9 years ago)
- Last Synced: 2025-03-11T09:40:43.769Z (over 1 year ago)
- Language: Ruby
- Homepage:
- Size: 24.4 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.markdown
- Changelog: CHANGELOG
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# https://github.com/rodjek/rspec-puppet/issues/503
This repo exists to display an issue with rspec-puppet which has since been fixed in a commit after 2.5.0 was released and is not in an official release at the time of this writing.
# rspec puppet code function issue
This repo contains two puppet code only functions that do the exact same thing.
One of the functions uses $facts and one of the uses $:: top-scope variables.
The version using $facts cannot find the fact values.
What's strange is that if you use the function in a manifest it will not fail
the manifest. I assume the $facts hash is populated for classes but not for
functions.
## rspec tests fail when using $facts inside of a puppet code FunctionMatchers
~~~
NoWay:rspec_function_issue nw$ bundle exec rake spec
fatal: destination path 'spec/fixtures/modules/stdlib' already exists and is not an empty directory.
/usr/local/var/rbenv/versions/2.1.9/bin/ruby -I/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib:/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-support-3.1.2/lib /Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/exe/rspec --pattern spec/\{aliases,classes,defines,unit,functions,hosts,integration,type_aliases,types\}/\*\*/\*_spec.rb --color
rspec_function_issue::os_uses_systemd_facts
when on sles 12 with systemD
should run rspec_function_issue::os_uses_systemd_facts() and return true (FAILED - 1)
when on sles 11 without systemD
should run rspec_function_issue::os_uses_systemd_facts() and return false (FAILED - 2)
when on ubuntu 14.04 without systemD
should run rspec_function_issue::os_uses_systemd_facts() and return false (FAILED - 3)
when on ubuntu 16.04 with systemD
should run rspec_function_issue::os_uses_systemd_facts() and return true (FAILED - 4)
when on redhat 6 without systemD
should run rspec_function_issue::os_uses_systemd_facts() and return false (FAILED - 5)
when on redhat 7 with systemD
should run rspec_function_issue::os_uses_systemd_facts() and return true (FAILED - 6)
rspec_function_issue::os_uses_systemd
when on sles 12 with systemD
should run rspec_function_issue::os_uses_systemd() and return true
when on sles 11 without systemD
should run rspec_function_issue::os_uses_systemd() and return false
when on ubuntu 14.04 without systemD
should run rspec_function_issue::os_uses_systemd() and return false
when on ubuntu 16.04 with systemD
should run rspec_function_issue::os_uses_systemd() and return true
when on redhat 6 without systemD
should run rspec_function_issue::os_uses_systemd() and return false
when on redhat 7 with systemD
should run rspec_function_issue::os_uses_systemd() and return true
Failures:
1) rspec_function_issue::os_uses_systemd_facts when on sles 12 with systemD should run rspec_function_issue::os_uses_systemd_facts() and return true
Failure/Error: it { is_expected.to run.and_return(true) }
expected rspec_function_issue::os_uses_systemd_facts() to have returned true instead of raising Puppet::PreformattedError(Evaluation Error: Operator '[]' is not applicable to an Undef Value. at /Users/nw/git_repos/rspec_function_issue/spec/fixtures/modules/rspec_function_issue/functions/os_uses_systemd_facts.pp:2:24)
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:39:in `optionally_fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:21:in `fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:30:in `access_Object'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:48:in `block in visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:81:in `visit_this_2'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:24:in `access'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:482:in `eval_AccessExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:48:in `block in visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:71:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:488:in `eval_ComparisonExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:48:in `block in visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:71:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:608:in `eval_AndExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:48:in `block in visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:71:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:695:in `eval_ParenthesizedExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:48:in `block in visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:71:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:359:in `eval_AssignmentExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:48:in `block in visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:71:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `block in eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `reduce'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:48:in `block in visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:42:in `visit_this'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:71:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:178:in `block in evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:938:in `with_guarded_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:174:in `evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:225:in `block in call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:77:in `block in invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:911:in `without_ephemeral_scopes'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:901:in `with_global_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:76:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:38:in `block in dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:46:in `block in call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:19:in `block in execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/context.rb:65:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet.rb:293:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:18:in `execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/matchers/run.rb:10:in `matches?'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/expectation_target.rb:54:in `to'
/Users/nw/git_repos/rspec_function_issue/spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:19:in `block (3 levels) in '
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `instance_exec'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:329:in `with_around_example_hooks'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:149:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:490:in `block in run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:453:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block (2 levels) in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/reporter.rb:53:in `report'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:107:in `run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:85:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/exe/rspec:4:in `'
# ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:19:in `block (3 levels) in '
2) rspec_function_issue::os_uses_systemd_facts when on sles 11 without systemD should run rspec_function_issue::os_uses_systemd_facts() and return false
Failure/Error: it { is_expected.to run.and_return(false) }
expected rspec_function_issue::os_uses_systemd_facts() to have returned false instead of raising Puppet::PreformattedError(Evaluation Error: Operator '[]' is not applicable to an Undef Value. at /Users/nw/git_repos/rspec_function_issue/spec/fixtures/modules/rspec_function_issue/functions/os_uses_systemd_facts.pp:2:24)
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:39:in `optionally_fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:21:in `fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:30:in `access_Object'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:79:in `visit_this_2'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:24:in `access'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:482:in `eval_AccessExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:488:in `eval_ComparisonExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:608:in `eval_AndExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:695:in `eval_ParenthesizedExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:359:in `eval_AssignmentExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `block in eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `reduce'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:178:in `block in evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:938:in `with_guarded_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:174:in `evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:225:in `block in call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:77:in `block in invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:911:in `without_ephemeral_scopes'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:901:in `with_global_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:76:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:38:in `block in dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:46:in `block in call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:19:in `block in execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/context.rb:65:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet.rb:293:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:18:in `execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/matchers/run.rb:10:in `matches?'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/expectation_target.rb:54:in `to'
/Users/nw/git_repos/rspec_function_issue/spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:29:in `block (3 levels) in '
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `instance_exec'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:329:in `with_around_example_hooks'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:149:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:490:in `block in run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:453:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block (2 levels) in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/reporter.rb:53:in `report'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:107:in `run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:85:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/exe/rspec:4:in `'
# ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:29:in `block (3 levels) in '
3) rspec_function_issue::os_uses_systemd_facts when on ubuntu 14.04 without systemD should run rspec_function_issue::os_uses_systemd_facts() and return false
Failure/Error: it { is_expected.to run.and_return(false) }
expected rspec_function_issue::os_uses_systemd_facts() to have returned false instead of raising Puppet::PreformattedError(Evaluation Error: Operator '[]' is not applicable to an Undef Value. at /Users/nw/git_repos/rspec_function_issue/spec/fixtures/modules/rspec_function_issue/functions/os_uses_systemd_facts.pp:2:24)
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:39:in `optionally_fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:21:in `fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:30:in `access_Object'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:79:in `visit_this_2'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:24:in `access'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:482:in `eval_AccessExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:488:in `eval_ComparisonExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:608:in `eval_AndExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:695:in `eval_ParenthesizedExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:359:in `eval_AssignmentExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `block in eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `reduce'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:178:in `block in evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:938:in `with_guarded_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:174:in `evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:225:in `block in call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:77:in `block in invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:911:in `without_ephemeral_scopes'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:901:in `with_global_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:76:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:38:in `block in dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:46:in `block in call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:19:in `block in execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/context.rb:65:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet.rb:293:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:18:in `execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/matchers/run.rb:10:in `matches?'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/expectation_target.rb:54:in `to'
/Users/nw/git_repos/rspec_function_issue/spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:40:in `block (3 levels) in '
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `instance_exec'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:329:in `with_around_example_hooks'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:149:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:490:in `block in run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:453:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block (2 levels) in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/reporter.rb:53:in `report'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:107:in `run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:85:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/exe/rspec:4:in `'
# ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:40:in `block (3 levels) in '
4) rspec_function_issue::os_uses_systemd_facts when on ubuntu 16.04 with systemD should run rspec_function_issue::os_uses_systemd_facts() and return true
Failure/Error: it { is_expected.to run.and_return(true) }
expected rspec_function_issue::os_uses_systemd_facts() to have returned true instead of raising Puppet::PreformattedError(Evaluation Error: Operator '[]' is not applicable to an Undef Value. at /Users/nw/git_repos/rspec_function_issue/spec/fixtures/modules/rspec_function_issue/functions/os_uses_systemd_facts.pp:2:24)
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:39:in `optionally_fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:21:in `fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:30:in `access_Object'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:79:in `visit_this_2'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:24:in `access'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:482:in `eval_AccessExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:488:in `eval_ComparisonExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:608:in `eval_AndExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:695:in `eval_ParenthesizedExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:359:in `eval_AssignmentExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `block in eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `reduce'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:178:in `block in evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:938:in `with_guarded_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:174:in `evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:225:in `block in call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:77:in `block in invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:911:in `without_ephemeral_scopes'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:901:in `with_global_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:76:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:38:in `block in dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:46:in `block in call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:19:in `block in execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/context.rb:65:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet.rb:293:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:18:in `execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/matchers/run.rb:10:in `matches?'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/expectation_target.rb:54:in `to'
/Users/nw/git_repos/rspec_function_issue/spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:51:in `block (3 levels) in '
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `instance_exec'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:329:in `with_around_example_hooks'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:149:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:490:in `block in run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:453:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block (2 levels) in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/reporter.rb:53:in `report'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:107:in `run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:85:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/exe/rspec:4:in `'
# ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:51:in `block (3 levels) in '
5) rspec_function_issue::os_uses_systemd_facts when on redhat 6 without systemD should run rspec_function_issue::os_uses_systemd_facts() and return false
Failure/Error: it { is_expected.to run.and_return(false) }
expected rspec_function_issue::os_uses_systemd_facts() to have returned false instead of raising Puppet::PreformattedError(Evaluation Error: Operator '[]' is not applicable to an Undef Value. at /Users/nw/git_repos/rspec_function_issue/spec/fixtures/modules/rspec_function_issue/functions/os_uses_systemd_facts.pp:2:24)
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:39:in `optionally_fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:21:in `fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:30:in `access_Object'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:79:in `visit_this_2'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:24:in `access'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:482:in `eval_AccessExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:488:in `eval_ComparisonExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:608:in `eval_AndExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:695:in `eval_ParenthesizedExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:359:in `eval_AssignmentExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `block in eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `reduce'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:178:in `block in evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:938:in `with_guarded_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:174:in `evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:225:in `block in call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:77:in `block in invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:911:in `without_ephemeral_scopes'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:901:in `with_global_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:76:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:38:in `block in dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:46:in `block in call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:19:in `block in execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/context.rb:65:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet.rb:293:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:18:in `execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/matchers/run.rb:10:in `matches?'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/expectation_target.rb:54:in `to'
/Users/nw/git_repos/rspec_function_issue/spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:63:in `block (3 levels) in '
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `instance_exec'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:329:in `with_around_example_hooks'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:149:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:490:in `block in run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:453:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block (2 levels) in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/reporter.rb:53:in `report'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:107:in `run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:85:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/exe/rspec:4:in `'
# ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:63:in `block (3 levels) in '
6) rspec_function_issue::os_uses_systemd_facts when on redhat 7 with systemD should run rspec_function_issue::os_uses_systemd_facts() and return true
Failure/Error: it { is_expected.to run.and_return(true) }
expected rspec_function_issue::os_uses_systemd_facts() to have returned true instead of raising Puppet::PreformattedError(Evaluation Error: Operator '[]' is not applicable to an Undef Value. at /Users/nw/git_repos/rspec_function_issue/spec/fixtures/modules/rspec_function_issue/functions/os_uses_systemd_facts.pp:2:24)
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:39:in `optionally_fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/runtime3_support.rb:21:in `fail'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:30:in `access_Object'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:79:in `visit_this_2'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/access_operator.rb:24:in `access'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:482:in `eval_AccessExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:488:in `eval_ComparisonExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:608:in `eval_AndExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:695:in `eval_ParenthesizedExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:359:in `eval_AssignmentExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `block in eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `each'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `reduce'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:638:in `eval_BlockExpression'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/visitor.rb:69:in `visit_this_1'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:82:in `evaluate'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:178:in `block in evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:938:in `with_guarded_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/evaluator_impl.rb:174:in `evaluate_block_with_bindings'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:225:in `block in call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:224:in `call_with_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:77:in `block in invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:911:in `without_ephemeral_scopes'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/parser/scope.rb:901:in `with_global_scope'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/evaluator/closure.rb:76:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:38:in `block in dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/dispatcher.rb:37:in `dispatch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:46:in `block in call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `catch'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/pops/functions/function.rb:45:in `call'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:19:in `block in execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet/context.rb:65:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/puppet-4.9.4/lib/puppet.rb:293:in `override'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/example/function_example_group.rb:18:in `execute'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-puppet-2.5.0/lib/rspec-puppet/matchers/run.rb:10:in `matches?'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/handler.rb:48:in `handle_matcher'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-expectations-3.1.2/lib/rspec/expectations/expectation_target.rb:54:in `to'
/Users/nw/git_repos/rspec_function_issue/spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:75:in `block (3 levels) in '
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `instance_exec'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:152:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:329:in `with_around_example_hooks'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example.rb:149:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:490:in `block in run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:486:in `run_examples'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:453:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `block in run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/example_group.rb:454:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block (2 levels) in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `map'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:111:in `block in run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/reporter.rb:53:in `report'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:107:in `run_specs'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:85:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:69:in `run'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib/rspec/core/runner.rb:37:in `invoke'
/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/exe/rspec:4:in `'
# ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:75:in `block (3 levels) in '
Finished in 0.66507 seconds (files took 1.35 seconds to load)
12 examples, 6 failures
Failed examples:
rspec ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:19 # rspec_function_issue::os_uses_systemd_facts when on sles 12 with systemD should run rspec_function_issue::os_uses_systemd_facts() and return true
rspec ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:29 # rspec_function_issue::os_uses_systemd_facts when on sles 11 without systemD should run rspec_function_issue::os_uses_systemd_facts() and return false
rspec ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:40 # rspec_function_issue::os_uses_systemd_facts when on ubuntu 14.04 without systemD should run rspec_function_issue::os_uses_systemd_facts() and return false
rspec ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:51 # rspec_function_issue::os_uses_systemd_facts when on ubuntu 16.04 with systemD should run rspec_function_issue::os_uses_systemd_facts() and return true
rspec ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:63 # rspec_function_issue::os_uses_systemd_facts when on redhat 6 without systemD should run rspec_function_issue::os_uses_systemd_facts() and return false
rspec ./spec/functions/rspec_function_issue_os_uses_systemd_facts_spec.rb:75 # rspec_function_issue::os_uses_systemd_facts when on redhat 7 with systemD should run rspec_function_issue::os_uses_systemd_facts() and return true
Coverage report generated for RSpec to /Users/nw/git_repos/rspec_function_issue/coverage. 0.0 / 0.0 LOC (100.0%) covered.
COVERAGE: 100.00% -- 0.0/0.0 lines in 0 files
Total resources: 0
Touched resources: 0
Resource coverage: NaN%
Untouched resources:
/usr/local/var/rbenv/versions/2.1.9/bin/ruby -I/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/lib:/Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-support-3.1.2/lib /Users/nw/git_repos/rspec_function_issue/vendor/bundle/ruby/2.1.0/gems/rspec-core-3.1.7/exe/rspec --pattern spec/\{aliases,classes,defines,unit,functions,hosts,integration,type_aliases,types\}/\*\*/\*_spec.rb --color failed
~~~