puppet 3.8.7-x64-mingw32 → 4.0.0.rc1-x64-mingw32
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of puppet might be problematic. Click here for more details.
- data/CONTRIBUTING.md +26 -11
- data/Gemfile +13 -25
- data/LICENSE +1 -1
- data/Rakefile +9 -0
- data/bin/puppet +7 -6
- data/conf/auth.conf +30 -26
- data/conf/environment.conf +16 -0
- data/conf/fileserver.conf +2 -2
- data/conf/puppet.conf +6 -0
- data/ext/README.environment +1 -1
- data/ext/build_defaults.yaml +16 -7
- data/ext/debian/control +5 -5
- data/ext/debian/puppet-common.manpages +0 -5
- data/ext/debian/puppet-common.postinst +3 -3
- data/ext/debian/puppet.init +23 -12
- data/ext/debian/puppet.logrotate +1 -2
- data/ext/debian/puppetmaster-common.postinst +6 -0
- data/ext/debian/puppetmaster.init +5 -5
- data/ext/debian/rules +4 -1
- data/ext/debian/vim-puppet.dirs +2 -0
- data/ext/debian/vim-puppet.yaml +2 -0
- data/ext/emacs/puppet-mode.el +0 -1
- data/ext/gentoo/conf.d/puppet +1 -1
- data/ext/gentoo/conf.d/puppetmaster +1 -1
- data/ext/nagios/check_puppet.rb +1 -1
- data/ext/project_data.yaml +6 -7
- data/ext/puppet-nm-dispatcher +13 -0
- data/ext/puppet-test +0 -66
- data/ext/puppetlisten/puppetlisten.rb +7 -5
- data/ext/rack/config.ru +12 -5
- data/ext/redhat/client.init +3 -3
- data/ext/redhat/logrotate +1 -2
- data/ext/redhat/puppet.spec.erb +12 -8
- data/ext/redhat/server.init +1 -1
- data/ext/regexp_nodes/regexp_nodes.rb +1 -1
- data/ext/solaris/smf/svc-puppetd +1 -1
- data/ext/solaris/smf/svc-puppetmasterd +1 -1
- data/ext/suse/client.init +1 -1
- data/ext/suse/server.init +1 -1
- data/ext/systemd/puppet.service +1 -3
- data/ext/vim/syntax/puppet.vim +1 -1
- data/ext/windows/service/daemon.rb +19 -2
- data/install.rb +63 -7
- data/lib/hiera/puppet_function.rb +7 -18
- data/lib/hiera/scope.rb +4 -1
- data/lib/puppet.rb +19 -51
- data/lib/puppet/agent.rb +2 -6
- data/lib/puppet/application.rb +14 -65
- data/lib/puppet/application/agent.rb +7 -56
- data/lib/puppet/application/apply.rb +1 -6
- data/lib/puppet/application/ca.rb +5 -0
- data/lib/puppet/application/cert.rb +7 -3
- data/lib/puppet/application/certificate.rb +2 -0
- data/lib/puppet/application/device.rb +10 -36
- data/lib/puppet/application/doc.rb +16 -63
- data/lib/puppet/application/epp.rb +5 -0
- data/lib/puppet/application/face_base.rb +24 -5
- data/lib/puppet/application/master.rb +2 -5
- data/lib/puppet/application/resource.rb +17 -17
- data/lib/puppet/application_support.rb +57 -0
- data/lib/puppet/configurer.rb +3 -7
- data/lib/puppet/configurer/downloader.rb +1 -0
- data/lib/puppet/configurer/fact_handler.rb +1 -1
- data/lib/puppet/daemon.rb +6 -15
- data/lib/puppet/data_providers.rb +28 -0
- data/lib/puppet/data_providers/data_adapter.rb +86 -0
- data/lib/puppet/data_providers/data_function_support.rb +32 -0
- data/lib/puppet/data_providers/function_env_data_provider.rb +28 -0
- data/lib/puppet/data_providers/function_module_data_provider.rb +44 -0
- data/lib/puppet/defaults.rb +135 -530
- data/lib/puppet/environments.rb +10 -156
- data/lib/puppet/error.rb +4 -30
- data/lib/puppet/external/nagios/base.rb +2 -2
- data/lib/puppet/external/pson/common.rb +2 -17
- data/lib/puppet/external/pson/pure/generator.rb +1 -0
- data/lib/puppet/external/pson/pure/parser.rb +0 -11
- data/lib/puppet/face/catalog.rb +4 -4
- data/lib/puppet/face/certificate.rb +2 -3
- data/lib/puppet/face/certificate_request.rb +4 -3
- data/lib/puppet/face/certificate_revocation_list.rb +5 -9
- data/lib/puppet/face/config.rb +2 -2
- data/lib/puppet/face/epp.rb +479 -0
- data/lib/puppet/face/facts.rb +6 -49
- data/lib/puppet/face/file.rb +2 -2
- data/lib/puppet/face/file/download.rb +1 -2
- data/lib/puppet/face/help.rb +2 -3
- data/lib/puppet/face/module/build.rb +5 -5
- data/lib/puppet/face/module/changes.rb +1 -1
- data/lib/puppet/face/module/generate.rb +6 -6
- data/lib/puppet/face/module/install.rb +16 -16
- data/lib/puppet/face/module/list.rb +9 -9
- data/lib/puppet/face/module/uninstall.rb +5 -5
- data/lib/puppet/face/module/upgrade.rb +3 -3
- data/lib/puppet/face/node.rb +3 -4
- data/lib/puppet/face/node/clean.rb +5 -68
- data/lib/puppet/face/parser.rb +6 -8
- data/lib/puppet/face/report.rb +4 -4
- data/lib/puppet/face/resource.rb +1 -1
- data/lib/puppet/face/resource_type.rb +7 -4
- data/lib/puppet/face/status.rb +6 -12
- data/lib/puppet/feature/base.rb +0 -7
- data/lib/puppet/file_bucket/dipper.rb +1 -2
- data/lib/puppet/file_bucket/file.rb +12 -25
- data/lib/puppet/file_serving/base.rb +1 -11
- data/lib/puppet/file_serving/content.rb +5 -7
- data/lib/puppet/file_serving/metadata.rb +4 -61
- data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -1
- data/lib/puppet/file_serving/mount/plugins.rb +1 -1
- data/lib/puppet/file_serving/terminus_helper.rb +16 -5
- data/lib/puppet/file_system.rb +6 -22
- data/lib/puppet/file_system/file_impl.rb +0 -4
- data/lib/puppet/file_system/memory_file.rb +0 -5
- data/lib/puppet/file_system/memory_impl.rb +0 -4
- data/lib/puppet/file_system/{file19.rb → posix.rb} +1 -1
- data/lib/puppet/file_system/{file19windows.rb → windows.rb} +2 -10
- data/lib/puppet/forge/repository.rb +12 -8
- data/lib/puppet/functions.rb +17 -51
- data/lib/puppet/functions/assert_type.rb +7 -7
- data/lib/puppet/functions/each.rb +1 -3
- data/lib/puppet/functions/epp.rb +3 -3
- data/lib/puppet/functions/filter.rb +3 -5
- data/lib/puppet/functions/hiera.rb +2 -23
- data/lib/puppet/functions/hiera_array.rb +3 -25
- data/lib/puppet/functions/hiera_hash.rb +2 -26
- data/lib/puppet/functions/hiera_include.rb +4 -37
- data/lib/puppet/functions/inline_epp.rb +1 -2
- data/lib/puppet/functions/lookup.rb +234 -0
- data/lib/puppet/functions/map.rb +1 -3
- data/lib/puppet/functions/match.rb +5 -5
- data/lib/puppet/functions/reduce.rb +1 -3
- data/lib/puppet/functions/regsubst.rb +79 -0
- data/lib/puppet/functions/scanf.rb +4 -3
- data/lib/puppet/functions/slice.rb +1 -3
- data/lib/puppet/functions/split.rb +47 -0
- data/lib/puppet/functions/with.rb +1 -1
- data/lib/puppet/graph/relationship_graph.rb +41 -13
- data/lib/puppet/graph/simple_graph.rb +6 -10
- data/lib/puppet/indirector/catalog/compiler.rb +0 -2
- data/lib/puppet/indirector/catalog/static_compiler.rb +4 -5
- data/lib/puppet/indirector/direct_file_server.rb +1 -3
- data/lib/puppet/indirector/face.rb +11 -2
- data/lib/puppet/indirector/facts/facter.rb +5 -1
- data/lib/puppet/indirector/facts/network_device.rb +5 -2
- data/lib/puppet/indirector/facts/store_configs.rb +3 -0
- data/lib/puppet/indirector/facts/yaml.rb +4 -0
- data/lib/puppet/indirector/file_metadata/file.rb +0 -15
- data/lib/puppet/indirector/file_server.rb +2 -16
- data/lib/puppet/indirector/hiera.rb +39 -1
- data/lib/puppet/indirector/indirection.rb +2 -9
- data/lib/puppet/indirector/node/ldap.rb +1 -1
- data/lib/puppet/indirector/request.rb +21 -81
- data/lib/puppet/indirector/resource/ral.rb +1 -2
- data/lib/puppet/indirector/resource/store_configs.rb +1 -2
- data/lib/puppet/indirector/resource_type/parser.rb +1 -1
- data/lib/puppet/indirector/rest.rb +21 -33
- data/lib/puppet/interface.rb +0 -7
- data/lib/puppet/interface/action_builder.rb +1 -1
- data/lib/puppet/interface/action_manager.rb +9 -13
- data/lib/puppet/interface/face_collection.rb +2 -2
- data/lib/puppet/interface/option_builder.rb +1 -3
- data/lib/puppet/metatype/manager.rb +1 -7
- data/lib/puppet/module.rb +42 -35
- data/lib/puppet/module_tool.rb +5 -7
- data/lib/puppet/module_tool/applications/application.rb +3 -10
- data/lib/puppet/module_tool/applications/installer.rb +13 -15
- data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
- data/lib/puppet/module_tool/applications/upgrader.rb +9 -11
- data/lib/puppet/module_tool/contents_description.rb +17 -13
- data/lib/puppet/module_tool/installed_modules.rb +4 -6
- data/lib/puppet/module_tool/metadata.rb +3 -14
- data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +3 -3
- data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +0 -1
- data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +1 -1
- data/lib/puppet/module_tool/tar/gnu.rb +1 -1
- data/lib/puppet/module_tool/tar/mini.rb +2 -2
- data/lib/puppet/network/auth_config_parser.rb +2 -2
- data/lib/puppet/network/authconfig.rb +32 -16
- data/lib/puppet/network/format_handler.rb +7 -7
- data/lib/puppet/network/format_support.rb +4 -0
- data/lib/puppet/network/formats.rb +6 -62
- data/lib/puppet/network/http.rb +12 -2
- data/lib/puppet/network/http/api.rb +42 -0
- data/lib/puppet/network/http/api/ca.rb +2 -0
- data/lib/puppet/network/http/api/ca/v1.rb +11 -0
- data/lib/puppet/network/http/api/{v1.rb → indirected_routes.rb} +57 -29
- data/lib/puppet/network/http/api/indirection_type.rb +32 -0
- data/lib/puppet/network/http/api/master.rb +2 -0
- data/lib/puppet/network/http/api/master/v3.rb +22 -0
- data/lib/puppet/network/http/api/master/v3/authorization.rb +18 -0
- data/lib/puppet/network/http/api/{v2 → master/v3}/environments.rb +2 -2
- data/lib/puppet/network/http/compression.rb +3 -5
- data/lib/puppet/network/http/connection.rb +1 -8
- data/lib/puppet/network/http/factory.rb +2 -3
- data/lib/puppet/network/http/handler.rb +3 -11
- data/lib/puppet/network/http/rack/rest.rb +4 -4
- data/lib/puppet/network/http/request.rb +4 -4
- data/lib/puppet/network/http/webrick.rb +1 -6
- data/lib/puppet/network/http/webrick/rest.rb +15 -8
- data/lib/puppet/network/resolver.rb +2 -2
- data/lib/puppet/network/rights.rb +2 -2
- data/lib/puppet/node.rb +2 -29
- data/lib/puppet/node/environment.rb +92 -184
- data/lib/puppet/node/facts.rb +22 -44
- data/lib/puppet/parameter.rb +3 -16
- data/lib/puppet/parameter/value.rb +1 -3
- data/lib/puppet/parameter/value_collection.rb +12 -11
- data/lib/puppet/parser.rb +12 -2
- data/lib/puppet/parser/ast.rb +9 -78
- data/lib/puppet/parser/ast/block_expression.rb +11 -36
- data/lib/puppet/parser/ast/branch.rb +15 -18
- data/lib/puppet/parser/ast/hostclass.rb +1 -3
- data/lib/puppet/parser/ast/leaf.rb +55 -212
- data/lib/puppet/parser/ast/node.rb +3 -11
- data/lib/puppet/parser/ast/pops_bridge.rb +2 -7
- data/lib/puppet/parser/ast/resource.rb +14 -20
- data/lib/puppet/parser/ast/resource_instance.rb +4 -7
- data/lib/puppet/parser/ast/resourceparam.rb +21 -22
- data/lib/puppet/parser/compiler.rb +41 -70
- data/lib/puppet/parser/e4_parser_adapter.rb +2 -23
- data/lib/puppet/parser/files.rb +22 -67
- data/lib/puppet/parser/functions.rb +1 -3
- data/lib/puppet/parser/functions/assert_type.rb +1 -2
- data/lib/puppet/parser/functions/contain.rb +5 -3
- data/lib/puppet/parser/functions/create_resources.rb +9 -1
- data/lib/puppet/parser/functions/defined.rb +33 -61
- data/lib/puppet/parser/functions/each.rb +1 -3
- data/lib/puppet/parser/functions/epp.rb +1 -2
- data/lib/puppet/parser/functions/file.rb +1 -3
- data/lib/puppet/parser/functions/filter.rb +1 -3
- data/lib/puppet/parser/functions/hiera.rb +4 -6
- data/lib/puppet/parser/functions/hiera_array.rb +4 -6
- data/lib/puppet/parser/functions/hiera_hash.rb +6 -8
- data/lib/puppet/parser/functions/hiera_include.rb +2 -10
- data/lib/puppet/parser/functions/include.rb +4 -2
- data/lib/puppet/parser/functions/lookup.rb +115 -105
- data/lib/puppet/parser/functions/map.rb +1 -3
- data/lib/puppet/parser/functions/match.rb +1 -2
- data/lib/puppet/parser/functions/realize.rb +1 -6
- data/lib/puppet/parser/functions/reduce.rb +1 -3
- data/lib/puppet/parser/functions/regsubst.rb +1 -57
- data/lib/puppet/parser/functions/require.rb +6 -4
- data/lib/puppet/parser/functions/scanf.rb +1 -1
- data/lib/puppet/parser/functions/slice.rb +1 -3
- data/lib/puppet/parser/functions/split.rb +1 -1
- data/lib/puppet/parser/functions/with.rb +1 -2
- data/lib/puppet/parser/parser_factory.rb +5 -21
- data/lib/puppet/parser/relationship.rb +14 -37
- data/lib/puppet/parser/resource.rb +11 -22
- data/lib/puppet/parser/scope.rb +45 -135
- data/lib/puppet/parser/templatewrapper.rb +1 -29
- data/lib/puppet/parser/type_loader.rb +12 -15
- data/lib/puppet/plugins.rb +9 -0
- data/lib/{puppetx/puppet/bindings_scheme_handler.rb → puppet/plugins/binding_schemes.rb} +14 -4
- data/lib/puppet/plugins/configuration.rb +68 -0
- data/lib/puppet/plugins/data_providers.rb +90 -0
- data/lib/{puppetx/puppet/syntax_checker.rb → puppet/plugins/syntax_checkers.rb} +14 -2
- data/lib/puppet/pops.rb +6 -7
- data/lib/puppet/pops/adaptable.rb +16 -5
- data/lib/puppet/pops/binder/binder.rb +5 -4
- data/lib/puppet/pops/binder/bindings_composer.rb +6 -4
- data/lib/puppet/pops/binder/bindings_factory.rb +4 -0
- data/lib/puppet/pops/binder/bindings_label_provider.rb +1 -1
- data/lib/puppet/pops/binder/bindings_loader.rb +3 -8
- data/lib/puppet/pops/binder/bindings_model_dumper.rb +36 -8
- data/lib/puppet/pops/binder/config/binder_config.rb +2 -2
- data/lib/puppet/pops/binder/config/binder_config_checker.rb +1 -1
- data/lib/puppet/pops/binder/config/issues.rb +4 -0
- data/lib/puppet/pops/binder/injector.rb +0 -1
- data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +1 -1
- data/lib/puppet/pops/evaluator/access_operator.rb +18 -50
- data/lib/puppet/pops/evaluator/callable_mismatch_describer.rb +5 -5
- data/lib/puppet/pops/evaluator/callable_signature.rb +2 -2
- data/lib/puppet/pops/evaluator/closure.rb +16 -21
- data/lib/puppet/pops/evaluator/collector_transformer.rb +11 -1
- data/lib/puppet/pops/evaluator/compare_operator.rb +0 -43
- data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -1
- data/lib/puppet/pops/evaluator/evaluator_impl.rb +36 -152
- data/lib/puppet/pops/evaluator/external_syntax_support.rb +6 -3
- data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -1
- data/lib/puppet/pops/evaluator/runtime3_converter.rb +1 -1
- data/lib/puppet/pops/evaluator/runtime3_support.rb +9 -57
- data/lib/puppet/pops/functions/dispatch.rb +1 -6
- data/lib/puppet/pops/issue_reporter.rb +16 -42
- data/lib/puppet/pops/issues.rb +13 -128
- data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
- data/lib/puppet/pops/loader/loader.rb +21 -20
- data/lib/puppet/pops/loaders.rb +13 -8
- data/lib/puppet/pops/lookup.rb +96 -0
- data/lib/puppet/pops/merge_strategy.rb +283 -0
- data/lib/puppet/pops/model/ast_transformer.rb +4 -522
- data/lib/puppet/pops/model/factory.rb +20 -21
- data/lib/puppet/pops/model/model.rb +1 -1
- data/lib/puppet/pops/model/model_label_provider.rb +1 -1
- data/lib/puppet/pops/model/model_meta.rb +10 -7
- data/lib/puppet/pops/model/tree_dumper.rb +1 -1
- data/lib/puppet/pops/parser/egrammar.ra +1 -13
- data/lib/puppet/pops/parser/eparser.rb +1132 -1272
- data/lib/puppet/pops/parser/epp_support.rb +11 -22
- data/lib/puppet/pops/parser/evaluating_parser.rb +11 -10
- data/lib/puppet/pops/parser/heredoc_support.rb +12 -13
- data/lib/puppet/pops/parser/interpolation_support.rb +1 -7
- data/lib/puppet/pops/parser/lexer2.rb +33 -36
- data/lib/puppet/pops/parser/lexer_support.rb +20 -46
- data/lib/puppet/pops/parser/locator.rb +6 -30
- data/lib/puppet/pops/parser/parser_support.rb +14 -11
- data/lib/puppet/pops/parser/slurp_support.rb +6 -22
- data/lib/puppet/pops/patterns.rb +0 -3
- data/lib/puppet/pops/types/class_loader.rb +8 -8
- data/lib/puppet/pops/types/enumeration.rb +1 -1
- data/lib/puppet/pops/types/type_asserter.rb +45 -0
- data/lib/puppet/pops/types/type_assertion_error.rb +26 -0
- data/lib/puppet/pops/types/type_calculator.rb +110 -212
- data/lib/puppet/pops/types/type_factory.rb +15 -74
- data/lib/puppet/pops/types/type_parser.rb +15 -24
- data/lib/puppet/pops/types/types.rb +25 -35
- data/lib/puppet/pops/types/types_meta.rb +2 -13
- data/lib/puppet/pops/utils.rb +1 -1
- data/lib/puppet/pops/validation.rb +3 -26
- data/lib/puppet/pops/validation/checker4_0.rb +6 -56
- data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -3
- data/lib/puppet/pops/visitor.rb +10 -7
- data/lib/puppet/property.rb +44 -124
- data/lib/puppet/provider.rb +0 -52
- data/lib/puppet/provider/aixobject.rb +2 -2
- data/lib/puppet/provider/augeas/augeas.rb +9 -6
- data/lib/puppet/provider/command.rb +1 -1
- data/lib/puppet/provider/cron/crontab.rb +37 -0
- data/lib/puppet/provider/exec.rb +2 -16
- data/lib/puppet/provider/file/posix.rb +1 -1
- data/lib/puppet/provider/file/windows.rb +1 -1
- data/lib/puppet/provider/group/aix.rb +1 -1
- data/lib/puppet/provider/group/pw.rb +0 -1
- data/lib/puppet/provider/group/windows_adsi.rb +4 -18
- data/lib/puppet/provider/host/parsed.rb +4 -2
- data/lib/puppet/provider/macauthorization/macauthorization.rb +0 -12
- data/lib/puppet/provider/mailalias/aliases.rb +23 -12
- data/lib/puppet/provider/mount/parsed.rb +2 -145
- data/lib/puppet/provider/nameservice/directoryservice.rb +57 -131
- data/lib/puppet/provider/network_device.rb +3 -0
- data/lib/puppet/provider/package/appdmg.rb +5 -2
- data/lib/puppet/provider/package/apt.rb +1 -1
- data/lib/puppet/provider/package/fink.rb +1 -1
- data/lib/puppet/provider/package/openbsd.rb +26 -12
- data/lib/puppet/provider/package/opkg.rb +6 -1
- data/lib/puppet/provider/package/pacman.rb +159 -127
- data/lib/puppet/provider/package/pip.rb +1 -11
- data/lib/puppet/provider/package/pkg.rb +73 -29
- data/lib/puppet/provider/package/pkgdmg.rb +2 -2
- data/lib/puppet/provider/package/pkgin.rb +1 -1
- data/lib/puppet/provider/package/portage.rb +5 -1
- data/lib/puppet/provider/package/portupgrade.rb +0 -2
- data/lib/puppet/provider/package/rpm.rb +109 -0
- data/lib/puppet/provider/package/rug.rb +0 -1
- data/lib/puppet/provider/package/windows/package.rb +1 -1
- data/lib/puppet/provider/package/yum.rb +121 -30
- data/lib/puppet/provider/package/zypper.rb +8 -17
- data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +7 -32
- data/lib/puppet/provider/service/base.rb +17 -3
- data/lib/puppet/provider/service/bsd.rb +1 -1
- data/lib/puppet/provider/service/daemontools.rb +1 -1
- data/lib/puppet/provider/service/init.rb +0 -7
- data/lib/puppet/provider/service/launchd.rb +11 -89
- data/lib/puppet/provider/service/openbsd.rb +56 -298
- data/lib/puppet/provider/service/runit.rb +1 -1
- data/lib/puppet/provider/service/systemd.rb +1 -0
- data/lib/puppet/provider/service/upstart.rb +4 -2
- data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -1
- data/lib/puppet/provider/user/aix.rb +1 -1
- data/lib/puppet/provider/user/directoryservice.rb +40 -70
- data/lib/puppet/provider/user/hpux.rb +31 -2
- data/lib/puppet/provider/user/openbsd.rb +74 -0
- data/lib/puppet/provider/user/pw.rb +0 -1
- data/lib/puppet/provider/user/user_role_add.rb +1 -3
- data/lib/puppet/provider/user/windows_adsi.rb +2 -9
- data/lib/puppet/provider/yumrepo/inifile.rb +1 -3
- data/lib/puppet/provider/zfs/zfs.rb +3 -2
- data/lib/puppet/provider/zone/solaris.rb +3 -3
- data/lib/puppet/reference/configuration.rb +4 -3
- data/lib/puppet/reference/metaparameter.rb +0 -9
- data/lib/puppet/reference/providers.rb +1 -1
- data/lib/puppet/reference/type.rb +8 -10
- data/lib/puppet/relationship.rb +4 -17
- data/lib/puppet/resource.rb +132 -114
- data/lib/puppet/resource/catalog.rb +23 -30
- data/lib/puppet/resource/status.rb +74 -22
- data/lib/puppet/resource/type.rb +12 -52
- data/lib/puppet/resource/type_collection.rb +26 -73
- data/lib/puppet/settings.rb +94 -153
- data/lib/puppet/settings/base_setting.rb +6 -30
- data/lib/puppet/settings/config_file.rb +14 -11
- data/lib/puppet/settings/duration_setting.rb +1 -1
- data/lib/puppet/settings/environment_conf.rb +14 -12
- data/lib/puppet/settings/file_setting.rb +9 -10
- data/lib/puppet/settings/ttl_setting.rb +1 -3
- data/lib/puppet/ssl/certificate.rb +38 -8
- data/lib/puppet/ssl/certificate_authority/interface.rb +7 -1
- data/lib/puppet/ssl/certificate_factory.rb +3 -3
- data/lib/puppet/ssl/certificate_request.rb +36 -8
- data/lib/puppet/ssl/configuration.rb +2 -8
- data/lib/puppet/ssl/host.rb +1 -8
- data/lib/puppet/ssl/inventory.rb +0 -7
- data/lib/puppet/ssl/oids.rb +72 -3
- data/lib/puppet/ssl/validator/default_validator.rb +0 -1
- data/lib/puppet/status.rb +0 -5
- data/lib/puppet/syntax_checkers.rb +3 -0
- data/lib/{puppetx/puppetlabs → puppet}/syntax_checkers/json.rb +2 -2
- data/lib/puppet/test/test_helper.rb +11 -12
- data/lib/puppet/transaction.rb +12 -9
- data/lib/puppet/transaction/event.rb +4 -5
- data/lib/puppet/transaction/event_manager.rb +50 -5
- data/lib/puppet/transaction/report.rb +5 -10
- data/lib/puppet/transaction/resource_harness.rb +7 -2
- data/lib/puppet/type.rb +113 -29
- data/lib/puppet/type/augeas.rb +1 -0
- data/lib/puppet/type/exec.rb +2 -2
- data/lib/puppet/type/file.rb +8 -9
- data/lib/puppet/type/file/content.rb +19 -15
- data/lib/puppet/type/file/mode.rb +16 -11
- data/lib/puppet/type/file/selcontext.rb +1 -1
- data/lib/puppet/type/file/source.rb +15 -15
- data/lib/puppet/type/filebucket.rb +2 -2
- data/lib/puppet/type/group.rb +5 -17
- data/lib/puppet/type/host.rb +12 -3
- data/lib/puppet/type/k5login.rb +1 -1
- data/lib/puppet/type/mailalias.rb +20 -6
- data/lib/puppet/type/maillist.rb +1 -1
- data/lib/puppet/type/mount.rb +6 -16
- data/lib/puppet/type/notify.rb +1 -1
- data/lib/puppet/type/package.rb +91 -16
- data/lib/puppet/type/resources.rb +0 -7
- data/lib/puppet/type/router.rb +1 -1
- data/lib/puppet/type/schedule.rb +1 -1
- data/lib/puppet/type/scheduled_task.rb +0 -13
- data/lib/puppet/type/selboolean.rb +2 -2
- data/lib/puppet/type/service.rb +1 -1
- data/lib/puppet/type/ssh_authorized_key.rb +1 -1
- data/lib/puppet/type/sshkey.rb +1 -1
- data/lib/puppet/type/tidy.rb +4 -1
- data/lib/puppet/type/user.rb +16 -3
- data/lib/puppet/type/yumrepo.rb +26 -0
- data/lib/puppet/type/zfs.rb +1 -1
- data/lib/puppet/type/zpool.rb +1 -1
- data/lib/puppet/util.rb +2 -85
- data/lib/puppet/util/autoload.rb +3 -13
- data/lib/puppet/util/checksums.rb +59 -22
- data/lib/puppet/util/classgen.rb +1 -9
- data/lib/puppet/util/colors.rb +0 -117
- data/lib/puppet/util/command_line.rb +1 -23
- data/lib/puppet/util/errors.rb +2 -4
- data/lib/puppet/util/execution.rb +19 -22
- data/lib/puppet/util/feature.rb +2 -4
- data/lib/puppet/util/fileparsing.rb +3 -2
- data/lib/puppet/util/log.rb +13 -56
- data/lib/puppet/util/log/destinations.rb +17 -36
- data/lib/puppet/util/logging.rb +52 -37
- data/lib/puppet/util/metric.rb +0 -149
- data/lib/puppet/util/monkey_patches.rb +1 -94
- data/lib/puppet/util/network_device/base.rb +1 -5
- data/lib/puppet/util/network_device/cisco/interface.rb +2 -2
- data/lib/puppet/util/network_device/config.rb +0 -5
- data/lib/puppet/util/network_device/transport/ssh.rb +2 -2
- data/lib/puppet/util/profiler.rb +1 -1
- data/lib/puppet/util/profiler/aggregate.rb +1 -1
- data/lib/puppet/util/profiler/around_profiler.rb +1 -1
- data/lib/puppet/util/psych_support.rb +38 -0
- data/lib/puppet/util/rdoc.rb +6 -42
- data/lib/puppet/util/rdoc/code_objects.rb +5 -45
- data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
- data/lib/puppet/util/rdoc/parser.rb +5 -15
- data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +8 -227
- data/lib/puppet/util/retry_action.rb +46 -0
- data/lib/puppet/util/run_mode.rb +31 -7
- data/lib/puppet/util/selinux.rb +2 -2
- data/lib/puppet/util/ssl.rb +11 -11
- data/lib/puppet/util/suidmanager.rb +4 -31
- data/lib/puppet/util/tag_set.rb +0 -11
- data/lib/puppet/util/tagging.rb +50 -19
- data/lib/puppet/util/warnings.rb +1 -0
- data/lib/puppet/util/windows/adsi.rb +13 -60
- data/lib/puppet/util/windows/api_types.rb +16 -2
- data/lib/puppet/util/windows/file.rb +2 -8
- data/lib/puppet/util/windows/process.rb +58 -0
- data/lib/puppet/util/windows/registry.rb +319 -31
- data/lib/puppet/util/windows/security.rb +1 -68
- data/lib/puppet/util/windows/taskscheduler.rb +0 -21
- data/lib/puppet/util/windows/user.rb +2 -3
- data/lib/puppet/vendor/deep_merge/CHANGELOG +45 -0
- data/lib/puppet/vendor/deep_merge/Gemfile +3 -0
- data/lib/puppet/vendor/deep_merge/LICENSE +21 -0
- data/lib/puppet/vendor/deep_merge/README.md +113 -0
- data/lib/puppet/vendor/deep_merge/Rakefile +19 -0
- data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +35 -0
- data/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +2 -0
- data/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +210 -0
- data/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +28 -0
- data/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +27 -0
- data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +608 -0
- data/lib/puppet/vendor/load_deep_merge.rb +1 -0
- data/lib/puppet/vendor/load_rgen.rb +1 -0
- data/lib/puppet/vendor/require_vendored.rb +1 -3
- data/lib/puppet/vendor/rgen_patch.rb +132 -0
- data/lib/puppet/version.rb +1 -1
- data/lib/puppet_x.rb +8 -0
- data/lib/semver.rb +0 -1
- data/man/man5/puppet.conf.5 +432 -287
- data/man/man8/extlookup2hiera.8 +2 -15
- data/man/man8/puppet-agent.8 +14 -14
- data/man/man8/puppet-apply.8 +29 -30
- data/man/man8/puppet-ca.8 +29 -17
- data/man/man8/puppet-catalog.8 +5 -34
- data/man/man8/puppet-cert.8 +8 -4
- data/man/man8/puppet-certificate.8 +15 -29
- data/man/man8/puppet-certificate_request.8 +9 -16
- data/man/man8/puppet-certificate_revocation_list.8 +5 -31
- data/man/man8/puppet-config.8 +52 -11
- data/man/man8/puppet-describe.8 +1 -1
- data/man/man8/puppet-device.8 +5 -16
- data/man/man8/puppet-doc.8 +7 -80
- data/man/man8/puppet-epp.8 +349 -0
- data/man/man8/puppet-facts.8 +5 -95
- data/man/man8/puppet-file.8 +2 -28
- data/man/man8/puppet-filebucket.8 +2 -2
- data/man/man8/puppet-help.8 +2 -2
- data/man/man8/puppet-inspect.8 +1 -1
- data/man/man8/puppet-key.8 +6 -3
- data/man/man8/puppet-man.8 +2 -2
- data/man/man8/puppet-master.8 +11 -7
- data/man/man8/puppet-module.8 +75 -49
- data/man/man8/puppet-node.8 +8 -56
- data/man/man8/puppet-parser.8 +38 -4
- data/man/man8/puppet-plugin.8 +2 -2
- data/man/man8/puppet-report.8 +8 -70
- data/man/man8/puppet-resource.8 +7 -3
- data/man/man8/puppet-resource_type.8 +2 -28
- data/man/man8/puppet-status.8 +5 -47
- data/man/man8/puppet.8 +2 -2
- data/spec/fixtures/integration/provider/mailalias/aliases/test1 +3 -0
- data/spec/fixtures/integration/provider/sshkey/sample +21 -0
- data/spec/fixtures/unit/data_providers/environments/production/environment.conf +2 -0
- data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +7 -0
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +9 -0
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +8 -0
- data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +9 -0
- data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +2 -0
- data/spec/fixtures/unit/data_providers/environments/sample/manifests/site.pp +6 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +54 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +31 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +32 -0
- data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +5 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/environment.conf +2 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/lib/puppet/functions/environment/data.rb +11 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +9 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +9 -0
- data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/manifests/init.pp +8 -0
- data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -0
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +1 -1
- data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/{puppetx → puppet_x}/awesome2/echo_scheme_handler.rb +3 -3
- data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +6 -0
- data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -0
- data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +85 -93
- data/spec/fixtures/unit/provider/mount/parsed/aix.mount +7 -11
- data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +3 -0
- data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +1 -1
- data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +1 -1
- data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +1 -1
- data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +1 -1
- data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +1 -1
- data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +1 -1
- data/spec/fixtures/unit/provider/package/pkg/incomplete +1 -1
- data/spec/fixtures/unit/provider/package/pkg/solaris11 +2 -2
- data/spec/fixtures/unit/provider/package/pkg/unknown_status +12 -12
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +201 -0
- data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +12 -0
- data/spec/fixtures/unit/provider/parsedfile/simple.txt +3 -0
- data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +6 -0
- data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +33 -0
- data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +28 -0
- data/spec/integration/agent/logging_spec.rb +1 -5
- data/spec/integration/application/apply_spec.rb +1 -1
- data/spec/integration/application/doc_spec.rb +1 -43
- data/spec/integration/configurer_spec.rb +5 -5
- data/spec/integration/data_binding.rb +4 -0
- data/spec/integration/defaults_spec.rb +42 -143
- data/spec/integration/directory_environments_spec.rb +3 -3
- data/spec/integration/environments/default_manifest_spec.rb +3 -51
- data/spec/integration/environments/setting_hooks_spec.rb +1 -1
- data/spec/integration/environments/settings_interpolation_spec.rb +50 -105
- data/spec/integration/environments/settings_spec.rb +100 -0
- data/spec/integration/faces/ca_spec.rb +51 -51
- data/spec/integration/faces/documentation_spec.rb +6 -6
- data/spec/integration/file_bucket/file_spec.rb +5 -16
- data/spec/integration/file_serving/fileset_spec.rb +1 -1
- data/spec/integration/file_serving/terminus_helper_spec.rb +1 -1
- data/spec/integration/indirector/catalog/compiler_spec.rb +6 -6
- data/spec/integration/indirector/direct_file_server_spec.rb +40 -12
- data/spec/integration/indirector/facts/facter_spec.rb +1 -1
- data/spec/integration/indirector/file_content/file_server_spec.rb +23 -21
- data/spec/integration/indirector/file_metadata/file_server_spec.rb +53 -0
- data/spec/integration/indirector/node/ldap_spec.rb +0 -0
- data/spec/integration/network/authconfig_spec.rb +26 -26
- data/spec/integration/network/formats_spec.rb +12 -12
- data/spec/integration/network/http/api/indirected_routes_spec.rb +56 -0
- data/spec/integration/node/environment_spec.rb +12 -15
- data/spec/integration/node/facts_spec.rb +3 -3
- data/spec/integration/node_spec.rb +8 -8
- data/spec/integration/parser/catalog_spec.rb +1 -32
- data/spec/integration/parser/class_spec.rb +0 -4
- data/spec/integration/parser/{collector_spec.rb → collection_spec.rb} +3 -27
- data/spec/integration/parser/compiler_spec.rb +769 -385
- data/spec/integration/parser/conditionals_spec.rb +2 -27
- data/spec/integration/parser/functions/require_spec.rb +8 -8
- data/spec/integration/parser/node_spec.rb +29 -42
- data/spec/integration/parser/resource_expressions_spec.rb +125 -210
- data/spec/integration/parser/scope_spec.rb +168 -319
- data/spec/integration/parser/undef_param_spec.rb +5 -5
- data/spec/integration/provider/cron/crontab_spec.rb +3 -3
- data/spec/integration/provider/mailalias/aliases_spec.rb +0 -0
- data/spec/integration/provider/mount_spec.rb +33 -28
- data/spec/integration/provider/package_spec.rb +3 -14
- data/spec/integration/provider/service/init_spec.rb +4 -4
- data/spec/integration/provider/service/systemd_spec.rb +3 -3
- data/spec/integration/provider/ssh_authorized_key_spec.rb +12 -12
- data/spec/integration/provider/sshkey_spec.rb +159 -0
- data/spec/integration/reference/providers_spec.rb +1 -1
- data/spec/integration/reports_spec.rb +1 -1
- data/spec/integration/resource/catalog_spec.rb +3 -3
- data/spec/integration/resource/type_collection_spec.rb +10 -25
- data/spec/integration/ssl/autosign_spec.rb +1 -1
- data/spec/integration/ssl/certificate_authority_spec.rb +8 -8
- data/spec/integration/ssl/certificate_request_spec.rb +2 -2
- data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -0
- data/spec/integration/ssl/host_spec.rb +7 -7
- data/spec/integration/transaction/report_spec.rb +0 -0
- data/spec/integration/transaction_spec.rb +86 -50
- data/spec/integration/type/exec_spec.rb +5 -5
- data/spec/integration/type/file_spec.rb +277 -280
- data/spec/integration/type/package_spec.rb +105 -6
- data/spec/integration/type/tidy_spec.rb +1 -1
- data/spec/integration/type/user_spec.rb +4 -4
- data/spec/integration/type_spec.rb +2 -2
- data/spec/integration/util/autoload_spec.rb +7 -12
- data/spec/integration/util/rdoc/parser_spec.rb +13 -99
- data/spec/integration/util/settings_spec.rb +1 -1
- data/spec/integration/util/windows/process_spec.rb +6 -6
- data/spec/integration/util/windows/security_spec.rb +79 -105
- data/spec/integration/util/windows/user_spec.rb +12 -12
- data/spec/integration/util_spec.rb +8 -8
- data/spec/lib/matchers/containment_matchers.rb +1 -1
- data/spec/lib/matchers/include.rb +3 -3
- data/spec/lib/matchers/include_in_order.rb +2 -2
- data/spec/lib/matchers/json.rb +5 -35
- data/spec/lib/matchers/match_tokens2.rb +1 -1
- data/spec/lib/matchers/relationship_graph_matchers.rb +1 -1
- data/spec/lib/matchers/resource.rb +8 -23
- data/spec/lib/puppet/face/1.0.0/huzzah.rb +2 -2
- data/spec/lib/puppet/face/basetest.rb +0 -0
- data/spec/lib/puppet/face/huzzah.rb +2 -2
- data/spec/lib/puppet/face/version_matching.rb +1 -1
- data/spec/lib/puppet/indirector_proxy.rb +34 -0
- data/spec/lib/puppet/indirector_testing.rb +1 -11
- data/spec/lib/puppet_spec/files.rb +1 -1
- data/spec/lib/puppet_spec/fixtures.rb +0 -0
- data/spec/lib/puppet_spec/handler.rb +53 -0
- data/spec/lib/puppet_spec/matchers.rb +12 -5
- data/spec/lib/puppet_spec/module_tool/shared_functions.rb +3 -3
- data/spec/lib/puppet_spec/modules.rb +11 -0
- data/spec/lib/puppet_spec/network.rb +101 -0
- data/spec/lib/puppet_spec/pops.rb +2 -2
- data/spec/lib/puppet_spec/settings.rb +17 -0
- data/spec/lib/puppet_spec/verbose.rb +0 -0
- data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
- data/spec/shared_behaviours/an_indirector_face.rb +2 -2
- data/spec/shared_behaviours/documentation_on_faces.rb +46 -46
- data/spec/shared_behaviours/file_server_terminus.rb +1 -1
- data/spec/shared_behaviours/file_serving.rb +0 -0
- data/spec/shared_behaviours/hiera_indirections.rb +10 -10
- data/spec/shared_behaviours/iterative_functions.rb +1 -1
- data/spec/shared_behaviours/memory_terminus.rb +5 -5
- data/spec/shared_behaviours/path_parameters.rb +8 -8
- data/spec/shared_behaviours/store_configs_terminus.rb +3 -3
- data/spec/shared_behaviours/things_that_declare_options.rb +25 -25
- data/spec/shared_contexts/checksum.rb +62 -0
- data/spec/shared_contexts/{checksums.rb → digests.rb} +2 -2
- data/spec/spec_helper.rb +14 -5
- data/spec/unit/agent/disabler_spec.rb +3 -3
- data/spec/unit/agent/locker_spec.rb +9 -9
- data/spec/unit/agent_spec.rb +18 -18
- data/spec/unit/application/agent_spec.rb +25 -92
- data/spec/unit/application/apply_spec.rb +16 -16
- data/spec/unit/application/cert_spec.rb +15 -15
- data/spec/unit/application/certificate_spec.rb +2 -2
- data/spec/unit/application/config_spec.rb +1 -1
- data/spec/unit/application/describe_spec.rb +6 -6
- data/spec/unit/application/device_spec.rb +25 -63
- data/spec/unit/application/doc_spec.rb +22 -31
- data/spec/unit/application/face_base_spec.rb +88 -59
- data/spec/unit/application/facts_spec.rb +2 -11
- data/spec/unit/application/filebucket_spec.rb +7 -7
- data/spec/unit/application/indirection_base_spec.rb +0 -4
- data/spec/unit/application/inspect_spec.rb +21 -21
- data/spec/unit/application/master_spec.rb +8 -9
- data/spec/unit/application/resource_spec.rb +27 -79
- data/spec/unit/application_spec.rb +54 -58
- data/spec/unit/configurer/downloader_factory_spec.rb +0 -0
- data/spec/unit/configurer/downloader_spec.rb +26 -20
- data/spec/unit/configurer/fact_handler_spec.rb +19 -12
- data/spec/unit/configurer/plugin_handler_spec.rb +0 -0
- data/spec/unit/configurer_spec.rb +44 -44
- data/spec/unit/confine/exists_spec.rb +10 -10
- data/spec/unit/confine/false_spec.rb +7 -7
- data/spec/unit/confine/feature_spec.rb +7 -7
- data/spec/unit/confine/true_spec.rb +7 -7
- data/spec/unit/confine/variable_spec.rb +13 -13
- data/spec/unit/confine_collection_spec.rb +12 -12
- data/spec/unit/confine_spec.rb +10 -10
- data/spec/unit/confiner_spec.rb +8 -8
- data/spec/unit/context/trusted_information_spec.rb +9 -2
- data/spec/unit/daemon_spec.rb +10 -21
- data/spec/unit/data_binding_spec.rb +1 -1
- data/spec/unit/data_providers/function_data_provider_spec.rb +96 -0
- data/spec/unit/data_providers/sample_data_provider_spec.rb +52 -0
- data/spec/unit/defaults_spec.rb +6 -6
- data/spec/unit/environments_spec.rb +4 -6
- data/spec/unit/{util → external}/pson_spec.rb +15 -25
- data/spec/unit/face/catalog_spec.rb +0 -0
- data/spec/unit/face/certificate_spec.rb +19 -19
- data/spec/unit/face/config_spec.rb +2 -7
- data/spec/unit/face/epp_face_spec.rb +303 -0
- data/spec/unit/face/facts_spec.rb +1 -15
- data/spec/unit/face/file_spec.rb +3 -5
- data/spec/unit/face/help_spec.rb +17 -16
- data/spec/unit/face/module/build_spec.rb +2 -2
- data/spec/unit/face/module/list_spec.rb +11 -11
- data/spec/unit/face/module/search_spec.rb +17 -17
- data/spec/unit/face/node_spec.rb +4 -122
- data/spec/unit/face/parser_spec.rb +1 -1
- data/spec/unit/face/plugin_spec.rb +2 -2
- data/spec/unit/face_spec.rb +0 -0
- data/spec/unit/file_bucket/dipper_spec.rb +23 -23
- data/spec/unit/file_bucket/file_spec.rb +12 -28
- data/spec/unit/file_serving/base_spec.rb +26 -26
- data/spec/unit/file_serving/configuration/parser_spec.rb +10 -10
- data/spec/unit/file_serving/configuration_spec.rb +17 -17
- data/spec/unit/file_serving/content_spec.rb +19 -31
- data/spec/unit/file_serving/fileset_spec.rb +32 -33
- data/spec/unit/file_serving/metadata_spec.rb +115 -71
- data/spec/unit/file_serving/mount/file_spec.rb +15 -15
- data/spec/unit/file_serving/mount/modules_spec.rb +2 -2
- data/spec/unit/file_serving/mount/pluginfacts_spec.rb +5 -5
- data/spec/unit/file_serving/mount/plugins_spec.rb +5 -5
- data/spec/unit/file_serving/mount_spec.rb +5 -5
- data/spec/unit/file_serving/terminus_helper_spec.rb +19 -0
- data/spec/unit/file_serving/terminus_selector_spec.rb +6 -6
- data/spec/unit/file_system/uniquefile_spec.rb +2 -2
- data/spec/unit/file_system_spec.rb +79 -117
- data/spec/unit/forge/errors_spec.rb +8 -8
- data/spec/unit/forge/module_release_spec.rb +2 -4
- data/spec/unit/forge/repository_spec.rb +38 -44
- data/spec/unit/forge_spec.rb +1 -1
- data/spec/unit/functions/assert_type_spec.rb +1 -1
- data/spec/unit/functions/each_spec.rb +19 -23
- data/spec/unit/functions/epp_spec.rb +9 -17
- data/spec/unit/functions/filter_spec.rb +0 -22
- data/spec/unit/functions/hiera_spec.rb +18 -24
- data/spec/unit/functions/inline_epp_spec.rb +8 -16
- data/spec/unit/functions/lookup_spec.rb +324 -0
- data/spec/unit/functions/map_spec.rb +1 -7
- data/spec/unit/functions/reduce_spec.rb +0 -11
- data/spec/unit/functions/regsubst_spec.rb +94 -0
- data/spec/unit/functions/scanf_spec.rb +0 -4
- data/spec/unit/functions/slice_spec.rb +0 -12
- data/spec/unit/functions/split_spec.rb +46 -0
- data/spec/unit/functions/with_spec.rb +4 -13
- data/spec/unit/functions4_spec.rb +57 -162
- data/spec/unit/graph/rb_tree_map_spec.rb +78 -78
- data/spec/unit/graph/relationship_graph_spec.rb +17 -17
- data/spec/unit/graph/{simple_graph.rb → simple_graph_spec.rb} +122 -126
- data/spec/unit/hiera/scope_spec.rb +13 -12
- data/spec/unit/hiera_puppet_spec.rb +12 -12
- data/spec/unit/indirector/catalog/compiler_spec.rb +10 -15
- data/spec/unit/indirector/catalog/json_spec.rb +2 -2
- data/spec/unit/indirector/catalog/msgpack_spec.rb +2 -2
- data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
- data/spec/unit/indirector/catalog/static_compiler_spec.rb +14 -14
- data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/catalog/yaml_spec.rb +4 -4
- data/spec/unit/indirector/certificate/ca_spec.rb +3 -3
- data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate/file_spec.rb +3 -3
- data/spec/unit/indirector/certificate/rest_spec.rb +6 -6
- data/spec/unit/indirector/certificate_request/ca_spec.rb +8 -8
- data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate_request/file_spec.rb +2 -2
- data/spec/unit/indirector/certificate_request/rest_spec.rb +4 -4
- data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +2 -2
- data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +2 -2
- data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +4 -4
- data/spec/unit/indirector/certificate_status/file_spec.rb +18 -18
- data/spec/unit/indirector/certificate_status/rest_spec.rb +2 -2
- data/spec/unit/indirector/code_spec.rb +3 -3
- data/spec/unit/indirector/data_binding/hiera_spec.rb +3 -3
- data/spec/unit/indirector/data_binding/none_spec.rb +5 -5
- data/spec/unit/indirector/direct_file_server_spec.rb +14 -4
- data/spec/unit/indirector/envelope_spec.rb +4 -4
- data/spec/unit/indirector/exec_spec.rb +4 -4
- data/spec/unit/indirector/face_spec.rb +13 -8
- data/spec/unit/indirector/facts/facter_spec.rb +10 -20
- data/spec/unit/indirector/facts/network_device_spec.rb +10 -20
- data/spec/unit/indirector/facts/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/facts/yaml_spec.rb +6 -6
- data/spec/unit/indirector/file_bucket_file/file_spec.rb +34 -34
- data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_content/file_server_spec.rb +2 -2
- data/spec/unit/indirector/file_content/file_spec.rb +2 -2
- data/spec/unit/indirector/file_content/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_metadata/file_server_spec.rb +2 -2
- data/spec/unit/indirector/file_metadata/file_spec.rb +13 -5
- data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -1
- data/spec/unit/indirector/file_server_spec.rb +35 -17
- data/spec/unit/indirector/indirection_spec.rb +56 -56
- data/spec/unit/indirector/json_spec.rb +15 -16
- data/spec/unit/indirector/key/ca_spec.rb +3 -3
- data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -0
- data/spec/unit/indirector/key/file_spec.rb +5 -5
- data/spec/unit/indirector/ldap_spec.rb +13 -13
- data/spec/unit/indirector/memory_spec.rb +0 -0
- data/spec/unit/indirector/msgpack_spec.rb +15 -15
- data/spec/unit/indirector/node/exec_spec.rb +20 -9
- data/spec/unit/indirector/node/ldap_spec.rb +48 -48
- data/spec/unit/indirector/node/memory_spec.rb +0 -0
- data/spec/unit/indirector/node/msgpack_spec.rb +4 -4
- data/spec/unit/indirector/node/plain_spec.rb +2 -2
- data/spec/unit/indirector/node/rest_spec.rb +0 -0
- data/spec/unit/indirector/node/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/node/yaml_spec.rb +4 -4
- data/spec/unit/indirector/none_spec.rb +2 -2
- data/spec/unit/indirector/plain_spec.rb +1 -1
- data/spec/unit/indirector/report/msgpack_spec.rb +5 -5
- data/spec/unit/indirector/report/processor_spec.rb +4 -4
- data/spec/unit/indirector/report/rest_spec.rb +8 -8
- data/spec/unit/indirector/report/yaml_spec.rb +5 -5
- data/spec/unit/indirector/request_spec.rb +103 -206
- data/spec/unit/indirector/resource/ral_spec.rb +8 -10
- data/spec/unit/indirector/resource/store_configs_spec.rb +2 -4
- data/spec/unit/indirector/resource_type/parser_spec.rb +37 -37
- data/spec/unit/indirector/resource_type/rest_spec.rb +2 -2
- data/spec/unit/indirector/rest_spec.rb +70 -55
- data/spec/unit/indirector/ssl_file_spec.rb +13 -13
- data/spec/unit/indirector/status/rest_spec.rb +1 -1
- data/spec/unit/indirector/store_configs_spec.rb +0 -0
- data/spec/unit/indirector/terminus_spec.rb +17 -17
- data/spec/unit/indirector/yaml_spec.rb +12 -12
- data/spec/unit/indirector_spec.rb +7 -7
- data/spec/unit/interface/action_builder_spec.rb +15 -15
- data/spec/unit/interface/action_manager_spec.rb +31 -56
- data/spec/unit/interface/action_spec.rb +62 -65
- data/spec/unit/interface/documentation_spec.rb +2 -2
- data/spec/unit/interface/face_collection_spec.rb +33 -33
- data/spec/unit/interface/option_builder_spec.rb +8 -8
- data/spec/unit/interface/option_spec.rb +23 -23
- data/spec/unit/interface_spec.rb +19 -24
- data/spec/unit/man_spec.rb +0 -0
- data/spec/unit/module_spec.rb +163 -115
- data/spec/unit/module_tool/applications/builder_spec.rb +0 -19
- data/spec/unit/module_tool/applications/installer_spec.rb +29 -29
- data/spec/unit/module_tool/applications/searcher_spec.rb +4 -4
- data/spec/unit/module_tool/applications/uninstaller_spec.rb +15 -15
- data/spec/unit/module_tool/applications/unpacker_spec.rb +3 -3
- data/spec/unit/module_tool/applications/upgrader_spec.rb +28 -28
- data/spec/unit/module_tool/install_directory_spec.rb +3 -3
- data/spec/unit/module_tool/metadata_spec.rb +26 -26
- data/spec/unit/module_tool/tar/gnu_spec.rb +1 -1
- data/spec/unit/module_tool/tar/mini_spec.rb +2 -2
- data/spec/unit/module_tool/tar_spec.rb +2 -2
- data/spec/unit/module_tool_spec.rb +13 -34
- data/spec/unit/network/auth_config_parser_spec.rb +7 -7
- data/spec/unit/network/authconfig_spec.rb +9 -9
- data/spec/unit/network/authstore_spec.rb +38 -39
- data/spec/unit/network/format_handler_spec.rb +14 -14
- data/spec/unit/network/format_spec.rb +34 -34
- data/spec/unit/network/format_support_spec.rb +10 -10
- data/spec/unit/network/formats_spec.rb +50 -136
- data/spec/unit/network/http/api/ca/v1_spec.rb +26 -0
- data/spec/unit/network/http/api/{v1_spec.rb → indirected_routes_spec.rb} +128 -184
- data/spec/unit/network/http/api/{v2 → master/v3}/authorization_spec.rb +23 -21
- data/spec/unit/network/http/api/{v2 → master/v3}/environments_spec.rb +5 -5
- data/spec/unit/network/http/api/master/v3_spec.rb +39 -0
- data/spec/unit/network/http/api_spec.rb +127 -0
- data/spec/unit/network/http/compression_spec.rb +20 -26
- data/spec/unit/network/http/connection_spec.rb +2 -5
- data/spec/unit/network/http/factory_spec.rb +6 -8
- data/spec/unit/network/http/handler_spec.rb +31 -84
- data/spec/unit/network/http/nocache_pool_spec.rb +0 -0
- data/spec/unit/network/http/pool_spec.rb +0 -0
- data/spec/unit/network/http/rack/rest_spec.rb +38 -39
- data/spec/unit/network/http/rack_spec.rb +1 -1
- data/spec/unit/network/http/route_spec.rb +3 -3
- data/spec/unit/network/http/session_spec.rb +4 -4
- data/spec/unit/network/http/site_spec.rb +1 -1
- data/spec/unit/network/http/webrick/rest_spec.rb +36 -55
- data/spec/unit/network/http/webrick_spec.rb +16 -27
- data/spec/unit/network/http_pool_spec.rb +11 -11
- data/spec/unit/network/http_spec.rb +0 -0
- data/spec/unit/network/resolver_spec.rb +10 -10
- data/spec/unit/network/rights_spec.rb +67 -67
- data/spec/unit/network/server_spec.rb +3 -3
- data/spec/unit/node/environment_spec.rb +177 -273
- data/spec/unit/node/facts_spec.rb +71 -33
- data/spec/unit/node_spec.rb +150 -158
- data/spec/unit/other/selinux_spec.rb +6 -6
- data/spec/unit/parameter/boolean_spec.rb +4 -3
- data/spec/unit/parameter/package_options_spec.rb +5 -5
- data/spec/unit/parameter/path_spec.rb +1 -1
- data/spec/unit/parameter/value_collection_spec.rb +23 -28
- data/spec/unit/parameter/value_spec.rb +20 -24
- data/spec/unit/parameter_spec.rb +26 -26
- data/spec/unit/parser/ast/block_expression_spec.rb +3 -2
- data/spec/unit/parser/ast/leaf_spec.rb +5 -378
- data/spec/unit/parser/compiler_spec.rb +84 -74
- data/spec/unit/parser/files_spec.rb +55 -121
- data/spec/unit/parser/functions/contain_spec.rb +8 -11
- data/spec/unit/parser/functions/create_resources_spec.rb +29 -29
- data/spec/unit/parser/functions/defined_spec.rb +52 -51
- data/spec/unit/parser/functions/digest_spec.rb +2 -2
- data/spec/unit/parser/functions/fail_spec.rb +1 -1
- data/spec/unit/parser/functions/file_spec.rb +7 -13
- data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -5
- data/spec/unit/parser/functions/generate_spec.rb +20 -20
- data/spec/unit/parser/functions/hiera_array_spec.rb +2 -16
- data/spec/unit/parser/functions/hiera_hash_spec.rb +2 -12
- data/spec/unit/parser/functions/hiera_include_spec.rb +2 -29
- data/spec/unit/parser/functions/hiera_spec.rb +2 -12
- data/spec/unit/parser/functions/include_spec.rb +9 -19
- data/spec/unit/parser/functions/inline_template_spec.rb +3 -3
- data/spec/unit/parser/functions/lookup_spec.rb +3 -140
- data/spec/unit/parser/functions/realize_spec.rb +0 -0
- data/spec/unit/parser/functions/regsubst_spec.rb +7 -179
- data/spec/unit/parser/functions/require_spec.rb +14 -21
- data/spec/unit/parser/functions/scanf_spec.rb +0 -0
- data/spec/unit/parser/functions/shellquote_spec.rb +20 -20
- data/spec/unit/parser/functions/split_spec.rb +2 -37
- data/spec/unit/parser/functions/sprintf_spec.rb +7 -11
- data/spec/unit/parser/functions/tag_spec.rb +3 -3
- data/spec/unit/parser/functions/template_spec.rb +10 -10
- data/spec/unit/parser/functions/versioncmp_spec.rb +3 -3
- data/spec/unit/parser/functions_spec.rb +8 -8
- data/spec/unit/parser/relationship_spec.rb +14 -32
- data/spec/unit/parser/resource/param_spec.rb +0 -0
- data/spec/unit/parser/resource_spec.rb +57 -57
- data/spec/unit/parser/scope_spec.rb +89 -101
- data/spec/unit/parser/templatewrapper_spec.rb +15 -32
- data/spec/unit/parser/type_loader_spec.rb +53 -73
- data/spec/unit/pops/adaptable_spec.rb +22 -22
- data/spec/unit/pops/binder/bindings_checker_spec.rb +14 -14
- data/spec/unit/pops/binder/bindings_composer_spec.rb +4 -6
- data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +3 -3
- data/spec/unit/pops/binder/config/binder_config_spec.rb +8 -1
- data/spec/unit/pops/binder/injector_spec.rb +92 -92
- data/spec/unit/pops/containment_spec.rb +4 -4
- data/spec/unit/pops/evaluator/access_ops_spec.rb +5 -24
- data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +23 -23
- data/spec/unit/pops/evaluator/basic_expressions_spec.rb +22 -22
- data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -3
- data/spec/unit/pops/evaluator/comparison_ops_spec.rb +104 -107
- data/spec/unit/pops/evaluator/conditionals_spec.rb +39 -39
- data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +75 -143
- data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +1 -5
- data/spec/unit/pops/evaluator/logical_ops_spec.rb +15 -15
- data/spec/unit/pops/evaluator/string_interpolation_spec.rb +5 -5
- data/spec/unit/pops/evaluator/variables_spec.rb +18 -18
- data/spec/unit/pops/factory_rspec_helper.rb +0 -8
- data/spec/unit/pops/factory_spec.rb +104 -104
- data/spec/unit/pops/issues_spec.rb +21 -21
- data/spec/unit/pops/label_provider_spec.rb +6 -6
- data/spec/unit/pops/loaders/loaders_spec.rb +3 -3
- data/spec/unit/pops/model/model_spec.rb +10 -10
- data/spec/unit/pops/parser/epp_parser_spec.rb +20 -20
- data/spec/unit/pops/parser/evaluating_parser_spec.rb +2 -2
- data/spec/unit/pops/parser/lexer2_spec.rb +65 -276
- data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +91 -91
- data/spec/unit/pops/parser/parse_calls_spec.rb +19 -19
- data/spec/unit/pops/parser/parse_conditionals_spec.rb +38 -22
- data/spec/unit/pops/parser/parse_containers_spec.rb +47 -47
- data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -62
- data/spec/unit/pops/parser/parse_resource_spec.rb +75 -70
- data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -5
- data/spec/unit/pops/parser/parser_spec.rb +7 -7
- data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -7
- data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +2 -2
- data/spec/unit/pops/types/class_loader_spec.rb +10 -0
- data/spec/unit/pops/types/type_calculator_spec.rb +456 -651
- data/spec/unit/pops/types/type_factory_spec.rb +59 -59
- data/spec/unit/pops/types/type_parser_spec.rb +2 -10
- data/spec/unit/pops/validator/validator_spec.rb +3 -57
- data/spec/unit/pops/visitor_spec.rb +4 -4
- data/spec/unit/property/boolean_spec.rb +2 -2
- data/spec/unit/property/ensure_spec.rb +1 -1
- data/spec/unit/property/keyvalue_spec.rb +16 -16
- data/spec/unit/property/list_spec.rb +18 -18
- data/spec/unit/property/ordered_list_spec.rb +7 -7
- data/spec/unit/property_spec.rb +72 -96
- data/spec/unit/provider/aixobject_spec.rb +12 -12
- data/spec/unit/provider/augeas/augeas_spec.rb +171 -149
- data/spec/unit/provider/cisco_spec.rb +2 -2
- data/spec/unit/provider/command_spec.rb +1 -1
- data/spec/unit/provider/cron/crontab_spec.rb +9 -9
- data/spec/unit/provider/cron/parsed_spec.rb +59 -38
- data/spec/unit/provider/exec/posix_spec.rb +9 -19
- data/spec/unit/provider/exec/shell_spec.rb +13 -13
- data/spec/unit/provider/exec/windows_spec.rb +10 -10
- data/spec/unit/provider/exec_spec.rb +2 -2
- data/spec/unit/provider/file/posix_spec.rb +27 -27
- data/spec/unit/provider/file/windows_spec.rb +15 -15
- data/spec/unit/provider/group/groupadd_spec.rb +1 -1
- data/spec/unit/provider/group/ldap_spec.rb +11 -11
- data/spec/unit/provider/group/pw_spec.rb +3 -3
- data/spec/unit/provider/group/windows_adsi_spec.rb +48 -62
- data/spec/unit/provider/host/parsed_spec.rb +58 -22
- data/spec/unit/provider/interface/cisco_spec.rb +3 -3
- data/spec/unit/provider/ldap_spec.rb +23 -23
- data/spec/unit/provider/macauthorization_spec.rb +6 -6
- data/spec/unit/provider/mcx/mcxcontent_spec.rb +6 -6
- data/spec/unit/provider/mount/parsed_spec.rb +101 -119
- data/spec/unit/provider/mount_spec.rb +0 -0
- data/spec/unit/provider/naginator_spec.rb +8 -8
- data/spec/unit/provider/nameservice/directoryservice_spec.rb +5 -27
- data/spec/unit/provider/nameservice_spec.rb +26 -26
- data/spec/unit/provider/network_device_spec.rb +11 -11
- data/spec/unit/provider/package/aix_spec.rb +3 -3
- data/spec/unit/provider/package/appdmg_spec.rb +1 -1
- data/spec/unit/provider/package/apt_spec.rb +4 -4
- data/spec/unit/provider/package/aptitude_spec.rb +1 -1
- data/spec/unit/provider/package/aptrpm_spec.rb +3 -3
- data/spec/unit/provider/package/dpkg_spec.rb +0 -0
- data/spec/unit/provider/package/freebsd_spec.rb +1 -1
- data/spec/unit/provider/package/gem_spec.rb +12 -12
- data/spec/unit/provider/package/hpux_spec.rb +3 -3
- data/spec/unit/provider/package/macports_spec.rb +15 -15
- data/spec/unit/provider/package/nim_spec.rb +11 -11
- data/spec/unit/provider/package/openbsd_spec.rb +72 -37
- data/spec/unit/provider/package/opkg_spec.rb +14 -11
- data/spec/unit/provider/package/pacman_spec.rb +185 -86
- data/spec/unit/provider/package/pip_spec.rb +25 -54
- data/spec/unit/provider/package/pkg_spec.rb +145 -71
- data/spec/unit/provider/package/pkgdmg_spec.rb +9 -9
- data/spec/unit/provider/package/pkgin_spec.rb +18 -18
- data/spec/unit/provider/package/pkgutil_spec.rb +19 -19
- data/spec/unit/provider/package/portage_spec.rb +8 -4
- data/spec/unit/provider/package/rpm_spec.rb +103 -9
- data/spec/unit/provider/package/sun_spec.rb +14 -14
- data/spec/unit/provider/package/up2date_spec.rb +1 -1
- data/spec/unit/provider/package/{urpmi.rb → urpmi_spec.rb} +3 -3
- data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -13
- data/spec/unit/provider/package/windows/msi_package_spec.rb +16 -16
- data/spec/unit/provider/package/windows/package_spec.rb +14 -14
- data/spec/unit/provider/package/windows_spec.rb +26 -26
- data/spec/unit/provider/package/yum_spec.rb +292 -98
- data/spec/unit/provider/package/zypper_spec.rb +20 -31
- data/spec/unit/provider/parsedfile_spec.rb +9 -9
- data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +192 -434
- data/spec/unit/provider/selboolean_spec.rb +2 -2
- data/spec/unit/provider/selmodule_spec.rb +8 -8
- data/spec/unit/provider/service/base_spec.rb +27 -38
- data/spec/unit/provider/service/daemontools_spec.rb +11 -11
- data/spec/unit/provider/service/debian_spec.rb +8 -8
- data/spec/unit/provider/service/freebsd_spec.rb +7 -8
- data/spec/unit/provider/service/gentoo_spec.rb +12 -13
- data/spec/unit/provider/service/init_spec.rb +25 -38
- data/spec/unit/provider/service/launchd_spec.rb +19 -125
- data/spec/unit/provider/service/openbsd_spec.rb +90 -144
- data/spec/unit/provider/service/openrc_spec.rb +14 -14
- data/spec/unit/provider/service/openwrt_spec.rb +9 -9
- data/spec/unit/provider/service/redhat_spec.rb +14 -15
- data/spec/unit/provider/service/runit_spec.rb +11 -11
- data/spec/unit/provider/service/smf_spec.rb +19 -19
- data/spec/unit/provider/service/src_spec.rb +9 -9
- data/spec/unit/provider/service/systemd_spec.rb +33 -15
- data/spec/unit/provider/service/upstart_spec.rb +59 -59
- data/spec/unit/provider/service/windows_spec.rb +6 -6
- data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +18 -18
- data/spec/unit/provider/sshkey/parsed_spec.rb +11 -11
- data/spec/unit/provider/user/aix_spec.rb +19 -19
- data/spec/unit/provider/user/directoryservice_spec.rb +51 -95
- data/spec/unit/provider/user/hpux_spec.rb +24 -3
- data/spec/unit/provider/user/ldap_spec.rb +12 -12
- data/spec/unit/provider/user/openbsd_spec.rb +77 -0
- data/spec/unit/provider/user/pw_spec.rb +5 -5
- data/spec/unit/provider/user/user_role_add_spec.rb +20 -20
- data/spec/unit/provider/user/useradd_spec.rb +48 -32
- data/spec/unit/provider/user/windows_adsi_spec.rb +9 -31
- data/spec/unit/provider/vlan/cisco_spec.rb +3 -3
- data/spec/unit/provider/yumrepo/inifile_spec.rb +3 -3
- data/spec/unit/provider/zfs/zfs_spec.rb +11 -11
- data/spec/unit/provider/zone/solaris_spec.rb +22 -55
- data/spec/unit/provider/zpool/zpool_spec.rb +22 -22
- data/spec/unit/provider_spec.rb +110 -102
- data/spec/unit/puppet_spec.rb +15 -8
- data/spec/unit/relationship_spec.rb +37 -41
- data/spec/unit/reports/http_spec.rb +0 -0
- data/spec/unit/reports/store_spec.rb +3 -3
- data/spec/unit/reports_spec.rb +5 -5
- data/spec/unit/resource/catalog_spec.rb +93 -111
- data/spec/unit/resource/status_spec.rb +49 -75
- data/spec/unit/resource/type_collection_helper_spec.rb +1 -1
- data/spec/unit/resource/type_collection_spec.rb +59 -164
- data/spec/unit/resource/type_spec.rb +115 -120
- data/spec/unit/resource_spec.rb +176 -159
- data/spec/unit/scheduler/job_spec.rb +12 -12
- data/spec/unit/scheduler/scheduler_spec.rb +8 -8
- data/spec/unit/scheduler/splay_job_spec.rb +4 -4
- data/spec/unit/semver_spec.rb +66 -64
- data/spec/unit/settings/autosign_setting_spec.rb +1 -0
- data/spec/unit/settings/config_file_spec.rb +13 -40
- data/spec/unit/settings/directory_setting_spec.rb +1 -1
- data/spec/unit/settings/duration_setting_spec.rb +9 -5
- data/spec/unit/settings/environment_conf_spec.rb +0 -11
- data/spec/unit/settings/file_setting_spec.rb +38 -69
- data/spec/unit/settings/ini_file_spec.rb +2 -2
- data/spec/unit/settings/path_setting_spec.rb +5 -5
- data/spec/unit/settings/priority_setting_spec.rb +7 -7
- data/spec/unit/settings/string_setting_spec.rb +7 -7
- data/spec/unit/settings/terminus_setting_spec.rb +4 -4
- data/spec/unit/settings/value_translator_spec.rb +22 -22
- data/spec/unit/settings_spec.rb +189 -338
- data/spec/unit/ssl/base_spec.rb +5 -5
- data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +2 -2
- data/spec/unit/ssl/certificate_authority/interface_spec.rb +40 -13
- data/spec/unit/ssl/certificate_authority_spec.rb +23 -23
- data/spec/unit/ssl/certificate_factory_spec.rb +39 -26
- data/spec/unit/ssl/certificate_request_attributes_spec.rb +2 -2
- data/spec/unit/ssl/certificate_request_spec.rb +52 -40
- data/spec/unit/ssl/certificate_revocation_list_spec.rb +10 -10
- data/spec/unit/ssl/certificate_spec.rb +35 -38
- data/spec/unit/ssl/configuration_spec.rb +12 -14
- data/spec/unit/ssl/digest_spec.rb +5 -5
- data/spec/unit/ssl/host_spec.rb +91 -91
- data/spec/unit/ssl/inventory_spec.rb +11 -34
- data/spec/unit/ssl/key_spec.rb +23 -23
- data/spec/unit/ssl/oids_spec.rb +28 -15
- data/spec/unit/ssl/validator_spec.rb +16 -17
- data/spec/unit/status_spec.rb +6 -12
- data/spec/unit/transaction/additional_resource_generator_spec.rb +2 -2
- data/spec/unit/transaction/event_manager_spec.rb +38 -8
- data/spec/unit/transaction/event_spec.rb +29 -29
- data/spec/unit/transaction/report_spec.rb +76 -90
- data/spec/unit/transaction/resource_harness_spec.rb +42 -42
- data/spec/unit/transaction_spec.rb +66 -59
- data/spec/unit/type/augeas_spec.rb +20 -20
- data/spec/unit/type/component_spec.rb +10 -10
- data/spec/unit/type/computer_spec.rb +10 -10
- data/spec/unit/type/cron_spec.rb +21 -21
- data/spec/unit/type/exec_spec.rb +65 -73
- data/spec/unit/type/file/checksum_spec.rb +8 -8
- data/spec/unit/type/file/content_spec.rb +144 -85
- data/spec/unit/type/file/ctime_spec.rb +4 -4
- data/spec/unit/type/file/ensure_spec.rb +11 -11
- data/spec/unit/type/file/group_spec.rb +5 -5
- data/spec/unit/type/file/mode_spec.rb +30 -28
- data/spec/unit/type/file/mtime_spec.rb +4 -4
- data/spec/unit/type/file/owner_spec.rb +5 -5
- data/spec/unit/type/file/selinux_spec.rb +8 -8
- data/spec/unit/type/file/source_spec.rb +118 -135
- data/spec/unit/type/file/type_spec.rb +2 -2
- data/spec/unit/type/file_spec.rb +161 -160
- data/spec/unit/type/filebucket_spec.rb +8 -8
- data/spec/unit/type/group_spec.rb +12 -12
- data/spec/unit/type/host_spec.rb +41 -25
- data/spec/unit/type/interface_spec.rb +6 -6
- data/spec/unit/type/k5login_spec.rb +18 -18
- data/spec/unit/type/macauthorization_spec.rb +17 -17
- data/spec/unit/type/mailalias_spec.rb +34 -6
- data/spec/unit/type/maillist_spec.rb +2 -2
- data/spec/unit/type/mcx_spec.rb +13 -13
- data/spec/unit/type/mount_spec.rb +40 -40
- data/spec/unit/type/nagios_spec.rb +23 -23
- data/spec/unit/type/noop_metaparam_spec.rb +5 -5
- data/spec/unit/type/package/package_settings_spec.rb +9 -9
- data/spec/unit/type/package_spec.rb +87 -18
- data/spec/unit/type/resources_spec.rb +46 -46
- data/spec/unit/type/schedule_spec.rb +83 -83
- data/spec/unit/type/scheduled_task_spec.rb +15 -15
- data/spec/unit/type/selboolean_spec.rb +2 -2
- data/spec/unit/type/selmodule_spec.rb +2 -2
- data/spec/unit/type/service_spec.rb +24 -24
- data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
- data/spec/unit/type/sshkey_spec.rb +0 -0
- data/spec/unit/type/stage_spec.rb +1 -1
- data/spec/unit/type/tidy_spec.rb +58 -39
- data/spec/unit/type/user_spec.rb +56 -56
- data/spec/unit/type/vlan_spec.rb +6 -6
- data/spec/unit/type/whit_spec.rb +1 -1
- data/spec/unit/type/yumrepo_spec.rb +15 -0
- data/spec/unit/type/zfs_spec.rb +3 -3
- data/spec/unit/type/zone_spec.rb +19 -19
- data/spec/unit/type/zpool_spec.rb +15 -15
- data/spec/unit/type_spec.rb +236 -163
- data/spec/unit/util/autoload_spec.rb +31 -25
- data/spec/unit/util/backups_spec.rb +4 -4
- data/spec/unit/util/checksums_spec.rb +55 -27
- data/spec/unit/util/colors_spec.rb +6 -50
- data/spec/unit/util/command_line_spec.rb +13 -41
- data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +2 -2
- data/spec/unit/util/constant_inflector_spec.rb +12 -12
- data/spec/unit/util/diff_spec.rb +4 -4
- data/spec/unit/util/errors_spec.rb +5 -5
- data/spec/unit/util/execution_spec.rb +74 -29
- data/spec/unit/util/execution_stub_spec.rb +10 -10
- data/spec/unit/util/feature_spec.rb +15 -19
- data/spec/unit/util/filetype_spec.rb +9 -9
- data/spec/unit/util/http_proxy_spec.rb +18 -18
- data/spec/unit/util/inifile_spec.rb +2 -2
- data/spec/unit/util/json_lockfile_spec.rb +1 -1
- data/spec/unit/util/ldap/connection_spec.rb +6 -6
- data/spec/unit/util/ldap/generator_spec.rb +8 -8
- data/spec/unit/util/ldap/manager_spec.rb +40 -40
- data/spec/unit/util/lockfile_spec.rb +13 -13
- data/spec/unit/util/log/destinations_spec.rb +52 -49
- data/spec/unit/util/log_spec.rb +48 -173
- data/spec/unit/util/logging_spec.rb +120 -3
- data/spec/unit/util/metric_spec.rb +18 -33
- data/spec/unit/util/monkey_patches_spec.rb +18 -139
- data/spec/unit/util/nagios_maker_spec.rb +2 -2
- data/spec/unit/util/network_device/cisco/device_spec.rb +23 -23
- data/spec/unit/util/network_device/cisco/facts_spec.rb +3 -3
- data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -0
- data/spec/unit/util/network_device/config_spec.rb +10 -16
- data/spec/unit/util/network_device/ipcalc_spec.rb +10 -10
- data/spec/unit/util/network_device/transport/base_spec.rb +2 -2
- data/spec/unit/util/network_device/transport/ssh_spec.rb +10 -10
- data/spec/unit/util/network_device/transport/telnet_spec.rb +3 -3
- data/spec/unit/util/network_device_spec.rb +2 -2
- data/spec/unit/util/package_spec.rb +2 -2
- data/spec/unit/util/pidlock_spec.rb +38 -38
- data/spec/unit/util/posix_spec.rb +25 -25
- data/spec/unit/util/profiler/aggregate_spec.rb +14 -18
- data/spec/unit/util/profiler/around_profiler_spec.rb +6 -6
- data/spec/unit/util/profiler/logging_spec.rb +8 -8
- data/spec/unit/util/profiler/object_counts_spec.rb +3 -5
- data/spec/unit/util/profiler/wall_clock_spec.rb +1 -1
- data/spec/unit/util/profiler_spec.rb +6 -14
- data/spec/unit/util/rdoc_spec.rb +0 -85
- data/spec/unit/util/reference_spec.rb +1 -1
- data/spec/unit/util/resource_template_spec.rb +2 -2
- data/spec/unit/util/{retryaction_spec.rb → retry_action_spec.rb} +25 -2
- data/spec/unit/util/rubygems_spec.rb +8 -8
- data/spec/unit/util/run_mode_spec.rb +159 -17
- data/spec/unit/util/selinux_spec.rb +61 -39
- data/spec/unit/util/ssl_spec.rb +13 -13
- data/spec/unit/util/storage_spec.rb +27 -27
- data/spec/unit/util/suidmanager_spec.rb +56 -67
- data/spec/unit/util/symbolic_file_mode_spec.rb +15 -16
- data/spec/unit/util/tag_set_spec.rb +5 -5
- data/spec/unit/util/tagging_spec.rb +0 -0
- data/spec/unit/util/terminal_spec.rb +5 -5
- data/spec/unit/util/user_attr_spec.rb +6 -6
- data/spec/unit/util/warnings_spec.rb +9 -1
- data/spec/unit/util/watcher_spec.rb +1 -1
- data/spec/unit/util/windows/access_control_entry_spec.rb +9 -9
- data/spec/unit/util/windows/access_control_list_spec.rb +21 -21
- data/spec/unit/util/windows/adsi_spec.rb +71 -209
- data/spec/unit/util/windows/api_types_spec.rb +3 -3
- data/spec/unit/util/windows/registry_spec.rb +71 -46
- data/spec/unit/util/windows/root_certs_spec.rb +1 -1
- data/spec/unit/util/windows/security_descriptor_spec.rb +18 -18
- data/spec/unit/util/windows/sid_spec.rb +40 -20
- data/spec/unit/util/windows/string_spec.rb +4 -4
- data/spec/unit/util/yaml_spec.rb +1 -1
- data/spec/unit/util_spec.rb +73 -124
- data/spec/unit/version_spec.rb +4 -4
- data/spec/watchr.rb +1 -5
- data/tasks/benchmark.rake +1 -6
- data/tasks/ci.rake +1 -1
- data/tasks/manpages.rake +0 -9
- data/tasks/parallel.rake +4 -7
- data/tasks/parser.rake +0 -5
- metadata +179 -465
- data/conf/tagmail.conf +0 -16
- data/ext/debian/puppet.conf +0 -14
- data/ext/debian/puppetmaster-common.puppetqd.default +0 -27
- data/ext/debian/puppetmaster-common.puppetqd.init +0 -84
- data/ext/gentoo/puppet/puppet.conf +0 -25
- data/ext/ips/puppet.conf +0 -29
- data/ext/nagios/naggen +0 -309
- data/ext/puppet-load.rb +0 -393
- data/ext/redhat/puppet.conf +0 -25
- data/ext/redhat/queue.init +0 -105
- data/lib/hiera/backend/puppet_backend.rb +0 -103
- data/lib/puppet/application/instrumentation_data.rb +0 -7
- data/lib/puppet/application/instrumentation_listener.rb +0 -7
- data/lib/puppet/application/instrumentation_probe.rb +0 -7
- data/lib/puppet/application/kick.rb +0 -351
- data/lib/puppet/application/queue.rb +0 -161
- data/lib/puppet/application/secret_agent.rb +0 -9
- data/lib/puppet/dsl.rb +0 -7
- data/lib/puppet/dsl/resource_api.rb +0 -120
- data/lib/puppet/dsl/resource_type_api.rb +0 -34
- data/lib/puppet/face/instrumentation_data.rb +0 -30
- data/lib/puppet/face/instrumentation_listener.rb +0 -98
- data/lib/puppet/face/instrumentation_probe.rb +0 -79
- data/lib/puppet/face/secret_agent.rb +0 -54
- data/lib/puppet/feature/pson.rb +0 -4
- data/lib/puppet/feature/rails.rb +0 -47
- data/lib/puppet/feature/rdoc1.rb +0 -16
- data/lib/puppet/feature/rubygems.rb +0 -7
- data/lib/puppet/feature/stomp.rb +0 -5
- data/lib/puppet/file_collection.rb +0 -19
- data/lib/puppet/file_collection/lookup.rb +0 -10
- data/lib/puppet/file_system/file18.rb +0 -5
- data/lib/puppet/functions/defined.rb +0 -130
- data/lib/puppet/indirector/active_record.rb +0 -29
- data/lib/puppet/indirector/catalog/active_record.rb +0 -39
- data/lib/puppet/indirector/catalog/queue.rb +0 -9
- data/lib/puppet/indirector/couch.rb +0 -78
- data/lib/puppet/indirector/facts/active_record.rb +0 -44
- data/lib/puppet/indirector/facts/couch.rb +0 -36
- data/lib/puppet/indirector/facts/inventory_active_record.rb +0 -110
- data/lib/puppet/indirector/facts/inventory_service.rb +0 -20
- data/lib/puppet/indirector/facts/rest.rb +0 -8
- data/lib/puppet/indirector/instrumentation_data.rb +0 -3
- data/lib/puppet/indirector/instrumentation_data/local.rb +0 -22
- data/lib/puppet/indirector/instrumentation_data/rest.rb +0 -8
- data/lib/puppet/indirector/instrumentation_listener.rb +0 -3
- data/lib/puppet/indirector/instrumentation_listener/local.rb +0 -26
- data/lib/puppet/indirector/instrumentation_listener/rest.rb +0 -8
- data/lib/puppet/indirector/instrumentation_probe.rb +0 -3
- data/lib/puppet/indirector/instrumentation_probe/local.rb +0 -27
- data/lib/puppet/indirector/instrumentation_probe/rest.rb +0 -8
- data/lib/puppet/indirector/node/active_record.rb +0 -22
- data/lib/puppet/indirector/queue.rb +0 -80
- data/lib/puppet/indirector/resource/active_record.rb +0 -104
- data/lib/puppet/indirector/resource/rest.rb +0 -17
- data/lib/puppet/indirector/run/local.rb +0 -15
- data/lib/puppet/indirector/run/rest.rb +0 -12
- data/lib/puppet/module_tool/modulefile.rb +0 -78
- data/lib/puppet/network/authentication.rb +0 -35
- data/lib/puppet/network/http/api/v2.rb +0 -32
- data/lib/puppet/network/http/api/v2/authorization.rb +0 -15
- data/lib/puppet/parser/ast/arithmetic_operator.rb +0 -91
- data/lib/puppet/parser/ast/astarray.rb +0 -50
- data/lib/puppet/parser/ast/asthash.rb +0 -37
- data/lib/puppet/parser/ast/boolean_operator.rb +0 -46
- data/lib/puppet/parser/ast/caseopt.rb +0 -52
- data/lib/puppet/parser/ast/casestatement.rb +0 -41
- data/lib/puppet/parser/ast/collection.rb +0 -53
- data/lib/puppet/parser/ast/collexpr.rb +0 -109
- data/lib/puppet/parser/ast/comparison_operator.rb +0 -38
- data/lib/puppet/parser/ast/definition.rb +0 -17
- data/lib/puppet/parser/ast/else.rb +0 -22
- data/lib/puppet/parser/ast/function.rb +0 -59
- data/lib/puppet/parser/ast/ifstatement.rb +0 -34
- data/lib/puppet/parser/ast/in_operator.rb +0 -24
- data/lib/puppet/parser/ast/lambda.rb +0 -135
- data/lib/puppet/parser/ast/match_operator.rb +0 -28
- data/lib/puppet/parser/ast/method_call.rb +0 -77
- data/lib/puppet/parser/ast/minus.rb +0 -23
- data/lib/puppet/parser/ast/nop.rb +0 -11
- data/lib/puppet/parser/ast/not.rb +0 -19
- data/lib/puppet/parser/ast/relationship.rb +0 -47
- data/lib/puppet/parser/ast/resource_defaults.rb +0 -24
- data/lib/puppet/parser/ast/resource_override.rb +0 -62
- data/lib/puppet/parser/ast/resource_reference.rb +0 -28
- data/lib/puppet/parser/ast/selector.rb +0 -50
- data/lib/puppet/parser/ast/vardef.rb +0 -38
- data/lib/puppet/parser/code_merger.rb +0 -13
- data/lib/puppet/parser/collector.rb +0 -177
- data/lib/puppet/parser/functions/extlookup.rb +0 -153
- data/lib/puppet/parser/functions/search.rb +0 -12
- data/lib/puppet/parser/grammar.ra +0 -806
- data/lib/puppet/parser/lexer.rb +0 -608
- data/lib/puppet/parser/makefile +0 -8
- data/lib/puppet/parser/methods.rb +0 -69
- data/lib/puppet/parser/parser.rb +0 -2559
- data/lib/puppet/parser/parser_support.rb +0 -195
- data/lib/puppet/pops/binder/lookup.rb +0 -216
- data/lib/puppet/pops/migration/migration_checker.rb +0 -45
- data/lib/puppet/pops/model/ast_tree_dumper.rb +0 -386
- data/lib/puppet/provider/package/msi.rb +0 -125
- data/lib/puppet/provider/package/yumhelper.py +0 -159
- data/lib/puppet/rails.rb +0 -139
- data/lib/puppet/rails/benchmark.rb +0 -63
- data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +0 -13
- data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +0 -13
- data/lib/puppet/rails/database/003_add_environment_to_host.rb +0 -9
- data/lib/puppet/rails/database/004_add_inventory_service_tables.rb +0 -36
- data/lib/puppet/rails/database/schema.rb +0 -136
- data/lib/puppet/rails/fact_name.rb +0 -7
- data/lib/puppet/rails/fact_value.rb +0 -10
- data/lib/puppet/rails/host.rb +0 -258
- data/lib/puppet/rails/inventory_fact.rb +0 -5
- data/lib/puppet/rails/inventory_node.rb +0 -43
- data/lib/puppet/rails/param_name.rb +0 -25
- data/lib/puppet/rails/param_value.rb +0 -74
- data/lib/puppet/rails/puppet_tag.rb +0 -10
- data/lib/puppet/rails/resource.rb +0 -235
- data/lib/puppet/rails/resource_tag.rb +0 -26
- data/lib/puppet/rails/source_file.rb +0 -8
- data/lib/puppet/reports/rrdgraph.rb +0 -128
- data/lib/puppet/reports/tagmail.rb +0 -179
- data/lib/puppet/run.rb +0 -109
- data/lib/puppet/util/cacher.rb +0 -74
- data/lib/puppet/util/inline_docs.rb +0 -26
- data/lib/puppet/util/instrumentation.rb +0 -152
- data/lib/puppet/util/instrumentation/data.rb +0 -46
- data/lib/puppet/util/instrumentation/indirection_probe.rb +0 -41
- data/lib/puppet/util/instrumentation/instrumentable.rb +0 -136
- data/lib/puppet/util/instrumentation/listener.rb +0 -72
- data/lib/puppet/util/instrumentation/listeners/log.rb +0 -23
- data/lib/puppet/util/instrumentation/listeners/performance.rb +0 -24
- data/lib/puppet/util/log/rate_limited_logger.rb +0 -40
- data/lib/puppet/util/monkey_patches/lines.rb +0 -13
- data/lib/puppet/util/plugins.rb +0 -82
- data/lib/puppet/util/pson.rb +0 -13
- data/lib/puppet/util/queue.rb +0 -96
- data/lib/puppet/util/queue/stomp.rb +0 -60
- data/lib/puppet/util/rails/cache_accumulator.rb +0 -65
- data/lib/puppet/util/rails/collection_merger.rb +0 -17
- data/lib/puppet/util/rails/reference_serializer.rb +0 -32
- data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc1.rb +0 -19
- data/lib/puppet/util/retryaction.rb +0 -47
- data/lib/puppet/util/zaml.rb +0 -419
- data/lib/puppet/vendor/load_safe_yaml.rb +0 -1
- data/lib/puppet/vendor/safe_yaml/CHANGES.md +0 -104
- data/lib/puppet/vendor/safe_yaml/Gemfile +0 -11
- data/lib/puppet/vendor/safe_yaml/LICENSE.txt +0 -22
- data/lib/puppet/vendor/safe_yaml/PUPPET_README.md +0 -6
- data/lib/puppet/vendor/safe_yaml/README.md +0 -179
- data/lib/puppet/vendor/safe_yaml/Rakefile +0 -6
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb +0 -253
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/deep.rb +0 -34
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/date.rb +0 -27
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/hexadecimal.rb +0 -12
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/sexagesimal.rb +0 -26
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_handler.rb +0 -92
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_resolver.rb +0 -52
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/resolver.rb +0 -94
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -17
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_hack.rb +0 -36
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_resolver.rb +0 -38
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform.rb +0 -41
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_boolean.rb +0 -21
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_date.rb +0 -11
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_float.rb +0 -33
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_integer.rb +0 -25
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_nil.rb +0 -18
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_symbol.rb +0 -13
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/transformation_map.rb +0 -47
- data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/version.rb +0 -3
- data/lib/puppet/vendor/safe_yaml/run_specs_all_ruby_versions.sh +0 -21
- data/lib/puppet/vendor/safe_yaml/safe_yaml.gemspec +0 -18
- data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.2.yaml +0 -2
- data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.3.yaml +0 -2
- data/lib/puppet/vendor/safe_yaml/spec/psych_resolver_spec.rb +0 -10
- data/lib/puppet/vendor/safe_yaml/spec/resolver_specs.rb +0 -250
- data/lib/puppet/vendor/safe_yaml/spec/safe_yaml_spec.rb +0 -702
- data/lib/puppet/vendor/safe_yaml/spec/spec_helper.rb +0 -18
- data/lib/puppet/vendor/safe_yaml/spec/support/exploitable_back_door.rb +0 -29
- data/lib/puppet/vendor/safe_yaml/spec/syck_resolver_spec.rb +0 -10
- data/lib/puppet/vendor/safe_yaml/spec/transform/base64_spec.rb +0 -11
- data/lib/puppet/vendor/safe_yaml/spec/transform/to_date_spec.rb +0 -34
- data/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb +0 -42
- data/lib/puppet/vendor/safe_yaml/spec/transform/to_integer_spec.rb +0 -59
- data/lib/puppet/vendor/safe_yaml/spec/transform/to_symbol_spec.rb +0 -49
- data/lib/puppet/vendor/safe_yaml_patches.rb +0 -9
- data/lib/puppetx.rb +0 -89
- data/man/man8/puppet-instrumentation_data.8 +0 -141
- data/man/man8/puppet-instrumentation_listener.8 +0 -218
- data/man/man8/puppet-instrumentation_probe.8 +0 -203
- data/man/man8/puppet-kick.8 +0 -131
- data/man/man8/puppet-queue.8 +0 -55
- data/man/man8/puppet-secret_agent.8 +0 -70
- data/spec/fixtures/module.tar.gz +0 -0
- data/spec/fixtures/unit/provider/package/pkg/publisher +0 -2
- data/spec/fixtures/unit/provider/package/pkg/simple +0 -2
- data/spec/fixtures/yaml/report0.25.x.yaml +0 -64
- data/spec/integration/indirector/catalog/queue_spec.rb +0 -55
- data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
- data/spec/integration/parser/dynamic_scoping_spec.rb +0 -131
- data/spec/integration/parser/future_compiler_spec.rb +0 -822
- data/spec/integration/parser/parser_spec.rb +0 -207
- data/spec/integration/parser/ruby_manifest_spec.rb +0 -119
- data/spec/integration/type/sshkey_spec.rb +0 -22
- data/spec/integration/util/feature_spec.rb +0 -53
- data/spec/lib/puppet_spec/database.rb +0 -29
- data/spec/monkey_patches/alias_should_to_must.rb +0 -21
- data/spec/shared_contexts/platform.rb +0 -52
- data/spec/unit/application/kick_spec.rb +0 -296
- data/spec/unit/application/queue_spec.rb +0 -168
- data/spec/unit/application/secret_agent_spec.rb +0 -34
- data/spec/unit/dsl/resource_api_spec.rb +0 -180
- data/spec/unit/dsl/resource_type_api_spec.rb +0 -53
- data/spec/unit/face/instrumentation_data_spec.rb +0 -7
- data/spec/unit/face/instrumentation_listener_spec.rb +0 -38
- data/spec/unit/face/instrumentation_probe_spec.rb +0 -21
- data/spec/unit/face/secret_agent_spec.rb +0 -27
- data/spec/unit/functions/defined_spec.rb +0 -291
- data/spec/unit/hiera/backend/puppet_backend_spec.rb +0 -148
- data/spec/unit/indirector/active_record_spec.rb +0 -75
- data/spec/unit/indirector/catalog/active_record_spec.rb +0 -107
- data/spec/unit/indirector/catalog/queue_spec.rb +0 -19
- data/spec/unit/indirector/facts/active_record_spec.rb +0 -113
- data/spec/unit/indirector/facts/couch_spec.rb +0 -102
- data/spec/unit/indirector/facts/inventory_active_record_spec.rb +0 -175
- data/spec/unit/indirector/facts/inventory_service_spec.rb +0 -21
- data/spec/unit/indirector/facts/rest_spec.rb +0 -10
- data/spec/unit/indirector/instrumentation_data/local_spec.rb +0 -52
- data/spec/unit/indirector/instrumentation_data/rest_spec.rb +0 -11
- data/spec/unit/indirector/instrumentation_listener/local_spec.rb +0 -65
- data/spec/unit/indirector/instrumentation_listener/rest_spec.rb +0 -11
- data/spec/unit/indirector/instrumentation_probe/local_spec.rb +0 -65
- data/spec/unit/indirector/instrumentation_probe/rest_spec.rb +0 -11
- data/spec/unit/indirector/node/active_record_spec.rb +0 -48
- data/spec/unit/indirector/queue_spec.rb +0 -115
- data/spec/unit/indirector/resource/active_record_spec.rb +0 -166
- data/spec/unit/indirector/resource/rest_spec.rb +0 -10
- data/spec/unit/indirector/run/local_spec.rb +0 -21
- data/spec/unit/indirector/run/rest_spec.rb +0 -10
- data/spec/unit/network/authentication_spec.rb +0 -104
- data/spec/unit/network/http/api/v2_spec.rb +0 -14
- data/spec/unit/parser/ast/arithmetic_operator_spec.rb +0 -160
- data/spec/unit/parser/ast/astarray_spec.rb +0 -56
- data/spec/unit/parser/ast/asthash_spec.rb +0 -98
- data/spec/unit/parser/ast/boolean_operator_spec.rb +0 -54
- data/spec/unit/parser/ast/casestatement_spec.rb +0 -168
- data/spec/unit/parser/ast/collection_spec.rb +0 -70
- data/spec/unit/parser/ast/collexpr_spec.rb +0 -120
- data/spec/unit/parser/ast/comparison_operator_spec.rb +0 -118
- data/spec/unit/parser/ast/definition_spec.rb +0 -21
- data/spec/unit/parser/ast/function_spec.rb +0 -92
- data/spec/unit/parser/ast/hostclass_spec.rb +0 -72
- data/spec/unit/parser/ast/ifstatement_spec.rb +0 -77
- data/spec/unit/parser/ast/in_operator_spec.rb +0 -61
- data/spec/unit/parser/ast/match_operator_spec.rb +0 -51
- data/spec/unit/parser/ast/minus_spec.rb +0 -37
- data/spec/unit/parser/ast/node_spec.rb +0 -30
- data/spec/unit/parser/ast/nop_spec.rb +0 -19
- data/spec/unit/parser/ast/not_spec.rb +0 -31
- data/spec/unit/parser/ast/relationship_spec.rb +0 -87
- data/spec/unit/parser/ast/resource_defaults_spec.rb +0 -21
- data/spec/unit/parser/ast/resource_override_spec.rb +0 -50
- data/spec/unit/parser/ast/resource_reference_spec.rb +0 -56
- data/spec/unit/parser/ast/resource_spec.rb +0 -183
- data/spec/unit/parser/ast/resourceparam_spec.rb +0 -51
- data/spec/unit/parser/ast/selector_spec.rb +0 -88
- data/spec/unit/parser/ast/vardef_spec.rb +0 -68
- data/spec/unit/parser/ast_spec.rb +0 -76
- data/spec/unit/parser/collector_spec.rb +0 -438
- data/spec/unit/parser/functions/extlookup_spec.rb +0 -102
- data/spec/unit/parser/functions/search_spec.rb +0 -28
- data/spec/unit/parser/lexer_spec.rb +0 -877
- data/spec/unit/parser/parser_spec.rb +0 -535
- data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -19
- data/spec/unit/pops/migration_spec.rb +0 -180
- data/spec/unit/pops/model/ast_transformer_spec.rb +0 -76
- data/spec/unit/pops/transformer/transform_basic_expressions_spec.rb +0 -243
- data/spec/unit/pops/transformer/transform_calls_spec.rb +0 -115
- data/spec/unit/pops/transformer/transform_conditionals_spec.rb +0 -123
- data/spec/unit/pops/transformer/transform_containers_spec.rb +0 -190
- data/spec/unit/pops/transformer/transformer_rspec_helper.rb +0 -27
- data/spec/unit/pops/validation_spec.rb +0 -66
- data/spec/unit/provider/package/msi_spec.rb +0 -229
- data/spec/unit/rails/host_spec.rb +0 -162
- data/spec/unit/rails/param_value_spec.rb +0 -46
- data/spec/unit/rails/resource_spec.rb +0 -115
- data/spec/unit/rails_spec.rb +0 -244
- data/spec/unit/reports/rrdgraph_spec.rb +0 -29
- data/spec/unit/reports/tagmail_spec.rb +0 -218
- data/spec/unit/run_spec.rb +0 -175
- data/spec/unit/util/cache_accumulator_spec.rb +0 -74
- data/spec/unit/util/cacher_spec.rb +0 -107
- data/spec/unit/util/inline_docs_spec.rb +0 -31
- data/spec/unit/util/instrumentation/data_spec.rb +0 -46
- data/spec/unit/util/instrumentation/indirection_probe_spec.rb +0 -21
- data/spec/unit/util/instrumentation/instrumentable_spec.rb +0 -186
- data/spec/unit/util/instrumentation/listener_spec.rb +0 -101
- data/spec/unit/util/instrumentation/listeners/log_spec.rb +0 -34
- data/spec/unit/util/instrumentation/listeners/performance_spec.rb +0 -36
- data/spec/unit/util/instrumentation_spec.rb +0 -181
- data/spec/unit/util/log/rate_limited_logger_spec.rb +0 -51
- data/spec/unit/util/monkey_patches/lines_spec.rb +0 -83
- data/spec/unit/util/queue/stomp_spec.rb +0 -137
- data/spec/unit/util/queue_spec.rb +0 -94
- data/spec/unit/util/rdoc/parser_spec.rb +0 -608
- data/spec/unit/util/reference_serializer_spec.rb +0 -51
- data/spec/unit/util/zaml_spec.rb +0 -308
@@ -14,7 +14,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
14
14
|
context "When the evaluator evaluates" do
|
15
15
|
context "an if expression" do
|
16
16
|
it 'should output the expected result when dumped' do
|
17
|
-
dump(IF(literal(true), literal(2), literal(5))).
|
17
|
+
expect(dump(IF(literal(true), literal(2), literal(5)))).to eq unindent(<<-TEXT
|
18
18
|
(if true
|
19
19
|
(then 2)
|
20
20
|
(else 5))
|
@@ -23,29 +23,29 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
23
23
|
end
|
24
24
|
|
25
25
|
it 'if true {5} == 5' do
|
26
|
-
evaluate(IF(literal(true), literal(5))).
|
26
|
+
expect(evaluate(IF(literal(true), literal(5)))).to eq(5)
|
27
27
|
end
|
28
28
|
|
29
29
|
it 'if false {5} == nil' do
|
30
|
-
evaluate(IF(literal(false), literal(5))).
|
30
|
+
expect(evaluate(IF(literal(false), literal(5)))).to eq(nil)
|
31
31
|
end
|
32
32
|
|
33
33
|
it 'if false {2} else {5} == 5' do
|
34
|
-
evaluate(IF(literal(false), literal(2), literal(5))).
|
34
|
+
expect(evaluate(IF(literal(false), literal(2), literal(5)))).to eq(5)
|
35
35
|
end
|
36
36
|
|
37
37
|
it 'if false {2} elsif true {5} == 5' do
|
38
|
-
evaluate(IF(literal(false), literal(2), IF(literal(true), literal(5)))).
|
38
|
+
expect(evaluate(IF(literal(false), literal(2), IF(literal(true), literal(5))))).to eq(5)
|
39
39
|
end
|
40
40
|
|
41
41
|
it 'if false {2} elsif false {5} == nil' do
|
42
|
-
evaluate(IF(literal(false), literal(2), IF(literal(false), literal(5)))).
|
42
|
+
expect(evaluate(IF(literal(false), literal(2), IF(literal(false), literal(5))))).to eq(nil)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
46
|
context "an unless expression" do
|
47
47
|
it 'should output the expected result when dumped' do
|
48
|
-
dump(UNLESS(literal(true), literal(2), literal(5))).
|
48
|
+
expect(dump(UNLESS(literal(true), literal(2), literal(5)))).to eq unindent(<<-TEXT
|
49
49
|
(unless true
|
50
50
|
(then 2)
|
51
51
|
(else 5))
|
@@ -54,43 +54,43 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
54
54
|
end
|
55
55
|
|
56
56
|
it 'unless false {5} == 5' do
|
57
|
-
evaluate(UNLESS(literal(false), literal(5))).
|
57
|
+
expect(evaluate(UNLESS(literal(false), literal(5)))).to eq(5)
|
58
58
|
end
|
59
59
|
|
60
60
|
it 'unless true {5} == nil' do
|
61
|
-
evaluate(UNLESS(literal(true), literal(5))).
|
61
|
+
expect(evaluate(UNLESS(literal(true), literal(5)))).to eq(nil)
|
62
62
|
end
|
63
63
|
|
64
64
|
it 'unless true {2} else {5} == 5' do
|
65
|
-
evaluate(UNLESS(literal(true), literal(2), literal(5))).
|
65
|
+
expect(evaluate(UNLESS(literal(true), literal(2), literal(5)))).to eq(5)
|
66
66
|
end
|
67
67
|
|
68
68
|
it 'unless true {2} elsif true {5} == 5' do
|
69
69
|
# not supported by concrete syntax
|
70
|
-
evaluate(UNLESS(literal(true), literal(2), IF(literal(true), literal(5)))).
|
70
|
+
expect(evaluate(UNLESS(literal(true), literal(2), IF(literal(true), literal(5))))).to eq(5)
|
71
71
|
end
|
72
72
|
|
73
73
|
it 'unless true {2} elsif false {5} == nil' do
|
74
74
|
# not supported by concrete syntax
|
75
|
-
evaluate(UNLESS(literal(true), literal(2), IF(literal(false), literal(5)))).
|
75
|
+
expect(evaluate(UNLESS(literal(true), literal(2), IF(literal(false), literal(5))))).to eq(nil)
|
76
76
|
end
|
77
77
|
end
|
78
78
|
|
79
79
|
context "a case expression" do
|
80
80
|
it 'should output the expected result when dumped' do
|
81
|
-
dump(CASE(literal(2),
|
81
|
+
expect(dump(CASE(literal(2),
|
82
82
|
WHEN(literal(1), literal('wat')),
|
83
83
|
WHEN([literal(2), literal(3)], literal('w00t'))
|
84
|
-
)).
|
84
|
+
))).to eq unindent(<<-TEXT
|
85
85
|
(case 2
|
86
86
|
(when (1) (then 'wat'))
|
87
87
|
(when (2 3) (then 'w00t')))
|
88
88
|
TEXT
|
89
89
|
)
|
90
|
-
dump(CASE(literal(2),
|
90
|
+
expect(dump(CASE(literal(2),
|
91
91
|
WHEN(literal(1), literal('wat')),
|
92
92
|
WHEN([literal(2), literal(3)], literal('w00t'))
|
93
|
-
).default(literal(4))).
|
93
|
+
).default(literal(4)))).to eq unindent(<<-TEXT
|
94
94
|
(case 2
|
95
95
|
(when (1) (then 'wat'))
|
96
96
|
(when (2 3) (then 'w00t'))
|
@@ -100,90 +100,90 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
100
100
|
end
|
101
101
|
|
102
102
|
it "case 1 { 1 : { 'w00t'} } == 'w00t'" do
|
103
|
-
evaluate(CASE(literal(1), WHEN(literal(1), literal('w00t')))).
|
103
|
+
expect(evaluate(CASE(literal(1), WHEN(literal(1), literal('w00t'))))).to eq('w00t')
|
104
104
|
end
|
105
105
|
|
106
106
|
it "case 2 { 1,2,3 : { 'w00t'} } == 'w00t'" do
|
107
|
-
evaluate(CASE(literal(2), WHEN([literal(1), literal(2), literal(3)], literal('w00t')))).
|
107
|
+
expect(evaluate(CASE(literal(2), WHEN([literal(1), literal(2), literal(3)], literal('w00t'))))).to eq('w00t')
|
108
108
|
end
|
109
109
|
|
110
110
|
it "case 2 { 1,3 : {'wat'} 2: { 'w00t'} } == 'w00t'" do
|
111
|
-
evaluate(CASE(literal(2),
|
111
|
+
expect(evaluate(CASE(literal(2),
|
112
112
|
WHEN([literal(1), literal(3)], literal('wat')),
|
113
|
-
WHEN(literal(2), literal('w00t')))).
|
113
|
+
WHEN(literal(2), literal('w00t'))))).to eq('w00t')
|
114
114
|
end
|
115
115
|
|
116
116
|
it "case 2 { 1,3 : {'wat'} 5: { 'wat'} default: {'w00t'}} == 'w00t'" do
|
117
|
-
evaluate(CASE(literal(2),
|
117
|
+
expect(evaluate(CASE(literal(2),
|
118
118
|
WHEN([literal(1), literal(3)], literal('wat')),
|
119
119
|
WHEN(literal(5), literal('wat'))).default(literal('w00t'))
|
120
|
-
).
|
120
|
+
)).to eq('w00t')
|
121
121
|
end
|
122
122
|
|
123
123
|
it "case 2 { 1,3 : {'wat'} 5: { 'wat'} } == nil" do
|
124
|
-
evaluate(CASE(literal(2),
|
124
|
+
expect(evaluate(CASE(literal(2),
|
125
125
|
WHEN([literal(1), literal(3)], literal('wat')),
|
126
126
|
WHEN(literal(5), literal('wat')))
|
127
|
-
).
|
127
|
+
)).to eq(nil)
|
128
128
|
end
|
129
129
|
|
130
130
|
it "case 'banana' { 1,3 : {'wat'} /.*ana.*/: { 'w00t'} } == w00t" do
|
131
|
-
evaluate(CASE(literal('banana'),
|
131
|
+
expect(evaluate(CASE(literal('banana'),
|
132
132
|
WHEN([literal(1), literal(3)], literal('wat')),
|
133
133
|
WHEN(literal(/.*ana.*/), literal('w00t')))
|
134
|
-
).
|
134
|
+
)).to eq('w00t')
|
135
135
|
end
|
136
136
|
|
137
137
|
context "with regular expressions" do
|
138
138
|
it "should set numeric variables from the match" do
|
139
|
-
evaluate(CASE(literal('banana'),
|
139
|
+
expect(evaluate(CASE(literal('banana'),
|
140
140
|
WHEN([literal(1), literal(3)], literal('wat')),
|
141
141
|
WHEN(literal(/.*(ana).*/), var(1)))
|
142
|
-
).
|
142
|
+
)).to eq('ana')
|
143
143
|
end
|
144
144
|
end
|
145
145
|
end
|
146
146
|
|
147
147
|
context "select expressions" do
|
148
148
|
it 'should output the expected result when dumped' do
|
149
|
-
dump(literal(2).select(
|
149
|
+
expect(dump(literal(2).select(
|
150
150
|
MAP(literal(1), literal('wat')),
|
151
151
|
MAP(literal(2), literal('w00t'))
|
152
|
-
)).
|
152
|
+
))).to eq("(? 2 (1 => 'wat') (2 => 'w00t'))")
|
153
153
|
end
|
154
154
|
|
155
155
|
it "1 ? {1 => 'w00t'} == 'w00t'" do
|
156
|
-
evaluate(literal(1).select(MAP(literal(1), literal('w00t')))).
|
156
|
+
expect(evaluate(literal(1).select(MAP(literal(1), literal('w00t'))))).to eq('w00t')
|
157
157
|
end
|
158
158
|
|
159
159
|
it "2 ? {1 => 'wat', 2 => 'w00t'} == 'w00t'" do
|
160
|
-
evaluate(literal(2).select(
|
160
|
+
expect(evaluate(literal(2).select(
|
161
161
|
MAP(literal(1), literal('wat')),
|
162
162
|
MAP(literal(2), literal('w00t'))
|
163
|
-
)).
|
163
|
+
))).to eq('w00t')
|
164
164
|
end
|
165
165
|
|
166
166
|
it "3 ? {1 => 'wat', 2 => 'wat', default => 'w00t'} == 'w00t'" do
|
167
|
-
evaluate(literal(3).select(
|
167
|
+
expect(evaluate(literal(3).select(
|
168
168
|
MAP(literal(1), literal('wat')),
|
169
169
|
MAP(literal(2), literal('wat')),
|
170
170
|
MAP(literal(:default), literal('w00t'))
|
171
|
-
)).
|
171
|
+
))).to eq('w00t')
|
172
172
|
end
|
173
173
|
|
174
174
|
it "3 ? {1 => 'wat', default => 'w00t', 3 => 'wat'} == 'w00t'" do
|
175
|
-
evaluate(literal(3).select(
|
175
|
+
expect(evaluate(literal(3).select(
|
176
176
|
MAP(literal(1), literal('wat')),
|
177
177
|
MAP(literal(:default), literal('w00t')),
|
178
178
|
MAP(literal(2), literal('wat'))
|
179
|
-
)).
|
179
|
+
))).to eq('w00t')
|
180
180
|
end
|
181
181
|
|
182
182
|
it "should set numerical variables from match" do
|
183
|
-
evaluate(literal('banana').select(
|
183
|
+
expect(evaluate(literal('banana').select(
|
184
184
|
MAP(literal(1), literal('wat')),
|
185
185
|
MAP(literal(/.*(ana).*/), var(1))
|
186
|
-
)).
|
186
|
+
))).to eq('ana')
|
187
187
|
end
|
188
188
|
end
|
189
189
|
end
|
@@ -17,28 +17,21 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
17
17
|
before(:each) do
|
18
18
|
Puppet[:strict_variables] = true
|
19
19
|
|
20
|
-
# These must be set since the 3x logic switches some behaviors on these even if the tests explicitly
|
21
|
-
# use the 4x parser and evaluator.
|
22
|
-
#
|
23
|
-
Puppet[:parser] = 'future'
|
24
|
-
|
25
|
-
# Puppetx cannot be loaded until the correct parser has been set (injector is turned off otherwise)
|
26
|
-
require 'puppetx'
|
27
|
-
|
28
20
|
# Tests needs a known configuration of node/scope/compiler since it parses and evaluates
|
29
21
|
# snippets as the compiler will evaluate them, butwithout the overhead of compiling a complete
|
30
22
|
# catalog for each tested expression.
|
31
23
|
#
|
32
24
|
@parser = Puppet::Pops::Parser::EvaluatingParser.new
|
33
25
|
@node = Puppet::Node.new('node.example.com')
|
34
|
-
@node.environment =
|
26
|
+
@node.environment = environment
|
35
27
|
@compiler = Puppet::Parser::Compiler.new(@node)
|
36
28
|
@scope = Puppet::Parser::Scope.new(@compiler)
|
37
29
|
@scope.source = Puppet::Resource::Type.new(:node, 'node.example.com')
|
38
30
|
@scope.parent = @compiler.topscope
|
39
31
|
end
|
40
32
|
|
41
|
-
let(:
|
33
|
+
let(:environment) { Puppet::Node::Environment.create(:testing, []) }
|
34
|
+
let(:parser) { @parser }
|
42
35
|
let(:scope) { @scope }
|
43
36
|
types = Puppet::Pops::Types::TypeFactory
|
44
37
|
|
@@ -61,7 +54,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
61
54
|
"/.*/" => /.*/
|
62
55
|
}.each do |source, result|
|
63
56
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
64
|
-
parser.evaluate_string(scope, source, __FILE__).
|
57
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
65
58
|
end
|
66
59
|
end
|
67
60
|
end
|
@@ -78,9 +71,6 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
78
71
|
"[1,2,3] != [1,2,3]" => false,
|
79
72
|
"[1,2,3][2]" => 3,
|
80
73
|
"[1,2,3] + [4,5]" => [1,2,3,4,5],
|
81
|
-
"[1,2,3, *[4,5]]" => [1,2,3,4,5],
|
82
|
-
"[1,2,3, (*[4,5])]" => [1,2,3,4,5],
|
83
|
-
"[1,2,3, ((*[4,5]))]" => [1,2,3,4,5],
|
84
74
|
"[1,2,3] + [[4,5]]" => [1,2,3,[4,5]],
|
85
75
|
"[1,2,3] + 4" => [1,2,3,4],
|
86
76
|
"[1,2,3] << [4,5]" => [1,2,3,[4,5]],
|
@@ -94,19 +84,10 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
94
84
|
"[1,2,3,3,2,4,2,3] - [2,3]" => [1,4],
|
95
85
|
"[1,2,3,['a',1],['b',2]] - {'a' => 1, 'b'=>2}" => [1,2,3],
|
96
86
|
"[1,2,3,{'a'=>1,'b'=>2}] - [{'a' => 1, 'b'=>2}]" => [1,2,3],
|
97
|
-
}.each do |source, result|
|
98
|
-
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
99
|
-
parser.evaluate_string(scope, source, __FILE__).should == result
|
100
|
-
end
|
101
|
-
end
|
102
|
-
|
103
|
-
{
|
104
87
|
"[1,2,3] + {'a' => 1, 'b'=>2}" => [1,2,3,['a',1],['b',2]],
|
105
88
|
}.each do |source, result|
|
106
89
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
107
|
-
|
108
|
-
# is undefined and Ruby 1.8.7 and 1.9.3 produce different results.
|
109
|
-
expect(parser.evaluate_string(scope, source, __FILE__)).to match_array(result)
|
90
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
110
91
|
end
|
111
92
|
end
|
112
93
|
|
@@ -138,7 +119,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
138
119
|
"{'a'=>1, 'b'=>2, 'c'=>3} - 'c'" => {'a'=>1, 'b'=>2},
|
139
120
|
}.each do |source, result|
|
140
121
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
141
|
-
parser.evaluate_string(scope, source, __FILE__).
|
122
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
142
123
|
end
|
143
124
|
end
|
144
125
|
|
@@ -206,7 +187,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
206
187
|
"true == false" => false,
|
207
188
|
}.each do |source, result|
|
208
189
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
209
|
-
parser.evaluate_string(scope, source, __FILE__).
|
190
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
210
191
|
end
|
211
192
|
end
|
212
193
|
|
@@ -238,12 +219,10 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
238
219
|
"$x = Pattern['a.*'] a =~ $x" => true,
|
239
220
|
"1 =~ Integer" => true,
|
240
221
|
"1 !~ Integer" => false,
|
241
|
-
"undef =~ NotUndef" => false,
|
242
|
-
"undef !~ NotUndef" => true,
|
243
222
|
"[1,2,3] =~ Array[Integer[1,10]]" => true,
|
244
223
|
}.each do |source, result|
|
245
224
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
246
|
-
parser.evaluate_string(scope, source, __FILE__).
|
225
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
247
226
|
end
|
248
227
|
end
|
249
228
|
|
@@ -303,7 +282,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
303
282
|
"Integer in {'a'=>1}" => false,
|
304
283
|
}.each do |source, result|
|
305
284
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
306
|
-
parser.evaluate_string(scope, source, __FILE__).
|
285
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
307
286
|
end
|
308
287
|
end
|
309
288
|
|
@@ -316,12 +295,12 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
316
295
|
"if /b/ in [pineapple, bananas] {$0}" => 'b',
|
317
296
|
}.each do |source, result|
|
318
297
|
it "sets match variables for a regexp search using in such that '#{source}' produces '#{result}'" do
|
319
|
-
parser.evaluate_string(scope, source, __FILE__).
|
298
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
320
299
|
end
|
321
300
|
end
|
322
301
|
|
323
302
|
{
|
324
|
-
'Any' => ['
|
303
|
+
'Any' => ['Data', 'Scalar', 'Numeric', 'Integer', 'Float', 'Boolean', 'String', 'Pattern', 'Collection',
|
325
304
|
'Array', 'Hash', 'CatalogEntry', 'Resource', 'Class', 'Undef', 'File', 'NotYetKnownResourceType'],
|
326
305
|
|
327
306
|
# Note, Data > Collection is false (so not included)
|
@@ -333,13 +312,13 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
333
312
|
}.each do |general, specials|
|
334
313
|
specials.each do |special |
|
335
314
|
it "should compute that #{general} > #{special}" do
|
336
|
-
parser.evaluate_string(scope, "#{general} > #{special}", __FILE__).
|
315
|
+
expect(parser.evaluate_string(scope, "#{general} > #{special}", __FILE__)).to eq(true)
|
337
316
|
end
|
338
317
|
it "should compute that #{special} < #{general}" do
|
339
|
-
parser.evaluate_string(scope, "#{special} < #{general}", __FILE__).
|
318
|
+
expect(parser.evaluate_string(scope, "#{special} < #{general}", __FILE__)).to eq(true)
|
340
319
|
end
|
341
320
|
it "should compute that #{general} != #{special}" do
|
342
|
-
parser.evaluate_string(scope, "#{special} != #{general}", __FILE__).
|
321
|
+
expect(parser.evaluate_string(scope, "#{special} != #{general}", __FILE__)).to eq(true)
|
343
322
|
end
|
344
323
|
end
|
345
324
|
end
|
@@ -353,7 +332,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
353
332
|
'Integer[1,10] == Integer[1,10]' => true,
|
354
333
|
}.each do |source, result|
|
355
334
|
it "should parse and evaluate the integer range comparison expression '#{source}' to #{result}" do
|
356
|
-
parser.evaluate_string(scope, source, __FILE__).
|
335
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
357
336
|
end
|
358
337
|
end
|
359
338
|
|
@@ -374,7 +353,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
374
353
|
"8 << 1" => 16,
|
375
354
|
}.each do |source, result|
|
376
355
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
377
|
-
parser.evaluate_string(scope, source, __FILE__).
|
356
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
378
357
|
end
|
379
358
|
end
|
380
359
|
|
@@ -388,7 +367,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
388
367
|
"-6.0/3.0 " => -2.0,
|
389
368
|
}.each do |source, result|
|
390
369
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
391
|
-
parser.evaluate_string(scope, source, __FILE__).
|
370
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
392
371
|
end
|
393
372
|
end
|
394
373
|
|
@@ -424,7 +403,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
424
403
|
"'+02' + '04'" => 6,
|
425
404
|
}.each do |source, result|
|
426
405
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
427
|
-
parser.evaluate_string(scope, source, __FILE__).
|
406
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
428
407
|
end
|
429
408
|
end
|
430
409
|
|
@@ -432,7 +411,6 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
432
411
|
"'0888' + '010'" => :error,
|
433
412
|
"'0xWTF' + '010'" => :error,
|
434
413
|
"'0x12.3' + '010'" => :error,
|
435
|
-
"'0x12.3' + '010'" => :error,
|
436
414
|
'"-\n 2" + "2"' => :error,
|
437
415
|
'"-\v 2" + "2"' => :error,
|
438
416
|
'"-2\n" + "2"' => :error,
|
@@ -454,7 +432,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
454
432
|
"$a = $b = 5; $a == $b" => true,
|
455
433
|
}.each do |source, result|
|
456
434
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
457
|
-
parser.evaluate_string(scope, source, __FILE__).
|
435
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
458
436
|
end
|
459
437
|
end
|
460
438
|
|
@@ -478,7 +456,6 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
478
456
|
"unless false {5}" => 5,
|
479
457
|
"unless true {5}" => nil,
|
480
458
|
"unless true {2} else {5}" => 5,
|
481
|
-
"unless true {} else {5}" => 5,
|
482
459
|
"$a = if true {5} $a" => 5,
|
483
460
|
"$a = if false {5} $a" => nil,
|
484
461
|
"$a = if false {2} else {5} $a" => 5,
|
@@ -489,7 +466,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
489
466
|
"$a = unless true {2} else {5} $a" => 5,
|
490
467
|
}.each do |source, result|
|
491
468
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
492
|
-
parser.evaluate_string(scope, source, __FILE__).
|
469
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
493
470
|
end
|
494
471
|
end
|
495
472
|
|
@@ -516,34 +493,15 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
516
493
|
"case ringo {
|
517
494
|
*[paul, john, ringo, george] : { 'beatle' } }" => 'beatle',
|
518
495
|
|
519
|
-
"case ringo {
|
520
|
-
(*[paul, john, ringo, george]) : { 'beatle' } }" => 'beatle',
|
521
|
-
|
522
496
|
"case undef {
|
523
497
|
undef : { 'yes' } }" => 'yes',
|
524
498
|
|
525
499
|
"case undef {
|
526
500
|
*undef : { 'no' }
|
527
501
|
default :{ 'yes' }}" => 'yes',
|
528
|
-
|
529
|
-
"case [green, 2, whatever] {
|
530
|
-
[/ee/, Integer[0,10], default] : { 'yes' }
|
531
|
-
default :{ 'no' }}" => 'yes',
|
532
|
-
|
533
|
-
"case [green, 2, whatever] {
|
534
|
-
default :{ 'no' }
|
535
|
-
[/ee/, Integer[0,10], default] : { 'yes' }}" => 'yes',
|
536
|
-
|
537
|
-
"case {a=>1, b=>2, whatever=>3, extra => ignored} {
|
538
|
-
{ a => Integer[0,5],
|
539
|
-
b => Integer[0,5],
|
540
|
-
whatever => default
|
541
|
-
} : { 'yes' }
|
542
|
-
default : { 'no' }}" => 'yes',
|
543
|
-
|
544
502
|
}.each do |source, result|
|
545
503
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
546
|
-
parser.evaluate_string(scope, source, __FILE__).
|
504
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
547
505
|
end
|
548
506
|
end
|
549
507
|
|
@@ -557,25 +515,11 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
557
515
|
"'banana' ? { /.*(ana).*/ => $1 }" => 'ana',
|
558
516
|
"[2] ? { Array[String] => yes, Array => yes}" => 'yes',
|
559
517
|
"ringo ? *[paul, john, ringo, george] => 'beatle'" => 'beatle',
|
560
|
-
"ringo ? (*[paul, john, ringo, george]) => 'beatle'"=> 'beatle',
|
561
518
|
"undef ? undef => 'yes'" => 'yes',
|
562
519
|
"undef ? {*undef => 'no', default => 'yes'}" => 'yes',
|
563
|
-
|
564
|
-
"[green, 2, whatever] ? {
|
565
|
-
[/ee/, Integer[0,10], default
|
566
|
-
] => 'yes',
|
567
|
-
default => 'no'}" => 'yes',
|
568
|
-
|
569
|
-
"{a=>1, b=>2, whatever=>3, extra => ignored} ?
|
570
|
-
{{ a => Integer[0,5],
|
571
|
-
b => Integer[0,5],
|
572
|
-
whatever => default
|
573
|
-
} => 'yes',
|
574
|
-
default => 'no' }" => 'yes',
|
575
|
-
|
576
520
|
}.each do |source, result|
|
577
521
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
578
|
-
parser.evaluate_string(scope, source, __FILE__).
|
522
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
579
523
|
end
|
580
524
|
end
|
581
525
|
|
@@ -591,7 +535,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
591
535
|
"*'a'" => ['a']
|
592
536
|
}.each do |source, result|
|
593
537
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
594
|
-
parser.evaluate_string(scope, source, __FILE__).
|
538
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
595
539
|
end
|
596
540
|
end
|
597
541
|
|
@@ -629,7 +573,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
629
573
|
"[1,*[2,3],4][1]" => 2,
|
630
574
|
}.each do |source, result|
|
631
575
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
632
|
-
parser.evaluate_string(scope, source, __FILE__).
|
576
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
633
577
|
end
|
634
578
|
end
|
635
579
|
|
@@ -646,7 +590,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
646
590
|
"$a = {} $a[free_lunch] == undef" => true,
|
647
591
|
}.each do |source, result|
|
648
592
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
649
|
-
parser.evaluate_string(scope, source, __FILE__).
|
593
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
650
594
|
end
|
651
595
|
end
|
652
596
|
|
@@ -681,7 +625,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
681
625
|
"'abcd'[2,-3]" => '',
|
682
626
|
}.each do |source, result|
|
683
627
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
684
|
-
parser.evaluate_string(scope, source, __FILE__).
|
628
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
685
629
|
end
|
686
630
|
end
|
687
631
|
|
@@ -707,7 +651,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
707
651
|
"String[Integer[1]]" => types.constrain_size(types.string,1, :default),
|
708
652
|
}.each do |source, result|
|
709
653
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
710
|
-
parser.evaluate_string(scope, source, __FILE__).
|
654
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
711
655
|
end
|
712
656
|
end
|
713
657
|
|
@@ -739,8 +683,6 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
739
683
|
"'abc'[x]" => "The value 'x' cannot be converted to Numeric",
|
740
684
|
"'abc'[1.0]" => "A String[] cannot use Float where Integer is expected",
|
741
685
|
"'abc'[1,2,3]" => "String supports [] with one or two arguments. Got 3",
|
742
|
-
"NotUndef[0]" => 'NotUndef-Type[] argument must be a Type or a String. Got Fixnum',
|
743
|
-
"NotUndef[a,b]" => 'NotUndef-Type[] accepts 0 to 1 arguments. Got 2',
|
744
686
|
"Resource[0]" => 'First argument to Resource[] must be a resource type or a String. Got Integer',
|
745
687
|
"Resource[a, 0]" => 'Error creating type specialization of a Resource-Type, Cannot use Integer where a resource title String is expected',
|
746
688
|
"File[0]" => 'Error creating type specialization of a File-Type, Cannot use Integer where a resource title String is expected',
|
@@ -767,7 +709,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
767
709
|
context "on catalog types" do
|
768
710
|
it "[n] gets resource parameter [n]" do
|
769
711
|
source = "notify { 'hello': message=>'yo'} Notify[hello][message]"
|
770
|
-
parser.evaluate_string(scope, source, __FILE__).
|
712
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq('yo')
|
771
713
|
end
|
772
714
|
|
773
715
|
it "[n] gets class parameter [n]" do
|
@@ -779,9 +721,11 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
779
721
|
adapted_parser = Puppet::Parser::E4ParserAdapter.new
|
780
722
|
adapted_parser.file = __FILE__
|
781
723
|
ast = adapted_parser.parse(source)
|
782
|
-
Puppet.override({:global_scope => scope
|
724
|
+
Puppet.override({:global_scope => scope,
|
725
|
+
:environments => Puppet::Environments::Static.new(@node.environment)
|
726
|
+
}, "gets class parameter test") do
|
783
727
|
scope.known_resource_types.import_ast(ast, '')
|
784
|
-
ast.code.safeevaluate(scope).
|
728
|
+
expect(ast.code.safeevaluate(scope)).to eq('chocolate')
|
785
729
|
end
|
786
730
|
end
|
787
731
|
|
@@ -809,7 +753,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
809
753
|
Notify[foo][tag]" => "by_override",
|
810
754
|
}.each do |source, result|
|
811
755
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
812
|
-
parser.evaluate_string(scope, source, __FILE__).
|
756
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
813
757
|
end
|
814
758
|
end
|
815
759
|
|
@@ -910,7 +854,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
910
854
|
"false or true or '0xwtf' + 1" => true,
|
911
855
|
}.each do |source, result|
|
912
856
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
913
|
-
parser.evaluate_string(scope, source, __FILE__).
|
857
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
914
858
|
end
|
915
859
|
end
|
916
860
|
|
@@ -925,8 +869,8 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
925
869
|
|
926
870
|
context "When evaluator performs operations on literal undef" do
|
927
871
|
it "computes non existing hash lookup as undef" do
|
928
|
-
parser.evaluate_string(scope, "{a => 1}[b] == undef", __FILE__).
|
929
|
-
parser.evaluate_string(scope, "undef == {a => 1}[b]", __FILE__).
|
872
|
+
expect(parser.evaluate_string(scope, "{a => 1}[b] == undef", __FILE__)).to eq(true)
|
873
|
+
expect(parser.evaluate_string(scope, "undef == {a => 1}[b]", __FILE__)).to eq(true)
|
930
874
|
end
|
931
875
|
end
|
932
876
|
|
@@ -940,15 +884,13 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
940
884
|
'sprintf( "x%iy", $a )' => "x10y",
|
941
885
|
# unfolds
|
942
886
|
'sprintf( *["x%iy", $a] )' => "x10y",
|
943
|
-
'( *["x%iy", $a] ).sprintf' => "x10y",
|
944
|
-
'((*["x%iy", $a])).sprintf' => "x10y",
|
945
887
|
'"x%iy".sprintf( $a )' => "x10y",
|
946
888
|
'$b.reduce |$memo,$x| { $memo + $x }' => 6,
|
947
889
|
'reduce($b) |$memo,$x| { $memo + $x }' => 6,
|
948
890
|
}.each do |source, result|
|
949
891
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
950
892
|
populate
|
951
|
-
parser.evaluate_string(scope, source, __FILE__).
|
893
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
952
894
|
end
|
953
895
|
end
|
954
896
|
|
@@ -968,7 +910,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
968
910
|
env_loader = @compiler.loaders.public_environment_loader
|
969
911
|
fc = Puppet::Functions.create_function(:test) do
|
970
912
|
dispatch :test do
|
971
|
-
param 'Integer',
|
913
|
+
param 'Integer', :count
|
972
914
|
required_block_param
|
973
915
|
end
|
974
916
|
def test(count)
|
@@ -985,7 +927,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
985
927
|
env_loader = @compiler.loaders.public_environment_loader
|
986
928
|
fc = Puppet::Functions.create_function(:test) do
|
987
929
|
dispatch :test do
|
988
|
-
param 'Any',
|
930
|
+
param 'Any', :lambda_arg
|
989
931
|
required_block_param
|
990
932
|
end
|
991
933
|
def test(lambda_arg)
|
@@ -1002,7 +944,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1002
944
|
env_loader = @compiler.loaders.public_environment_loader
|
1003
945
|
fc = Puppet::Functions.create_function(:assert_no_undef) do
|
1004
946
|
dispatch :assert_no_undef do
|
1005
|
-
param 'Any',
|
947
|
+
param 'Any', :x
|
1006
948
|
end
|
1007
949
|
|
1008
950
|
def assert_no_undef(x)
|
@@ -1030,25 +972,25 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1030
972
|
context 'using the 3x function api' do
|
1031
973
|
it 'can call a 3x function' do
|
1032
974
|
Puppet::Parser::Functions.newfunction("bazinga", :type => :rvalue) { |args| args[0] }
|
1033
|
-
parser.evaluate_string(scope, "bazinga(42)", __FILE__).
|
975
|
+
expect(parser.evaluate_string(scope, "bazinga(42)", __FILE__)).to eq(42)
|
1034
976
|
end
|
1035
977
|
|
1036
978
|
it 'maps :undef to empty string' do
|
1037
979
|
Puppet::Parser::Functions.newfunction("bazinga", :type => :rvalue) { |args| args[0] }
|
1038
|
-
parser.evaluate_string(scope, "$a = {} bazinga($a[nope])", __FILE__).
|
1039
|
-
parser.evaluate_string(scope, "bazinga(undef)", __FILE__).
|
980
|
+
expect(parser.evaluate_string(scope, "$a = {} bazinga($a[nope])", __FILE__)).to eq('')
|
981
|
+
expect(parser.evaluate_string(scope, "bazinga(undef)", __FILE__)).to eq('')
|
1040
982
|
end
|
1041
983
|
|
1042
984
|
it 'does not map :undef to empty string in arrays' do
|
1043
985
|
Puppet::Parser::Functions.newfunction("bazinga", :type => :rvalue) { |args| args[0][0] }
|
1044
|
-
parser.evaluate_string(scope, "$a = {} $b = [$a[nope]] bazinga($b)", __FILE__).
|
1045
|
-
parser.evaluate_string(scope, "bazinga([undef])", __FILE__).
|
986
|
+
expect(parser.evaluate_string(scope, "$a = {} $b = [$a[nope]] bazinga($b)", __FILE__)).to eq(:undef)
|
987
|
+
expect(parser.evaluate_string(scope, "bazinga([undef])", __FILE__)).to eq(:undef)
|
1046
988
|
end
|
1047
989
|
|
1048
990
|
it 'does not map :undef to empty string in hashes' do
|
1049
991
|
Puppet::Parser::Functions.newfunction("bazinga", :type => :rvalue) { |args| args[0]['a'] }
|
1050
|
-
parser.evaluate_string(scope, "$a = {} $b = {a => $a[nope]} bazinga($b)", __FILE__).
|
1051
|
-
parser.evaluate_string(scope, "bazinga({a => undef})", __FILE__).
|
992
|
+
expect(parser.evaluate_string(scope, "$a = {} $b = {a => $a[nope]} bazinga($b)", __FILE__)).to eq(:undef)
|
993
|
+
expect(parser.evaluate_string(scope, "bazinga({a => undef})", __FILE__)).to eq(:undef)
|
1052
994
|
end
|
1053
995
|
end
|
1054
996
|
end
|
@@ -1076,7 +1018,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1076
1018
|
}.each do |source, result|
|
1077
1019
|
it "should parse and evaluate the expression '#{source}' to #{result}" do
|
1078
1020
|
populate
|
1079
|
-
parser.evaluate_string(scope, source, __FILE__).
|
1021
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
|
1080
1022
|
end
|
1081
1023
|
end
|
1082
1024
|
|
@@ -1088,7 +1030,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1088
1030
|
alt_results = ["value is {a => 1, b => 2} yo", "value is {b => 2, a => 1} yo" ]
|
1089
1031
|
populate
|
1090
1032
|
parse_result = parser.evaluate_string(scope, source, __FILE__)
|
1091
|
-
alt_results.include?(parse_result).
|
1033
|
+
expect(alt_results.include?(parse_result)).to eq(true)
|
1092
1034
|
end
|
1093
1035
|
|
1094
1036
|
it 'should accept a variable with leading underscore when used directly' do
|
@@ -1142,14 +1084,14 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1142
1084
|
end
|
1143
1085
|
|
1144
1086
|
it "a lex error should be raised for '$foo::::bar'" do
|
1145
|
-
expect { parser.evaluate_string(scope, "$foo::::bar") }.to raise_error(Puppet::
|
1087
|
+
expect { parser.evaluate_string(scope, "$foo::::bar") }.to raise_error(Puppet::LexError, /Illegal fully qualified name at line 1:7/)
|
1146
1088
|
end
|
1147
1089
|
|
1148
1090
|
{ '$a = $0' => nil,
|
1149
1091
|
'$a = $1' => nil,
|
1150
1092
|
}.each do |source, value|
|
1151
1093
|
it "it is ok to reference numeric unassigned variables '#{source}'" do
|
1152
|
-
parser.evaluate_string(scope, source, __FILE__).
|
1094
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(value)
|
1153
1095
|
end
|
1154
1096
|
end
|
1155
1097
|
|
@@ -1168,7 +1110,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1168
1110
|
'$__a = 1' => 1,
|
1169
1111
|
}.each do |source, value|
|
1170
1112
|
it "as in this example '#{source}'" do
|
1171
|
-
parser.evaluate_string(scope, source, __FILE__).
|
1113
|
+
expect(parser.evaluate_string(scope, source, __FILE__)).to eq(value)
|
1172
1114
|
end
|
1173
1115
|
end
|
1174
1116
|
end
|
@@ -1178,48 +1120,48 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1178
1120
|
it 'should form a relation with File[a] -> File[b]' do
|
1179
1121
|
source = "File[a] -> File[b]"
|
1180
1122
|
parser.evaluate_string(scope, source, __FILE__)
|
1181
|
-
scope.compiler.
|
1123
|
+
expect(scope.compiler).to have_relationship(['File', 'a', '->', 'File', 'b'])
|
1182
1124
|
end
|
1183
1125
|
|
1184
1126
|
it 'should form a relation with resource -> resource' do
|
1185
1127
|
source = "notify{a:} -> notify{b:}"
|
1186
1128
|
parser.evaluate_string(scope, source, __FILE__)
|
1187
|
-
scope.compiler.
|
1129
|
+
expect(scope.compiler).to have_relationship(['Notify', 'a', '->', 'Notify', 'b'])
|
1188
1130
|
end
|
1189
1131
|
|
1190
1132
|
it 'should form a relation with [File[a], File[b]] -> [File[x], File[y]]' do
|
1191
1133
|
source = "[File[a], File[b]] -> [File[x], File[y]]"
|
1192
1134
|
parser.evaluate_string(scope, source, __FILE__)
|
1193
|
-
scope.compiler.
|
1194
|
-
scope.compiler.
|
1195
|
-
scope.compiler.
|
1196
|
-
scope.compiler.
|
1135
|
+
expect(scope.compiler).to have_relationship(['File', 'a', '->', 'File', 'x'])
|
1136
|
+
expect(scope.compiler).to have_relationship(['File', 'b', '->', 'File', 'x'])
|
1137
|
+
expect(scope.compiler).to have_relationship(['File', 'a', '->', 'File', 'y'])
|
1138
|
+
expect(scope.compiler).to have_relationship(['File', 'b', '->', 'File', 'y'])
|
1197
1139
|
end
|
1198
1140
|
|
1199
1141
|
it 'should tolerate (eliminate) duplicates in operands' do
|
1200
1142
|
source = "[File[a], File[a]] -> File[x]"
|
1201
1143
|
parser.evaluate_string(scope, source, __FILE__)
|
1202
|
-
scope.compiler.
|
1203
|
-
scope.compiler.relationships.size.
|
1144
|
+
expect(scope.compiler).to have_relationship(['File', 'a', '->', 'File', 'x'])
|
1145
|
+
expect(scope.compiler.relationships.size).to eq(1)
|
1204
1146
|
end
|
1205
1147
|
|
1206
1148
|
it 'should form a relation with <-' do
|
1207
1149
|
source = "File[a] <- File[b]"
|
1208
1150
|
parser.evaluate_string(scope, source, __FILE__)
|
1209
|
-
scope.compiler.
|
1151
|
+
expect(scope.compiler).to have_relationship(['File', 'b', '->', 'File', 'a'])
|
1210
1152
|
end
|
1211
1153
|
|
1212
1154
|
it 'should form a relation with <-' do
|
1213
1155
|
source = "File[a] <~ File[b]"
|
1214
1156
|
parser.evaluate_string(scope, source, __FILE__)
|
1215
|
-
scope.compiler.
|
1157
|
+
expect(scope.compiler).to have_relationship(['File', 'b', '~>', 'File', 'a'])
|
1216
1158
|
end
|
1217
1159
|
end
|
1218
1160
|
|
1219
1161
|
context "When evaluating heredoc" do
|
1220
1162
|
it "evaluates plain heredoc" do
|
1221
1163
|
src = "@(END)\nThis is\nheredoc text\nEND\n"
|
1222
|
-
parser.evaluate_string(scope, src).
|
1164
|
+
expect(parser.evaluate_string(scope, src)).to eq("This is\nheredoc text\n")
|
1223
1165
|
end
|
1224
1166
|
|
1225
1167
|
it "parses heredoc with margin" do
|
@@ -1230,7 +1172,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1230
1172
|
" | END",
|
1231
1173
|
""
|
1232
1174
|
].join("\n")
|
1233
|
-
parser.evaluate_string(scope, src).
|
1175
|
+
expect(parser.evaluate_string(scope, src)).to eq("This is\nheredoc text\n")
|
1234
1176
|
end
|
1235
1177
|
|
1236
1178
|
it "parses heredoc with margin and right newline trim" do
|
@@ -1241,7 +1183,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1241
1183
|
" |- END",
|
1242
1184
|
""
|
1243
1185
|
].join("\n")
|
1244
|
-
parser.evaluate_string(scope, src).
|
1186
|
+
expect(parser.evaluate_string(scope, src)).to eq("This is\nheredoc text")
|
1245
1187
|
end
|
1246
1188
|
|
1247
1189
|
it "parses escape specification" do
|
@@ -1250,7 +1192,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1250
1192
|
Tex\\tt\\n
|
1251
1193
|
|- END
|
1252
1194
|
CODE
|
1253
|
-
parser.evaluate_string(scope, src).
|
1195
|
+
expect(parser.evaluate_string(scope, src)).to eq("Tex\tt\\n")
|
1254
1196
|
end
|
1255
1197
|
|
1256
1198
|
it "parses syntax checked specification" do
|
@@ -1259,7 +1201,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1259
1201
|
["foo", "bar"]
|
1260
1202
|
|- END
|
1261
1203
|
CODE
|
1262
|
-
parser.evaluate_string(scope, src).
|
1204
|
+
expect(parser.evaluate_string(scope, src)).to eq('["foo", "bar"]')
|
1263
1205
|
end
|
1264
1206
|
|
1265
1207
|
it "parses syntax checked specification with error and reports it" do
|
@@ -1278,17 +1220,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1278
1220
|
Hello $name
|
1279
1221
|
|- END
|
1280
1222
|
CODE
|
1281
|
-
parser.evaluate_string(scope, src).
|
1282
|
-
end
|
1283
|
-
|
1284
|
-
it "parses interpolated heredoc expression with escapes" do
|
1285
|
-
src = <<-CODE
|
1286
|
-
$name = 'Fjodor'
|
1287
|
-
@("END")
|
1288
|
-
Hello\\ \\$name
|
1289
|
-
|- END
|
1290
|
-
CODE
|
1291
|
-
parser.evaluate_string(scope, src).should == "Hello\\ \\Fjodor"
|
1223
|
+
expect(parser.evaluate_string(scope, src)).to eq("Hello Fjodor")
|
1292
1224
|
end
|
1293
1225
|
|
1294
1226
|
end
|
@@ -1319,14 +1251,14 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1319
1251
|
end
|
1320
1252
|
|
1321
1253
|
it 'for non r-value producing define' do
|
1322
|
-
Puppet
|
1323
|
-
Puppet
|
1254
|
+
Puppet.expects(:err).with("Invalid use of expression. A 'define' expression does not produce a value at line 1:6")
|
1255
|
+
Puppet.expects(:err).with("Classes, definitions, and nodes may only appear at toplevel or inside other classes at line 1:6")
|
1324
1256
|
expect { parser.parse_string("$a = define foo { }", nil) }.to raise_error(/2 errors/)
|
1325
1257
|
end
|
1326
1258
|
|
1327
1259
|
it 'for non r-value producing class' do
|
1328
|
-
Puppet
|
1329
|
-
Puppet
|
1260
|
+
Puppet.expects(:err).with("Invalid use of expression. A Host Class Definition does not produce a value at line 1:6")
|
1261
|
+
Puppet.expects(:err).with("Classes, definitions, and nodes may only appear at toplevel or inside other classes at line 1:6")
|
1330
1262
|
expect { parser.parse_string("$a = class foo { }", nil) }.to raise_error(/2 errors/)
|
1331
1263
|
end
|
1332
1264
|
|
@@ -1340,8 +1272,8 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1340
1272
|
end
|
1341
1273
|
|
1342
1274
|
it 'for multiple errors with a summary exception' do
|
1343
|
-
Puppet
|
1344
|
-
Puppet
|
1275
|
+
Puppet.expects(:err).with("Invalid use of expression. A Node Definition does not produce a value at line 1:6")
|
1276
|
+
Puppet.expects(:err).with("Classes, definitions, and nodes may only appear at toplevel or inside other classes at line 1:6")
|
1345
1277
|
expect { parser.parse_string("$a = node x { }",nil) }.to raise_error(/2 errors/)
|
1346
1278
|
end
|
1347
1279
|
|
@@ -1410,7 +1342,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
|
|
1410
1342
|
end
|
1411
1343
|
end
|
1412
1344
|
|
1413
|
-
|
1345
|
+
failure_message do |actual|
|
1414
1346
|
"Relationship #{expected[0]}[#{expected[1]}] #{expected[2]} #{expected[3]}[#{expected[4]}] but was unknown to compiler"
|
1415
1347
|
end
|
1416
1348
|
end
|