puppet 8.4.0-universal-darwin → 8.5.1-universal-darwin

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1872) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -1
  3. data/Gemfile.lock +78 -61
  4. data/ext/project_data.yaml +4 -4
  5. data/ext/windows/service/daemon.rb +8 -8
  6. data/lib/hiera/puppet_function.rb +4 -4
  7. data/lib/hiera/scope.rb +5 -4
  8. data/lib/hiera_puppet.rb +0 -1
  9. data/lib/puppet/agent/disabler.rb +2 -2
  10. data/lib/puppet/agent.rb +3 -3
  11. data/lib/puppet/application/agent.rb +80 -78
  12. data/lib/puppet/application/apply.rb +45 -45
  13. data/lib/puppet/application/describe.rb +21 -21
  14. data/lib/puppet/application/device.rb +49 -49
  15. data/lib/puppet/application/doc.rb +27 -27
  16. data/lib/puppet/application/face_base.rb +2 -3
  17. data/lib/puppet/application/filebucket.rb +58 -58
  18. data/lib/puppet/application/generate.rb +1 -1
  19. data/lib/puppet/application/lookup.rb +44 -44
  20. data/lib/puppet/application/resource.rb +34 -34
  21. data/lib/puppet/application/script.rb +29 -29
  22. data/lib/puppet/application/ssl.rb +18 -18
  23. data/lib/puppet/application.rb +7 -7
  24. data/lib/puppet/application_support.rb +1 -1
  25. data/lib/puppet/compilable_resource_type.rb +2 -2
  26. data/lib/puppet/concurrent/lock.rb +0 -1
  27. data/lib/puppet/configurer/fact_handler.rb +3 -3
  28. data/lib/puppet/configurer.rb +8 -7
  29. data/lib/puppet/confine/any.rb +1 -1
  30. data/lib/puppet/confine/boolean.rb +1 -1
  31. data/lib/puppet/confine/exists.rb +1 -1
  32. data/lib/puppet/confine/false.rb +1 -1
  33. data/lib/puppet/confine/feature.rb +1 -2
  34. data/lib/puppet/confine/true.rb +1 -1
  35. data/lib/puppet/confine/variable.rb +1 -1
  36. data/lib/puppet/confine_collection.rb +1 -1
  37. data/lib/puppet/context/trusted_information.rb +4 -4
  38. data/lib/puppet/daemon.rb +6 -6
  39. data/lib/puppet/datatypes.rb +3 -2
  40. data/lib/puppet/defaults.rb +12 -12
  41. data/lib/puppet/environments.rb +7 -7
  42. data/lib/puppet/error.rb +7 -6
  43. data/lib/puppet/etc.rb +3 -2
  44. data/lib/puppet/external/dot.rb +25 -25
  45. data/lib/puppet/face/catalog/select.rb +1 -1
  46. data/lib/puppet/face/config.rb +1 -1
  47. data/lib/puppet/face/epp.rb +9 -9
  48. data/lib/puppet/face/facts.rb +2 -2
  49. data/lib/puppet/face/generate.rb +1 -1
  50. data/lib/puppet/face/help.rb +17 -21
  51. data/lib/puppet/face/module/install.rb +4 -3
  52. data/lib/puppet/face/module/list.rb +7 -8
  53. data/lib/puppet/face/module/upgrade.rb +4 -3
  54. data/lib/puppet/face/parser.rb +6 -6
  55. data/lib/puppet/feature/base.rb +2 -2
  56. data/lib/puppet/feature/libuser.rb +2 -2
  57. data/lib/puppet/ffi/posix/constants.rb +1 -1
  58. data/lib/puppet/ffi/windows/functions.rb +1 -1
  59. data/lib/puppet/file_bucket/dipper.rb +8 -6
  60. data/lib/puppet/file_bucket/file.rb +2 -2
  61. data/lib/puppet/file_serving/configuration.rb +1 -1
  62. data/lib/puppet/file_serving/fileset.rb +2 -2
  63. data/lib/puppet/file_serving/http_metadata.rb +1 -1
  64. data/lib/puppet/file_serving/metadata.rb +4 -5
  65. data/lib/puppet/file_serving/terminus_selector.rb +1 -1
  66. data/lib/puppet/file_system/file_impl.rb +4 -4
  67. data/lib/puppet/file_system/uniquefile.rb +4 -4
  68. data/lib/puppet/file_system/windows.rb +7 -7
  69. data/lib/puppet/file_system.rb +1 -1
  70. data/lib/puppet/forge/cache.rb +1 -1
  71. data/lib/puppet/forge/repository.rb +1 -1
  72. data/lib/puppet/forge.rb +3 -3
  73. data/lib/puppet/functions/abs.rb +4 -3
  74. data/lib/puppet/functions/all.rb +1 -1
  75. data/lib/puppet/functions/any.rb +1 -1
  76. data/lib/puppet/functions/assert_type.rb +3 -2
  77. data/lib/puppet/functions/break.rb +1 -1
  78. data/lib/puppet/functions/camelcase.rb +2 -2
  79. data/lib/puppet/functions/capitalize.rb +2 -2
  80. data/lib/puppet/functions/chomp.rb +1 -1
  81. data/lib/puppet/functions/chop.rb +1 -1
  82. data/lib/puppet/functions/compare.rb +1 -1
  83. data/lib/puppet/functions/contain.rb +5 -4
  84. data/lib/puppet/functions/dig.rb +3 -3
  85. data/lib/puppet/functions/downcase.rb +2 -2
  86. data/lib/puppet/functions/eyaml_lookup_key.rb +1 -1
  87. data/lib/puppet/functions/filter.rb +6 -7
  88. data/lib/puppet/functions/get.rb +1 -1
  89. data/lib/puppet/functions/getvar.rb +4 -4
  90. data/lib/puppet/functions/group_by.rb +2 -2
  91. data/lib/puppet/functions/include.rb +3 -2
  92. data/lib/puppet/functions/index.rb +1 -1
  93. data/lib/puppet/functions/join.rb +1 -1
  94. data/lib/puppet/functions/lookup.rb +2 -2
  95. data/lib/puppet/functions/lstrip.rb +1 -1
  96. data/lib/puppet/functions/map.rb +2 -2
  97. data/lib/puppet/functions/match.rb +4 -4
  98. data/lib/puppet/functions/max.rb +2 -2
  99. data/lib/puppet/functions/min.rb +2 -2
  100. data/lib/puppet/functions/next.rb +1 -1
  101. data/lib/puppet/functions/require.rb +3 -2
  102. data/lib/puppet/functions/rstrip.rb +1 -1
  103. data/lib/puppet/functions/slice.rb +1 -1
  104. data/lib/puppet/functions/strftime.rb +1 -1
  105. data/lib/puppet/functions/strip.rb +1 -1
  106. data/lib/puppet/functions/tree_each.rb +2 -2
  107. data/lib/puppet/functions/unique.rb +8 -8
  108. data/lib/puppet/functions/upcase.rb +2 -2
  109. data/lib/puppet/functions.rb +18 -18
  110. data/lib/puppet/generate/models/type/property.rb +1 -1
  111. data/lib/puppet/generate/models/type/type.rb +2 -2
  112. data/lib/puppet/generate/type.rb +3 -3
  113. data/lib/puppet/graph/rb_tree_map.rb +5 -5
  114. data/lib/puppet/graph/relationship_graph.rb +17 -17
  115. data/lib/puppet/graph/simple_graph.rb +25 -25
  116. data/lib/puppet/http/client.rb +4 -4
  117. data/lib/puppet/http/dns.rb +2 -3
  118. data/lib/puppet/http/errors.rb +2 -2
  119. data/lib/puppet/http/factory.rb +1 -1
  120. data/lib/puppet/http/proxy.rb +2 -2
  121. data/lib/puppet/http/redirector.rb +1 -1
  122. data/lib/puppet/http/resolver/server_list.rb +3 -3
  123. data/lib/puppet/http/response_converter.rb +2 -3
  124. data/lib/puppet/http/service/ca.rb +3 -3
  125. data/lib/puppet/http/service/compiler.rb +2 -2
  126. data/lib/puppet/http/service/file_server.rb +1 -1
  127. data/lib/puppet/http/service/puppetserver.rb +1 -1
  128. data/lib/puppet/http/service.rb +6 -9
  129. data/lib/puppet/http/session.rb +1 -1
  130. data/lib/puppet/indirector/catalog/compiler.rb +17 -19
  131. data/lib/puppet/indirector/data_binding/hiera.rb +0 -1
  132. data/lib/puppet/indirector/exec.rb +1 -1
  133. data/lib/puppet/indirector/face.rb +3 -3
  134. data/lib/puppet/indirector/fact_search.rb +1 -1
  135. data/lib/puppet/indirector/facts/json.rb +1 -1
  136. data/lib/puppet/indirector/file_bucket_file/file.rb +5 -5
  137. data/lib/puppet/indirector/file_bucket_file/selector.rb +0 -1
  138. data/lib/puppet/indirector/file_metadata/http.rb +2 -2
  139. data/lib/puppet/indirector/hiera.rb +2 -3
  140. data/lib/puppet/indirector/indirection.rb +12 -12
  141. data/lib/puppet/indirector/json.rb +2 -2
  142. data/lib/puppet/indirector/msgpack.rb +2 -2
  143. data/lib/puppet/indirector/node/exec.rb +2 -4
  144. data/lib/puppet/indirector/none.rb +0 -1
  145. data/lib/puppet/indirector/report/json.rb +1 -1
  146. data/lib/puppet/indirector/report/msgpack.rb +1 -1
  147. data/lib/puppet/indirector/report/yaml.rb +1 -1
  148. data/lib/puppet/indirector/request.rb +3 -3
  149. data/lib/puppet/indirector/resource/ral.rb +6 -6
  150. data/lib/puppet/indirector/rest.rb +1 -1
  151. data/lib/puppet/indirector/yaml.rb +2 -2
  152. data/lib/puppet/info_service/class_information_service.rb +8 -10
  153. data/lib/puppet/info_service/plan_information_service.rb +3 -3
  154. data/lib/puppet/info_service/task_information_service.rb +3 -3
  155. data/lib/puppet/interface/action.rb +13 -13
  156. data/lib/puppet/interface/action_builder.rb +1 -1
  157. data/lib/puppet/interface/action_manager.rb +2 -2
  158. data/lib/puppet/interface/documentation.rb +15 -15
  159. data/lib/puppet/interface/face_collection.rb +5 -5
  160. data/lib/puppet/interface/option.rb +6 -6
  161. data/lib/puppet/interface/option_manager.rb +2 -2
  162. data/lib/puppet/interface.rb +1 -1
  163. data/lib/puppet/metatype/manager.rb +4 -5
  164. data/lib/puppet/module/plan.rb +3 -3
  165. data/lib/puppet/module/task.rb +16 -16
  166. data/lib/puppet/module.rb +6 -5
  167. data/lib/puppet/module_tool/applications/checksummer.rb +1 -1
  168. data/lib/puppet/module_tool/applications/installer.rb +3 -3
  169. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -1
  170. data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
  171. data/lib/puppet/module_tool/applications/upgrader.rb +4 -4
  172. data/lib/puppet/module_tool/contents_description.rb +3 -3
  173. data/lib/puppet/module_tool/dependency.rb +2 -2
  174. data/lib/puppet/module_tool/errors/installer.rb +1 -1
  175. data/lib/puppet/module_tool/errors/shared.rb +3 -3
  176. data/lib/puppet/module_tool/installed_modules.rb +2 -2
  177. data/lib/puppet/module_tool/local_tarball.rb +3 -3
  178. data/lib/puppet/module_tool/metadata.rb +2 -2
  179. data/lib/puppet/module_tool/shared_behaviors.rb +11 -11
  180. data/lib/puppet/module_tool/tar/mini.rb +1 -1
  181. data/lib/puppet/module_tool/tar.rb +1 -1
  182. data/lib/puppet/module_tool.rb +4 -4
  183. data/lib/puppet/network/client_request.rb +0 -1
  184. data/lib/puppet/network/format.rb +1 -1
  185. data/lib/puppet/network/format_handler.rb +5 -5
  186. data/lib/puppet/network/format_support.rb +0 -1
  187. data/lib/puppet/network/formats.rb +15 -13
  188. data/lib/puppet/network/http/api/indirected_routes.rb +27 -15
  189. data/lib/puppet/network/http/api/master/v3/environments.rb +0 -1
  190. data/lib/puppet/network/http/api/master/v3.rb +0 -1
  191. data/lib/puppet/network/http/api/server/v3/environments.rb +2 -3
  192. data/lib/puppet/network/http/api/server/v3.rb +6 -6
  193. data/lib/puppet/network/http/api.rb +11 -11
  194. data/lib/puppet/network/http/connection.rb +3 -3
  195. data/lib/puppet/network/http/error.rb +2 -2
  196. data/lib/puppet/network/http/handler.rb +5 -5
  197. data/lib/puppet/network/http/request.rb +9 -5
  198. data/lib/puppet/network/http_pool.rb +1 -2
  199. data/lib/puppet/node/environment.rb +13 -13
  200. data/lib/puppet/node/facts.rb +6 -8
  201. data/lib/puppet/node.rb +4 -6
  202. data/lib/puppet/pal/compiler.rb +4 -4
  203. data/lib/puppet/pal/function_signature.rb +2 -2
  204. data/lib/puppet/pal/pal_impl.rb +39 -44
  205. data/lib/puppet/pal/plan_signature.rb +1 -1
  206. data/lib/puppet/pal/task_signature.rb +2 -2
  207. data/lib/puppet/parameter/path.rb +3 -3
  208. data/lib/puppet/parameter/value.rb +1 -1
  209. data/lib/puppet/parameter/value_collection.rb +5 -5
  210. data/lib/puppet/parameter.rb +4 -4
  211. data/lib/puppet/parser/abstract_compiler.rb +1 -1
  212. data/lib/puppet/parser/ast/hostclass.rb +1 -1
  213. data/lib/puppet/parser/ast/pops_bridge.rb +5 -5
  214. data/lib/puppet/parser/ast/resource.rb +1 -1
  215. data/lib/puppet/parser/ast/resourceparam.rb +1 -1
  216. data/lib/puppet/parser/catalog_compiler.rb +1 -1
  217. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +0 -2
  218. data/lib/puppet/parser/compiler.rb +11 -11
  219. data/lib/puppet/parser/e4_parser_adapter.rb +1 -1
  220. data/lib/puppet/parser/files.rb +2 -2
  221. data/lib/puppet/parser/functions/assert_type.rb +15 -15
  222. data/lib/puppet/parser/functions/binary_file.rb +6 -6
  223. data/lib/puppet/parser/functions/break.rb +9 -9
  224. data/lib/puppet/parser/functions/contain.rb +1 -1
  225. data/lib/puppet/parser/functions/create_resources.rb +6 -5
  226. data/lib/puppet/parser/functions/defined.rb +24 -24
  227. data/lib/puppet/parser/functions/dig.rb +10 -10
  228. data/lib/puppet/parser/functions/digest.rb +1 -1
  229. data/lib/puppet/parser/functions/each.rb +21 -21
  230. data/lib/puppet/parser/functions/epp.rb +1 -1
  231. data/lib/puppet/parser/functions/fail.rb +1 -1
  232. data/lib/puppet/parser/functions/file.rb +1 -1
  233. data/lib/puppet/parser/functions/filter.rb +20 -20
  234. data/lib/puppet/parser/functions/find_file.rb +6 -7
  235. data/lib/puppet/parser/functions/fqdn_rand.rb +4 -4
  236. data/lib/puppet/parser/functions/generate.rb +2 -2
  237. data/lib/puppet/parser/functions/hiera.rb +21 -21
  238. data/lib/puppet/parser/functions/hiera_array.rb +19 -20
  239. data/lib/puppet/parser/functions/hiera_hash.rb +21 -22
  240. data/lib/puppet/parser/functions/hiera_include.rb +21 -22
  241. data/lib/puppet/parser/functions/include.rb +2 -2
  242. data/lib/puppet/parser/functions/inline_epp.rb +1 -1
  243. data/lib/puppet/parser/functions/inline_template.rb +3 -2
  244. data/lib/puppet/parser/functions/lest.rb +11 -11
  245. data/lib/puppet/parser/functions/lookup.rb +22 -22
  246. data/lib/puppet/parser/functions/map.rb +20 -20
  247. data/lib/puppet/parser/functions/match.rb +11 -11
  248. data/lib/puppet/parser/functions/md5.rb +1 -1
  249. data/lib/puppet/parser/functions/new.rb +236 -237
  250. data/lib/puppet/parser/functions/next.rb +8 -8
  251. data/lib/puppet/parser/functions/realize.rb +4 -3
  252. data/lib/puppet/parser/functions/reduce.rb +27 -27
  253. data/lib/puppet/parser/functions/regsubst.rb +4 -3
  254. data/lib/puppet/parser/functions/require.rb +3 -2
  255. data/lib/puppet/parser/functions/return.rb +18 -18
  256. data/lib/puppet/parser/functions/reverse_each.rb +22 -22
  257. data/lib/puppet/parser/functions/scanf.rb +6 -6
  258. data/lib/puppet/parser/functions/sha1.rb +1 -1
  259. data/lib/puppet/parser/functions/sha256.rb +1 -1
  260. data/lib/puppet/parser/functions/slice.rb +10 -10
  261. data/lib/puppet/parser/functions/split.rb +2 -1
  262. data/lib/puppet/parser/functions/sprintf.rb +4 -4
  263. data/lib/puppet/parser/functions/step.rb +20 -20
  264. data/lib/puppet/parser/functions/strftime.rb +43 -43
  265. data/lib/puppet/parser/functions/tag.rb +3 -2
  266. data/lib/puppet/parser/functions/tagged.rb +3 -2
  267. data/lib/puppet/parser/functions/template.rb +3 -2
  268. data/lib/puppet/parser/functions/then.rb +17 -17
  269. data/lib/puppet/parser/functions/type.rb +15 -15
  270. data/lib/puppet/parser/functions/versioncmp.rb +1 -1
  271. data/lib/puppet/parser/functions/with.rb +4 -4
  272. data/lib/puppet/parser/functions.rb +6 -6
  273. data/lib/puppet/parser/relationship.rb +2 -2
  274. data/lib/puppet/parser/resource.rb +12 -17
  275. data/lib/puppet/parser/scope.rb +49 -48
  276. data/lib/puppet/parser/script_compiler.rb +5 -5
  277. data/lib/puppet/parser/templatewrapper.rb +1 -1
  278. data/lib/puppet/parser/type_loader.rb +3 -3
  279. data/lib/puppet/plugins.rb +1 -1
  280. data/lib/puppet/pops/adaptable.rb +0 -1
  281. data/lib/puppet/pops/evaluator/access_operator.rb +61 -63
  282. data/lib/puppet/pops/evaluator/closure.rb +9 -11
  283. data/lib/puppet/pops/evaluator/collector_transformer.rb +2 -2
  284. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -1
  285. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -1
  286. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +2 -2
  287. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +2 -3
  288. data/lib/puppet/pops/evaluator/compare_operator.rb +12 -10
  289. data/lib/puppet/pops/evaluator/deferred_resolver.rb +17 -15
  290. data/lib/puppet/pops/evaluator/epp_evaluator.rb +6 -6
  291. data/lib/puppet/pops/evaluator/evaluator_impl.rb +80 -79
  292. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
  293. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -3
  294. data/lib/puppet/pops/evaluator/literal_evaluator.rb +18 -6
  295. data/lib/puppet/pops/evaluator/puppet_proc.rb +3 -3
  296. data/lib/puppet/pops/evaluator/relationship_operator.rb +6 -6
  297. data/lib/puppet/pops/evaluator/runtime3_converter.rb +10 -9
  298. data/lib/puppet/pops/evaluator/runtime3_support.rb +15 -14
  299. data/lib/puppet/pops/functions/dispatch.rb +5 -7
  300. data/lib/puppet/pops/functions/dispatcher.rb +4 -4
  301. data/lib/puppet/pops/functions/function.rb +2 -2
  302. data/lib/puppet/pops/issue_reporter.rb +3 -3
  303. data/lib/puppet/pops/issues.rb +5 -1
  304. data/lib/puppet/pops/label_provider.rb +2 -2
  305. data/lib/puppet/pops/loader/base_loader.rb +1 -2
  306. data/lib/puppet/pops/loader/dependency_loader.rb +2 -2
  307. data/lib/puppet/pops/loader/gem_support.rb +1 -1
  308. data/lib/puppet/pops/loader/loader_paths.rb +6 -7
  309. data/lib/puppet/pops/loader/module_loaders.rb +13 -18
  310. data/lib/puppet/pops/loader/predefined_loader.rb +1 -1
  311. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +2 -1
  312. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +2 -1
  313. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +4 -4
  314. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +7 -6
  315. data/lib/puppet/pops/loader/runtime3_type_loader.rb +1 -1
  316. data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -1
  317. data/lib/puppet/pops/loader/static_loader.rb +2 -2
  318. data/lib/puppet/pops/loader/task_instantiator.rb +2 -2
  319. data/lib/puppet/pops/loader/type_definition_instantiator.rb +2 -1
  320. data/lib/puppet/pops/loader/typed_name.rb +1 -1
  321. data/lib/puppet/pops/loader/uri_helper.rb +1 -1
  322. data/lib/puppet/pops/loaders.rb +3 -3
  323. data/lib/puppet/pops/lookup/context.rb +32 -25
  324. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +2 -2
  325. data/lib/puppet/pops/lookup/explainer.rb +9 -9
  326. data/lib/puppet/pops/lookup/global_data_provider.rb +2 -2
  327. data/lib/puppet/pops/lookup/hiera_config.rb +23 -20
  328. data/lib/puppet/pops/lookup/interpolation.rb +4 -3
  329. data/lib/puppet/pops/lookup/key_recorder.rb +1 -1
  330. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -5
  331. data/lib/puppet/pops/lookup/lookup_key.rb +1 -1
  332. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  333. data/lib/puppet/pops/lookup.rb +1 -2
  334. data/lib/puppet/pops/merge_strategy.rb +10 -8
  335. data/lib/puppet/pops/migration/migration_checker.rb +3 -3
  336. data/lib/puppet/pops/model/ast_transformer.rb +7 -7
  337. data/lib/puppet/pops/model/factory.rb +12 -13
  338. data/lib/puppet/pops/model/model_label_provider.rb +3 -1
  339. data/lib/puppet/pops/model/model_tree_dumper.rb +21 -21
  340. data/lib/puppet/pops/model/tree_dumper.rb +3 -3
  341. data/lib/puppet/pops/parser/code_merger.rb +2 -2
  342. data/lib/puppet/pops/parser/epp_parser.rb +2 -2
  343. data/lib/puppet/pops/parser/epp_support.rb +5 -5
  344. data/lib/puppet/pops/parser/evaluating_parser.rb +4 -4
  345. data/lib/puppet/pops/parser/heredoc_support.rb +4 -4
  346. data/lib/puppet/pops/parser/interpolation_support.rb +20 -20
  347. data/lib/puppet/pops/parser/lexer2.rb +30 -29
  348. data/lib/puppet/pops/parser/lexer_support.rb +20 -18
  349. data/lib/puppet/pops/parser/locator.rb +11 -11
  350. data/lib/puppet/pops/parser/parser_support.rb +7 -7
  351. data/lib/puppet/pops/parser/pn_parser.rb +1 -1
  352. data/lib/puppet/pops/parser/slurp_support.rb +10 -10
  353. data/lib/puppet/pops/pcore.rb +1 -1
  354. data/lib/puppet/pops/pn.rb +1 -2
  355. data/lib/puppet/pops/resource/param.rb +11 -12
  356. data/lib/puppet/pops/resource/resource_type_impl.rb +34 -34
  357. data/lib/puppet/pops/semantic_error.rb +1 -1
  358. data/lib/puppet/pops/serialization/abstract_writer.rb +2 -2
  359. data/lib/puppet/pops/serialization/from_data_converter.rb +12 -9
  360. data/lib/puppet/pops/serialization/json.rb +2 -2
  361. data/lib/puppet/pops/serialization/object.rb +1 -2
  362. data/lib/puppet/pops/serialization/serializer.rb +13 -14
  363. data/lib/puppet/pops/serialization/to_data_converter.rb +3 -3
  364. data/lib/puppet/pops/serialization/to_stringified_converter.rb +5 -5
  365. data/lib/puppet/pops/time/timespan.rb +7 -6
  366. data/lib/puppet/pops/time/timestamp.rb +4 -2
  367. data/lib/puppet/pops/types/annotation.rb +3 -3
  368. data/lib/puppet/pops/types/class_loader.rb +8 -7
  369. data/lib/puppet/pops/types/implementation_registry.rb +2 -1
  370. data/lib/puppet/pops/types/iterable.rb +9 -9
  371. data/lib/puppet/pops/types/p_binary_type.rb +2 -2
  372. data/lib/puppet/pops/types/p_init_type.rb +2 -3
  373. data/lib/puppet/pops/types/p_meta_type.rb +1 -1
  374. data/lib/puppet/pops/types/p_object_type.rb +52 -51
  375. data/lib/puppet/pops/types/p_object_type_extension.rb +1 -2
  376. data/lib/puppet/pops/types/p_runtime_type.rb +1 -2
  377. data/lib/puppet/pops/types/p_sem_ver_type.rb +4 -5
  378. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -1
  379. data/lib/puppet/pops/types/p_timespan_type.rb +3 -4
  380. data/lib/puppet/pops/types/p_timestamp_type.rb +1 -2
  381. data/lib/puppet/pops/types/p_type_set_type.rb +29 -31
  382. data/lib/puppet/pops/types/p_uri_type.rb +8 -8
  383. data/lib/puppet/pops/types/ruby_generator.rb +7 -6
  384. data/lib/puppet/pops/types/ruby_method.rb +6 -7
  385. data/lib/puppet/pops/types/string_converter.rb +29 -32
  386. data/lib/puppet/pops/types/tree_iterators.rb +6 -8
  387. data/lib/puppet/pops/types/type_asserter.rb +3 -3
  388. data/lib/puppet/pops/types/type_calculator.rb +36 -36
  389. data/lib/puppet/pops/types/type_factory.rb +9 -8
  390. data/lib/puppet/pops/types/type_formatter.rb +34 -38
  391. data/lib/puppet/pops/types/type_mismatch_describer.rb +25 -22
  392. data/lib/puppet/pops/types/type_parser.rb +12 -10
  393. data/lib/puppet/pops/types/type_with_members.rb +0 -1
  394. data/lib/puppet/pops/types/types.rb +85 -97
  395. data/lib/puppet/pops/utils.rb +2 -2
  396. data/lib/puppet/pops/validation/checker4_0.rb +51 -38
  397. data/lib/puppet/pops/validation/tasks_checker.rb +3 -3
  398. data/lib/puppet/pops/validation/validator_factory_4_0.rb +2 -0
  399. data/lib/puppet/pops/validation.rb +15 -15
  400. data/lib/puppet/pops/visitor.rb +1 -1
  401. data/lib/puppet/property/ensure.rb +0 -1
  402. data/lib/puppet/property/keyvalue.rb +5 -6
  403. data/lib/puppet/property/list.rb +1 -1
  404. data/lib/puppet/property.rb +8 -10
  405. data/lib/puppet/provider/aix_object.rb +9 -9
  406. data/lib/puppet/provider/exec/posix.rb +1 -1
  407. data/lib/puppet/provider/exec.rb +3 -3
  408. data/lib/puppet/provider/file/windows.rb +3 -3
  409. data/lib/puppet/provider/group/groupadd.rb +2 -2
  410. data/lib/puppet/provider/group/pw.rb +0 -1
  411. data/lib/puppet/provider/group/windows_adsi.rb +3 -3
  412. data/lib/puppet/provider/ldap.rb +2 -3
  413. data/lib/puppet/provider/nameservice/directoryservice.rb +11 -11
  414. data/lib/puppet/provider/nameservice/pw.rb +0 -1
  415. data/lib/puppet/provider/nameservice.rb +9 -10
  416. data/lib/puppet/provider/package/aix.rb +4 -4
  417. data/lib/puppet/provider/package/appdmg.rb +3 -3
  418. data/lib/puppet/provider/package/apple.rb +1 -1
  419. data/lib/puppet/provider/package/apt.rb +7 -3
  420. data/lib/puppet/provider/package/aptrpm.rb +6 -4
  421. data/lib/puppet/provider/package/blastwave.rb +3 -3
  422. data/lib/puppet/provider/package/dnf.rb +5 -0
  423. data/lib/puppet/provider/package/dnfmodule.rb +1 -1
  424. data/lib/puppet/provider/package/dpkg.rb +8 -8
  425. data/lib/puppet/provider/package/gem.rb +6 -7
  426. data/lib/puppet/provider/package/hpux.rb +2 -2
  427. data/lib/puppet/provider/package/nim.rb +4 -4
  428. data/lib/puppet/provider/package/openbsd.rb +8 -8
  429. data/lib/puppet/provider/package/opkg.rb +6 -6
  430. data/lib/puppet/provider/package/pacman.rb +2 -2
  431. data/lib/puppet/provider/package/pip.rb +8 -8
  432. data/lib/puppet/provider/package/pkg.rb +19 -19
  433. data/lib/puppet/provider/package/pkgdmg.rb +5 -5
  434. data/lib/puppet/provider/package/pkgin.rb +6 -6
  435. data/lib/puppet/provider/package/pkgng.rb +1 -1
  436. data/lib/puppet/provider/package/pkgutil.rb +11 -11
  437. data/lib/puppet/provider/package/portage.rb +3 -3
  438. data/lib/puppet/provider/package/portupgrade.rb +5 -7
  439. data/lib/puppet/provider/package/puppet_gem.rb +2 -2
  440. data/lib/puppet/provider/package/puppetserver_gem.rb +4 -4
  441. data/lib/puppet/provider/package/rpm.rb +9 -9
  442. data/lib/puppet/provider/package/sun.rb +2 -2
  443. data/lib/puppet/provider/package/tdnf.rb +6 -1
  444. data/lib/puppet/provider/package/windows/exe_package.rb +2 -2
  445. data/lib/puppet/provider/package/windows/package.rb +3 -3
  446. data/lib/puppet/provider/package/windows.rb +1 -1
  447. data/lib/puppet/provider/package/yum.rb +25 -14
  448. data/lib/puppet/provider/package/zypper.rb +7 -7
  449. data/lib/puppet/provider/package.rb +1 -1
  450. data/lib/puppet/provider/package_targetable.rb +2 -2
  451. data/lib/puppet/provider/parsedfile.rb +5 -7
  452. data/lib/puppet/provider/service/base.rb +0 -1
  453. data/lib/puppet/provider/service/daemontools.rb +10 -10
  454. data/lib/puppet/provider/service/debian.rb +2 -2
  455. data/lib/puppet/provider/service/freebsd.rb +15 -17
  456. data/lib/puppet/provider/service/init.rb +2 -3
  457. data/lib/puppet/provider/service/launchd.rb +3 -3
  458. data/lib/puppet/provider/service/openrc.rb +1 -1
  459. data/lib/puppet/provider/service/redhat.rb +2 -1
  460. data/lib/puppet/provider/service/runit.rb +2 -3
  461. data/lib/puppet/provider/service/service.rb +0 -1
  462. data/lib/puppet/provider/service/smf.rb +4 -4
  463. data/lib/puppet/provider/service/src.rb +3 -4
  464. data/lib/puppet/provider/service/systemd.rb +3 -2
  465. data/lib/puppet/provider/service/upstart.rb +6 -8
  466. data/lib/puppet/provider/service/windows.rb +15 -15
  467. data/lib/puppet/provider/user/aix.rb +14 -14
  468. data/lib/puppet/provider/user/directoryservice.rb +8 -8
  469. data/lib/puppet/provider/user/hpux.rb +9 -9
  470. data/lib/puppet/provider/user/ldap.rb +4 -4
  471. data/lib/puppet/provider/user/openbsd.rb +1 -1
  472. data/lib/puppet/provider/user/pw.rb +1 -2
  473. data/lib/puppet/provider/user/user_role_add.rb +9 -9
  474. data/lib/puppet/provider/user/useradd.rb +4 -4
  475. data/lib/puppet/provider/user/windows_adsi.rb +6 -6
  476. data/lib/puppet/provider.rb +2 -2
  477. data/lib/puppet/reference/configuration.rb +15 -14
  478. data/lib/puppet/reference/indirection.rb +14 -14
  479. data/lib/puppet/reference/providers.rb +2 -2
  480. data/lib/puppet/reference/type.rb +1 -1
  481. data/lib/puppet/relationship.rb +2 -2
  482. data/lib/puppet/reports/log.rb +0 -1
  483. data/lib/puppet/reports/store.rb +2 -2
  484. data/lib/puppet/resource/catalog.rb +26 -30
  485. data/lib/puppet/resource/status.rb +4 -3
  486. data/lib/puppet/resource/type.rb +10 -11
  487. data/lib/puppet/resource/type_collection.rb +5 -5
  488. data/lib/puppet/resource.rb +35 -30
  489. data/lib/puppet/scheduler/scheduler.rb +1 -1
  490. data/lib/puppet/scheduler.rb +1 -1
  491. data/lib/puppet/settings/base_setting.rb +2 -2
  492. data/lib/puppet/settings/boolean_setting.rb +1 -1
  493. data/lib/puppet/settings/config_file.rb +2 -2
  494. data/lib/puppet/settings/duration_setting.rb +2 -3
  495. data/lib/puppet/settings/environment_conf.rb +6 -4
  496. data/lib/puppet/settings/errors.rb +3 -3
  497. data/lib/puppet/settings/integer_setting.rb +1 -1
  498. data/lib/puppet/settings/priority_setting.rb +3 -4
  499. data/lib/puppet/settings/server_list_setting.rb +4 -4
  500. data/lib/puppet/settings/ttl_setting.rb +3 -4
  501. data/lib/puppet/settings/value_translator.rb +1 -1
  502. data/lib/puppet/settings.rb +39 -36
  503. data/lib/puppet/ssl/base.rb +2 -2
  504. data/lib/puppet/ssl/certificate.rb +2 -2
  505. data/lib/puppet/ssl/certificate_request.rb +10 -10
  506. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -1
  507. data/lib/puppet/ssl/oids.rb +4 -4
  508. data/lib/puppet/ssl/ssl_provider.rb +8 -6
  509. data/lib/puppet/ssl/state_machine.rb +11 -11
  510. data/lib/puppet/syntax_checkers/base64.rb +1 -1
  511. data/lib/puppet/syntax_checkers/epp.rb +2 -2
  512. data/lib/puppet/syntax_checkers/json.rb +2 -2
  513. data/lib/puppet/syntax_checkers/pp.rb +2 -2
  514. data/lib/puppet/syntax_checkers.rb +1 -1
  515. data/lib/puppet/test/test_helper.rb +10 -9
  516. data/lib/puppet/transaction/additional_resource_generator.rb +5 -5
  517. data/lib/puppet/transaction/event_manager.rb +2 -3
  518. data/lib/puppet/transaction/persistence.rb +1 -1
  519. data/lib/puppet/transaction/report.rb +14 -16
  520. data/lib/puppet/transaction/resource_harness.rb +2 -2
  521. data/lib/puppet/transaction.rb +11 -11
  522. data/lib/puppet/trusted_external.rb +1 -1
  523. data/lib/puppet/type/exec.rb +7 -11
  524. data/lib/puppet/type/file/checksum_value.rb +2 -2
  525. data/lib/puppet/type/file/content.rb +5 -5
  526. data/lib/puppet/type/file/ctime.rb +0 -1
  527. data/lib/puppet/type/file/data_sync.rb +2 -2
  528. data/lib/puppet/type/file/ensure.rb +6 -9
  529. data/lib/puppet/type/file/owner.rb +0 -1
  530. data/lib/puppet/type/file/selcontext.rb +0 -1
  531. data/lib/puppet/type/file/source.rb +2 -2
  532. data/lib/puppet/type/file/target.rb +2 -3
  533. data/lib/puppet/type/file/type.rb +0 -1
  534. data/lib/puppet/type/file.rb +22 -26
  535. data/lib/puppet/type/group.rb +2 -2
  536. data/lib/puppet/type/package.rb +8 -8
  537. data/lib/puppet/type/resources.rb +8 -8
  538. data/lib/puppet/type/schedule.rb +4 -4
  539. data/lib/puppet/type/service.rb +4 -4
  540. data/lib/puppet/type/tidy.rb +7 -7
  541. data/lib/puppet/type/user.rb +20 -19
  542. data/lib/puppet/type.rb +44 -49
  543. data/lib/puppet/util/at_fork/solaris.rb +4 -4
  544. data/lib/puppet/util/autoload.rb +2 -2
  545. data/lib/puppet/util/backups.rb +3 -3
  546. data/lib/puppet/util/checksums.rb +1 -1
  547. data/lib/puppet/util/classgen.rb +2 -3
  548. data/lib/puppet/util/colors.rb +33 -33
  549. data/lib/puppet/util/command_line/puppet_option_parser.rb +5 -4
  550. data/lib/puppet/util/command_line/trollop.rb +38 -34
  551. data/lib/puppet/util/command_line.rb +1 -1
  552. data/lib/puppet/util/diff.rb +4 -4
  553. data/lib/puppet/util/docs.rb +3 -3
  554. data/lib/puppet/util/errors.rb +2 -2
  555. data/lib/puppet/util/execution.rb +12 -11
  556. data/lib/puppet/util/feature.rb +6 -8
  557. data/lib/puppet/util/fileparsing.rb +9 -12
  558. data/lib/puppet/util/filetype.rb +3 -3
  559. data/lib/puppet/util/inifile.rb +1 -1
  560. data/lib/puppet/util/ldap/manager.rb +6 -7
  561. data/lib/puppet/util/libuser.rb +1 -1
  562. data/lib/puppet/util/log/destination.rb +0 -1
  563. data/lib/puppet/util/log/destinations.rb +2 -4
  564. data/lib/puppet/util/log.rb +7 -6
  565. data/lib/puppet/util/logging.rb +6 -7
  566. data/lib/puppet/util/metaid.rb +0 -1
  567. data/lib/puppet/util/metric.rb +3 -3
  568. data/lib/puppet/util/monkey_patches.rb +1 -1
  569. data/lib/puppet/util/multi_match.rb +4 -4
  570. data/lib/puppet/util/network_device/base.rb +1 -1
  571. data/lib/puppet/util/network_device/config.rb +2 -2
  572. data/lib/puppet/util/package/version/pip.rb +2 -2
  573. data/lib/puppet/util/package/version/range/lt.rb +1 -1
  574. data/lib/puppet/util/package/version/range.rb +5 -5
  575. data/lib/puppet/util/package.rb +1 -1
  576. data/lib/puppet/util/pidlock.rb +1 -1
  577. data/lib/puppet/util/plist.rb +6 -5
  578. data/lib/puppet/util/posix.rb +3 -4
  579. data/lib/puppet/util/profiler/aggregate.rb +2 -3
  580. data/lib/puppet/util/profiler/logging.rb +1 -1
  581. data/lib/puppet/util/profiler/wall_clock.rb +2 -3
  582. data/lib/puppet/util/provider_features.rb +1 -2
  583. data/lib/puppet/util/rdoc/code_objects.rb +11 -10
  584. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +37 -34
  585. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +17 -15
  586. data/lib/puppet/util/rdoc.rb +8 -8
  587. data/lib/puppet/util/reference.rb +2 -2
  588. data/lib/puppet/util/resource_template.rb +0 -1
  589. data/lib/puppet/util/retry_action.rb +2 -2
  590. data/lib/puppet/util/rpm_compare.rb +7 -7
  591. data/lib/puppet/util/rubygems.rb +0 -1
  592. data/lib/puppet/util/run_mode.rb +3 -3
  593. data/lib/puppet/util/selinux.rb +3 -3
  594. data/lib/puppet/util/storage.rb +1 -1
  595. data/lib/puppet/util/suidmanager.rb +13 -15
  596. data/lib/puppet/util/symbolic_file_mode.rb +8 -7
  597. data/lib/puppet/util/tagging.rb +2 -2
  598. data/lib/puppet/util/user_attr.rb +1 -1
  599. data/lib/puppet/util/watched_file.rb +2 -1
  600. data/lib/puppet/util/watcher/periodic_watcher.rb +0 -1
  601. data/lib/puppet/util/windows/access_control_list.rb +5 -4
  602. data/lib/puppet/util/windows/adsi.rb +14 -14
  603. data/lib/puppet/util/windows/com.rb +2 -2
  604. data/lib/puppet/util/windows/daemon.rb +8 -8
  605. data/lib/puppet/util/windows/eventlog.rb +4 -4
  606. data/lib/puppet/util/windows/file.rb +16 -12
  607. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -1
  608. data/lib/puppet/util/windows/principal.rb +8 -6
  609. data/lib/puppet/util/windows/process.rb +28 -22
  610. data/lib/puppet/util/windows/registry.rb +47 -14
  611. data/lib/puppet/util/windows/root_certs.rb +1 -1
  612. data/lib/puppet/util/windows/security.rb +20 -18
  613. data/lib/puppet/util/windows/service.rb +4 -4
  614. data/lib/puppet/util/windows/sid.rb +8 -7
  615. data/lib/puppet/util/windows/user.rb +4 -2
  616. data/lib/puppet/util/windows.rb +1 -1
  617. data/lib/puppet/util.rb +14 -16
  618. data/lib/puppet/version.rb +1 -1
  619. data/lib/puppet/x509/cert_provider.rb +12 -12
  620. data/lib/puppet.rb +8 -7
  621. data/locales/puppet.pot +2008 -2004
  622. data/man/man5/puppet.conf.5 +2 -2
  623. data/man/man8/puppet-agent.8 +1 -1
  624. data/man/man8/puppet-apply.8 +1 -1
  625. data/man/man8/puppet-catalog.8 +1 -1
  626. data/man/man8/puppet-config.8 +1 -1
  627. data/man/man8/puppet-describe.8 +1 -1
  628. data/man/man8/puppet-device.8 +1 -1
  629. data/man/man8/puppet-doc.8 +1 -1
  630. data/man/man8/puppet-epp.8 +1 -1
  631. data/man/man8/puppet-facts.8 +1 -1
  632. data/man/man8/puppet-filebucket.8 +1 -1
  633. data/man/man8/puppet-generate.8 +1 -1
  634. data/man/man8/puppet-help.8 +1 -1
  635. data/man/man8/puppet-lookup.8 +1 -1
  636. data/man/man8/puppet-module.8 +1 -1
  637. data/man/man8/puppet-node.8 +1 -1
  638. data/man/man8/puppet-parser.8 +1 -1
  639. data/man/man8/puppet-plugin.8 +1 -1
  640. data/man/man8/puppet-report.8 +1 -1
  641. data/man/man8/puppet-resource.8 +1 -1
  642. data/man/man8/puppet-script.8 +1 -1
  643. data/man/man8/puppet-ssl.8 +1 -1
  644. data/man/man8/puppet.8 +2 -2
  645. data/tasks/generate_cert_fixtures.rake +1 -0
  646. metadata +3 -2455
  647. data/spec/fixtures/faulty_face/puppet/face/syntax.rb +0 -8
  648. data/spec/fixtures/hiera.yaml +0 -9
  649. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  650. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  651. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +0 -2
  652. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +0 -25
  653. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/README +0 -3
  654. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/manifests/init.pp +0 -17
  655. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/metadata.json +0 -20
  656. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  657. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  658. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  659. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  660. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  661. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  662. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  663. data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +0 -2
  664. data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +0 -6
  665. data/spec/fixtures/integration/node/environment/sitedir/03_empty.pp +0 -0
  666. data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +0 -2
  667. data/spec/fixtures/integration/node/environment/sitedir2/00_a.pp +0 -2
  668. data/spec/fixtures/integration/node/environment/sitedir2/02_folder/01_b.pp +0 -6
  669. data/spec/fixtures/integration/node/environment/sitedir2/03_c.pp +0 -1
  670. data/spec/fixtures/integration/node/environment/sitedir2/04_include.pp +0 -2
  671. data/spec/fixtures/java.tgz +0 -0
  672. data/spec/fixtures/manifests/site.pp +0 -0
  673. data/spec/fixtures/module.tar.gz +0 -0
  674. data/spec/fixtures/releases/jamtur01-apache/Modulefile +0 -2
  675. data/spec/fixtures/releases/jamtur01-apache/files/httpd +0 -24
  676. data/spec/fixtures/releases/jamtur01-apache/files/test.vhost +0 -18
  677. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +0 -21
  678. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/type/a2mod.rb +0 -12
  679. data/spec/fixtures/releases/jamtur01-apache/manifests/dev.pp +0 -5
  680. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +0 -34
  681. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +0 -17
  682. data/spec/fixtures/releases/jamtur01-apache/manifests/php.pp +0 -5
  683. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +0 -15
  684. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +0 -15
  685. data/spec/fixtures/releases/jamtur01-apache/metadata.json +0 -1
  686. data/spec/fixtures/releases/jamtur01-apache/templates/vhost-default.conf.erb +0 -20
  687. data/spec/fixtures/releases/jamtur01-apache/tests/apache.pp +0 -1
  688. data/spec/fixtures/releases/jamtur01-apache/tests/dev.pp +0 -1
  689. data/spec/fixtures/releases/jamtur01-apache/tests/init.pp +0 -1
  690. data/spec/fixtures/releases/jamtur01-apache/tests/php.pp +0 -1
  691. data/spec/fixtures/releases/jamtur01-apache/tests/ssl.pp +0 -1
  692. data/spec/fixtures/releases/jamtur01-apache/tests/vhost.pp +0 -2
  693. data/spec/fixtures/ssl/127.0.0.1-key.pem +0 -117
  694. data/spec/fixtures/ssl/127.0.0.1.pem +0 -70
  695. data/spec/fixtures/ssl/bad-basic-constraints.pem +0 -81
  696. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +0 -81
  697. data/spec/fixtures/ssl/ca.pem +0 -81
  698. data/spec/fixtures/ssl/crl.pem +0 -40
  699. data/spec/fixtures/ssl/ec-key-openssl.pem +0 -8
  700. data/spec/fixtures/ssl/ec-key-pk8.pem +0 -5
  701. data/spec/fixtures/ssl/ec-key.pem +0 -18
  702. data/spec/fixtures/ssl/ec.pem +0 -50
  703. data/spec/fixtures/ssl/encrypted-ec-key.pem +0 -21
  704. data/spec/fixtures/ssl/encrypted-key.pem +0 -120
  705. data/spec/fixtures/ssl/intermediate-agent-crl.pem +0 -40
  706. data/spec/fixtures/ssl/intermediate-agent.pem +0 -81
  707. data/spec/fixtures/ssl/intermediate-crl.pem +0 -46
  708. data/spec/fixtures/ssl/intermediate.pem +0 -81
  709. data/spec/fixtures/ssl/netlock-arany-utf8.pem +0 -23
  710. data/spec/fixtures/ssl/oid-key.pem +0 -117
  711. data/spec/fixtures/ssl/oid.pem +0 -70
  712. data/spec/fixtures/ssl/pluto-key.pem +0 -117
  713. data/spec/fixtures/ssl/pluto.pem +0 -67
  714. data/spec/fixtures/ssl/renewed.pem +0 -67
  715. data/spec/fixtures/ssl/request-key.pem +0 -117
  716. data/spec/fixtures/ssl/request.pem +0 -62
  717. data/spec/fixtures/ssl/revoked-key.pem +0 -117
  718. data/spec/fixtures/ssl/revoked.pem +0 -67
  719. data/spec/fixtures/ssl/signed-key.pem +0 -117
  720. data/spec/fixtures/ssl/signed.pem +0 -67
  721. data/spec/fixtures/ssl/tampered-cert.pem +0 -67
  722. data/spec/fixtures/ssl/tampered-csr.pem +0 -62
  723. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  724. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +0 -117
  725. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +0 -70
  726. data/spec/fixtures/ssl/unknown-ca-key.pem +0 -117
  727. data/spec/fixtures/ssl/unknown-ca.pem +0 -81
  728. data/spec/fixtures/stdlib.tgz +0 -0
  729. data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -24
  730. data/spec/fixtures/unit/application/environments/production/environment.conf +0 -1
  731. data/spec/fixtures/unit/application/environments/production/manifests/site.pp +0 -1
  732. data/spec/fixtures/unit/application/environments/puppet_func_provider/environment.conf +0 -1
  733. data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/environment/data.pp +0 -10
  734. data/spec/fixtures/unit/application/environments/puppet_func_provider/manifests/site.pp +0 -1
  735. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/data/bad.json +0 -3
  736. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/environment.conf +0 -2
  737. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/hiera.yaml +0 -5
  738. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/manifests/site.pp +0 -5
  739. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/data/bad.yaml +0 -3
  740. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/environment.conf +0 -2
  741. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/hiera.yaml +0 -5
  742. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/manifests/site.pp +0 -5
  743. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/data/common.yaml +0 -2
  744. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/environment.conf +0 -2
  745. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/manifests/site.pp +0 -1
  746. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/data/common.yaml +0 -2
  747. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/manifests/init.pp +0 -5
  748. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/metadata.json +0 -9
  749. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/first.json +0 -3
  750. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/name.yaml +0 -2
  751. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/second.json +0 -3
  752. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/single.yaml +0 -2
  753. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +0 -3
  754. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +0 -3
  755. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data2/single.yaml +0 -2
  756. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/environment.conf +0 -2
  757. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +0 -22
  758. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +0 -5
  759. data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +0 -48
  760. data/spec/fixtures/unit/data_providers/environments/hiera_misc/environment.conf +0 -2
  761. data/spec/fixtures/unit/data_providers/environments/hiera_misc/manifests/site.pp +0 -1
  762. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/data/common.yaml +0 -30
  763. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/manifests/init.pp +0 -13
  764. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/metadata.json +0 -9
  765. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/common.yaml +0 -4
  766. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/specific.yaml +0 -4
  767. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/environment.conf +0 -2
  768. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/hiera.yaml +0 -7
  769. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/manifests/site.pp +0 -1
  770. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/first.json +0 -3
  771. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/name.yaml +0 -2
  772. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/second.json +0 -3
  773. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server1.yaml +0 -1
  774. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server2.yaml +0 -1
  775. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/single.yaml +0 -2
  776. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data2/single.yaml +0 -2
  777. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/hiera.yaml +0 -20
  778. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/manifests/init.pp +0 -5
  779. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/metadata.json +0 -9
  780. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/common.yaml +0 -4
  781. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/specific.yaml +0 -4
  782. data/spec/fixtures/unit/data_providers/environments/hiera_modules/environment.conf +0 -2
  783. data/spec/fixtures/unit/data_providers/environments/hiera_modules/hiera.yaml +0 -7
  784. data/spec/fixtures/unit/data_providers/environments/hiera_modules/manifests/site.pp +0 -1
  785. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/data/common.yaml +0 -6
  786. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/hiera.yaml +0 -5
  787. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/manifests/init.pp +0 -2
  788. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/metadata.json +0 -9
  789. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +0 -4
  790. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/hiera.yaml +0 -5
  791. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/manifests/init.pp +0 -3
  792. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/metadata.json +0 -9
  793. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +0 -2
  794. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +0 -9
  795. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  796. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +0 -10
  797. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +0 -9
  798. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/functions/data.pp +0 -6
  799. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/manifests/init.pp +0 -9
  800. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +0 -9
  801. data/spec/fixtures/unit/forge/bacula-releases.json +0 -128
  802. data/spec/fixtures/unit/forge/bacula.json +0 -76
  803. data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
  804. data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +0 -22
  805. data/spec/fixtures/unit/functions/lookup/data/common.yaml +0 -19
  806. data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +0 -18
  807. data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +0 -7
  808. data/spec/fixtures/unit/functions/lookup_fixture/data/common.yaml +0 -19
  809. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/environment.conf +0 -2
  810. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/lib/puppet/functions/environment/data.rb +0 -13
  811. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  812. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/manifests/init.pp +0 -8
  813. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +0 -9
  814. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +0 -7
  815. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/manifests/init.pp +0 -2
  816. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +0 -9
  817. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +0 -9
  818. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/manifests/init.pp +0 -2
  819. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +0 -9
  820. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/data/empty.json +0 -0
  821. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/hiera.yaml +0 -5
  822. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/manifests/init.pp +0 -2
  823. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/metadata.json +0 -9
  824. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/data/empty_key.json +0 -1
  825. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/hiera.yaml +0 -5
  826. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/manifests/init.pp +0 -2
  827. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/metadata.json +0 -9
  828. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/data/empty_key.yaml +0 -1
  829. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/hiera.yaml +0 -5
  830. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/manifests/init.pp +0 -2
  831. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/metadata.json +0 -9
  832. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/data/empty.yaml +0 -2
  833. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/hiera.yaml +0 -5
  834. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/manifests/init.pp +0 -2
  835. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/metadata.json +0 -9
  836. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/data/first.json +0 -4
  837. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/hiera.yaml +0 -8
  838. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/manifests/init.pp +0 -5
  839. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/metadata.json +0 -9
  840. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +0 -9
  841. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/manifests/init.pp +0 -3
  842. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/metadata.json +0 -9
  843. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/no_provider/manifests/init.pp +0 -2
  844. data/spec/fixtures/unit/indirector/data_binding/hiera/global.yaml +0 -10
  845. data/spec/fixtures/unit/indirector/data_binding/hiera/invalid.yaml +0 -1
  846. data/spec/fixtures/unit/indirector/hiera/global.yaml +0 -10
  847. data/spec/fixtures/unit/indirector/hiera/invalid.yaml +0 -1
  848. data/spec/fixtures/unit/module/trailing-comma.json +0 -24
  849. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/init.pp +0 -3
  850. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/wrongdefine.pp +0 -3
  851. data/spec/fixtures/unit/parser/lexer/aliastest.pp +0 -16
  852. data/spec/fixtures/unit/parser/lexer/append.pp +0 -11
  853. data/spec/fixtures/unit/parser/lexer/argumentdefaults.pp +0 -14
  854. data/spec/fixtures/unit/parser/lexer/arithmetic_expression.pp +0 -8
  855. data/spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp +0 -3
  856. data/spec/fixtures/unit/parser/lexer/casestatement.pp +0 -65
  857. data/spec/fixtures/unit/parser/lexer/classheirarchy.pp +0 -15
  858. data/spec/fixtures/unit/parser/lexer/classincludes.pp +0 -17
  859. data/spec/fixtures/unit/parser/lexer/classpathtest.pp +0 -11
  860. data/spec/fixtures/unit/parser/lexer/collection.pp +0 -10
  861. data/spec/fixtures/unit/parser/lexer/collection_override.pp +0 -8
  862. data/spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  863. data/spec/fixtures/unit/parser/lexer/componentmetaparams.pp +0 -11
  864. data/spec/fixtures/unit/parser/lexer/componentrequire.pp +0 -8
  865. data/spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp +0 -23
  866. data/spec/fixtures/unit/parser/lexer/defineoverrides.pp +0 -17
  867. data/spec/fixtures/unit/parser/lexer/emptyclass.pp +0 -9
  868. data/spec/fixtures/unit/parser/lexer/emptyexec.pp +0 -3
  869. data/spec/fixtures/unit/parser/lexer/emptyifelse.pp +0 -9
  870. data/spec/fixtures/unit/parser/lexer/falsevalues.pp +0 -3
  871. data/spec/fixtures/unit/parser/lexer/filecreate.pp +0 -11
  872. data/spec/fixtures/unit/parser/lexer/fqdefinition.pp +0 -5
  873. data/spec/fixtures/unit/parser/lexer/fqparents.pp +0 -11
  874. data/spec/fixtures/unit/parser/lexer/funccomma.pp +0 -5
  875. data/spec/fixtures/unit/parser/lexer/hash.pp +0 -33
  876. data/spec/fixtures/unit/parser/lexer/ifexpression.pp +0 -12
  877. data/spec/fixtures/unit/parser/lexer/implicititeration.pp +0 -15
  878. data/spec/fixtures/unit/parser/lexer/multilinecomments.pp +0 -10
  879. data/spec/fixtures/unit/parser/lexer/multipleclass.pp +0 -9
  880. data/spec/fixtures/unit/parser/lexer/multipleinstances.pp +0 -7
  881. data/spec/fixtures/unit/parser/lexer/multisubs.pp +0 -13
  882. data/spec/fixtures/unit/parser/lexer/namevartest.pp +0 -9
  883. data/spec/fixtures/unit/parser/lexer/scopetest.pp +0 -13
  884. data/spec/fixtures/unit/parser/lexer/selectorvalues.pp +0 -49
  885. data/spec/fixtures/unit/parser/lexer/simpledefaults.pp +0 -5
  886. data/spec/fixtures/unit/parser/lexer/simpleselector.pp +0 -38
  887. data/spec/fixtures/unit/parser/lexer/singleary.pp +0 -19
  888. data/spec/fixtures/unit/parser/lexer/singlequote.pp +0 -11
  889. data/spec/fixtures/unit/parser/lexer/singleselector.pp +0 -22
  890. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -11
  891. data/spec/fixtures/unit/parser/lexer/tag.pp +0 -9
  892. data/spec/fixtures/unit/parser/lexer/tagged.pp +0 -35
  893. data/spec/fixtures/unit/parser/lexer/virtualresources.pp +0 -14
  894. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +0 -10
  895. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +0 -10
  896. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +0 -20
  897. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +0 -18
  898. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +0 -5
  899. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +0 -6
  900. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +0 -6
  901. data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +0 -9
  902. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/functions/usee_puppet.pp +0 -3
  903. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb +0 -5
  904. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb +0 -6
  905. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +0 -5
  906. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +0 -8
  907. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +0 -1
  908. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb +0 -5
  909. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp +0 -5
  910. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet_init.pp +0 -5
  911. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_ruby.pp +0 -5
  912. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller.rb +0 -5
  913. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller2.rb +0 -5
  914. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet.rb +0 -5
  915. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet_init.rb +0 -5
  916. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_ruby.rb +0 -5
  917. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +0 -87
  918. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/metadata.json +0 -10
  919. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +0 -1
  920. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +0 -1
  921. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load.rb +0 -11
  922. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  923. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  924. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  925. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  926. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee.rb +0 -8
  927. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee_ws.rb +0 -8
  928. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/func_with_syntax_error.rb +0 -9
  929. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  930. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/metadata.json +0 -9
  931. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcalled.pp +0 -3
  932. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller.pp +0 -3
  933. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller4.pp +0 -3
  934. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller.rb +0 -5
  935. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller_ws.rb +0 -12
  936. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/callingpuppet.rb +0 -5
  937. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/metadata.json +0 -9
  938. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp +0 -3
  939. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp +0 -3
  940. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json +0 -10
  941. data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +0 -10
  942. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp +0 -3
  943. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp +0 -3
  944. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb +0 -5
  945. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/rb_func_a.rb +0 -5
  946. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/manifests/init.pp +0 -3
  947. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +0 -10
  948. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/lib/puppet/functions/moduleb/rb_func_b.rb +0 -6
  949. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/manifests/init.pp +0 -3
  950. data/spec/fixtures/unit/pops/parser/lexer/aliastest.pp +0 -16
  951. data/spec/fixtures/unit/pops/parser/lexer/append.pp +0 -11
  952. data/spec/fixtures/unit/pops/parser/lexer/argumentdefaults.pp +0 -14
  953. data/spec/fixtures/unit/pops/parser/lexer/arithmetic_expression.pp +0 -8
  954. data/spec/fixtures/unit/pops/parser/lexer/arraytrailingcomma.pp +0 -3
  955. data/spec/fixtures/unit/pops/parser/lexer/casestatement.pp +0 -65
  956. data/spec/fixtures/unit/pops/parser/lexer/classheirarchy.pp +0 -15
  957. data/spec/fixtures/unit/pops/parser/lexer/classincludes.pp +0 -17
  958. data/spec/fixtures/unit/pops/parser/lexer/classpathtest.pp +0 -11
  959. data/spec/fixtures/unit/pops/parser/lexer/collection.pp +0 -10
  960. data/spec/fixtures/unit/pops/parser/lexer/collection_override.pp +0 -8
  961. data/spec/fixtures/unit/pops/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  962. data/spec/fixtures/unit/pops/parser/lexer/componentmetaparams.pp +0 -11
  963. data/spec/fixtures/unit/pops/parser/lexer/componentrequire.pp +0 -8
  964. data/spec/fixtures/unit/pops/parser/lexer/deepclassheirarchy.pp +0 -23
  965. data/spec/fixtures/unit/pops/parser/lexer/defineoverrides.pp +0 -17
  966. data/spec/fixtures/unit/pops/parser/lexer/emptyclass.pp +0 -9
  967. data/spec/fixtures/unit/pops/parser/lexer/emptyexec.pp +0 -3
  968. data/spec/fixtures/unit/pops/parser/lexer/emptyifelse.pp +0 -9
  969. data/spec/fixtures/unit/pops/parser/lexer/falsevalues.pp +0 -3
  970. data/spec/fixtures/unit/pops/parser/lexer/filecreate.pp +0 -11
  971. data/spec/fixtures/unit/pops/parser/lexer/fqdefinition.pp +0 -5
  972. data/spec/fixtures/unit/pops/parser/lexer/fqparents.pp +0 -11
  973. data/spec/fixtures/unit/pops/parser/lexer/funccomma.pp +0 -5
  974. data/spec/fixtures/unit/pops/parser/lexer/hash.pp +0 -33
  975. data/spec/fixtures/unit/pops/parser/lexer/ifexpression.pp +0 -12
  976. data/spec/fixtures/unit/pops/parser/lexer/implicititeration.pp +0 -15
  977. data/spec/fixtures/unit/pops/parser/lexer/multilinecomments.pp +0 -10
  978. data/spec/fixtures/unit/pops/parser/lexer/multipleclass.pp +0 -9
  979. data/spec/fixtures/unit/pops/parser/lexer/multipleinstances.pp +0 -7
  980. data/spec/fixtures/unit/pops/parser/lexer/multisubs.pp +0 -13
  981. data/spec/fixtures/unit/pops/parser/lexer/namevartest.pp +0 -9
  982. data/spec/fixtures/unit/pops/parser/lexer/scopetest.pp +0 -13
  983. data/spec/fixtures/unit/pops/parser/lexer/selectorvalues.pp +0 -49
  984. data/spec/fixtures/unit/pops/parser/lexer/simpledefaults.pp +0 -5
  985. data/spec/fixtures/unit/pops/parser/lexer/simpleselector.pp +0 -38
  986. data/spec/fixtures/unit/pops/parser/lexer/singleary.pp +0 -19
  987. data/spec/fixtures/unit/pops/parser/lexer/singlequote.pp +0 -11
  988. data/spec/fixtures/unit/pops/parser/lexer/singleselector.pp +0 -22
  989. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -11
  990. data/spec/fixtures/unit/pops/parser/lexer/tag.pp +0 -9
  991. data/spec/fixtures/unit/pops/parser/lexer/tagged.pp +0 -35
  992. data/spec/fixtures/unit/pops/parser/lexer/virtualresources.pp +0 -14
  993. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_input.out +0 -1
  994. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_output.out +0 -1
  995. data/spec/fixtures/unit/provider/cron/crontab/single_line.yaml +0 -272
  996. data/spec/fixtures/unit/provider/cron/crontab/vixie_header.txt +0 -3
  997. data/spec/fixtures/unit/provider/cron/parsed/managed +0 -6
  998. data/spec/fixtures/unit/provider/cron/parsed/simple +0 -9
  999. data/spec/fixtures/unit/provider/package/dnfmodule/dnf-module-list.txt +0 -19
  1000. data/spec/fixtures/unit/provider/package/gem/gem-list-single-package +0 -4
  1001. data/spec/fixtures/unit/provider/package/gem/line-with-1.8.5-warning +0 -14
  1002. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.detail +0 -19
  1003. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.list +0 -10
  1004. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.query +0 -1
  1005. data/spec/fixtures/unit/provider/package/openbsd/pkginfo_flavors.list +0 -2
  1006. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +0 -3
  1007. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +0 -1
  1008. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +0 -2
  1009. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +0 -1
  1010. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +0 -1
  1011. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +0 -1
  1012. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +0 -1
  1013. data/spec/fixtures/unit/provider/package/pkg/incomplete +0 -1
  1014. data/spec/fixtures/unit/provider/package/pkg/solaris11 +0 -2
  1015. data/spec/fixtures/unit/provider/package/pkg/unknown_status +0 -12
  1016. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +0 -7
  1017. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +0 -1
  1018. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +0 -5
  1019. data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +0 -30
  1020. data/spec/fixtures/unit/provider/package/sun/dummy.server +0 -12
  1021. data/spec/fixtures/unit/provider/package/sun/simple +0 -24
  1022. data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +0 -187
  1023. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +0 -201
  1024. data/spec/fixtures/unit/provider/package/yum/yum-check-update-obsoletes.txt +0 -195
  1025. data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
  1026. data/spec/fixtures/unit/provider/package/yum/yum-check-update-security.txt +0 -184
  1027. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +0 -13
  1028. data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +0 -9
  1029. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-SLES11sp1.out +0 -369
  1030. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-empty.out +0 -3
  1031. data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +0 -13
  1032. data/spec/fixtures/unit/provider/parsedfile/aliases.txt +0 -2
  1033. data/spec/fixtures/unit/provider/parsedfile/simple.txt +0 -7
  1034. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
  1035. data/spec/fixtures/unit/provider/service/gentoo/rc_update_show +0 -30
  1036. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +0 -6
  1037. data/spec/fixtures/unit/provider/service/openrc/rcservice_list +0 -8
  1038. data/spec/fixtures/unit/provider/service/openrc/rcstatus +0 -43
  1039. data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +0 -6
  1040. data/spec/fixtures/unit/provider/service/smf/svcs_instances.out +0 -4
  1041. data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +0 -13
  1042. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +0 -16
  1043. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  1044. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -36
  1045. data/spec/fixtures/unit/reports/tagmail/tagmail_email.conf +0 -2
  1046. data/spec/fixtures/unit/reports/tagmail/tagmail_failers.conf +0 -3
  1047. data/spec/fixtures/unit/reports/tagmail/tagmail_passers.conf +0 -30
  1048. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +0 -33
  1049. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +0 -28
  1050. data/spec/fixtures/unit/type/user/authorized_keys +0 -6
  1051. data/spec/fixtures/unit/util/filetype/aixtab_output +0 -44
  1052. data/spec/fixtures/unit/util/filetype/suntab_output +0 -9
  1053. data/spec/fixtures/unit/util/monkey_patches/x509.pem +0 -32
  1054. data/spec/fixtures/unit/util/rdoc/basic.pp +0 -16
  1055. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +0 -104
  1056. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_not_update_if_content_on_disk_is_up-to-date.yml +0 -108
  1057. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +0 -108
  1058. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +0 -104
  1059. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +0 -100
  1060. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +0 -104
  1061. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_not_update_if_mtime_is_newer_on_disk.yml +0 -104
  1062. data/spec/fixtures/yaml/report2.6.x.yaml +0 -190
  1063. data/spec/fixtures/yaml/test.local.yaml +0 -16
  1064. data/spec/integration/agent/logging_spec.rb +0 -179
  1065. data/spec/integration/application/agent_spec.rb +0 -1067
  1066. data/spec/integration/application/apply_spec.rb +0 -781
  1067. data/spec/integration/application/doc_spec.rb +0 -24
  1068. data/spec/integration/application/filebucket_spec.rb +0 -255
  1069. data/spec/integration/application/help_spec.rb +0 -44
  1070. data/spec/integration/application/lookup_spec.rb +0 -275
  1071. data/spec/integration/application/module_spec.rb +0 -230
  1072. data/spec/integration/application/plugin_spec.rb +0 -145
  1073. data/spec/integration/application/resource_spec.rb +0 -68
  1074. data/spec/integration/application/ssl_spec.rb +0 -20
  1075. data/spec/integration/configurer_spec.rb +0 -166
  1076. data/spec/integration/data_binding_spec.rb +0 -278
  1077. data/spec/integration/defaults_spec.rb +0 -279
  1078. data/spec/integration/directory_environments_spec.rb +0 -67
  1079. data/spec/integration/environments/default_manifest_spec.rb +0 -215
  1080. data/spec/integration/environments/setting_hooks_spec.rb +0 -27
  1081. data/spec/integration/environments/settings_interpolation_spec.rb +0 -106
  1082. data/spec/integration/environments/settings_spec.rb +0 -128
  1083. data/spec/integration/http/client_spec.rb +0 -229
  1084. data/spec/integration/indirector/catalog/compiler_spec.rb +0 -75
  1085. data/spec/integration/indirector/direct_file_server_spec.rb +0 -90
  1086. data/spec/integration/indirector/facts/facter_spec.rb +0 -168
  1087. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -106
  1088. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -75
  1089. data/spec/integration/l10n/compiler_spec.rb +0 -37
  1090. data/spec/integration/network/formats_spec.rb +0 -90
  1091. data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -60
  1092. data/spec/integration/network/http_pool_spec.rb +0 -275
  1093. data/spec/integration/node/environment_spec.rb +0 -170
  1094. data/spec/integration/node/facts_spec.rb +0 -40
  1095. data/spec/integration/node_spec.rb +0 -77
  1096. data/spec/integration/parser/catalog_spec.rb +0 -68
  1097. data/spec/integration/parser/class_spec.rb +0 -33
  1098. data/spec/integration/parser/collection_spec.rb +0 -362
  1099. data/spec/integration/parser/compiler_spec.rb +0 -1221
  1100. data/spec/integration/parser/conditionals_spec.rb +0 -95
  1101. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -66
  1102. data/spec/integration/parser/environment_spec.rb +0 -47
  1103. data/spec/integration/parser/node_spec.rb +0 -163
  1104. data/spec/integration/parser/parameter_defaults_spec.rb +0 -358
  1105. data/spec/integration/parser/pcore_resource_spec.rb +0 -243
  1106. data/spec/integration/parser/resource_expressions_spec.rb +0 -222
  1107. data/spec/integration/parser/scope_spec.rb +0 -735
  1108. data/spec/integration/parser/script_compiler_spec.rb +0 -113
  1109. data/spec/integration/parser/undef_param_spec.rb +0 -95
  1110. data/spec/integration/provider/file/windows_spec.rb +0 -162
  1111. data/spec/integration/resource/catalog_spec.rb +0 -47
  1112. data/spec/integration/resource/type_collection_spec.rb +0 -88
  1113. data/spec/integration/transaction/report_spec.rb +0 -706
  1114. data/spec/integration/transaction_spec.rb +0 -553
  1115. data/spec/integration/type/exec_spec.rb +0 -114
  1116. data/spec/integration/type/file_spec.rb +0 -2012
  1117. data/spec/integration/type/notify_spec.rb +0 -46
  1118. data/spec/integration/type/package_spec.rb +0 -200
  1119. data/spec/integration/type/tidy_spec.rb +0 -45
  1120. data/spec/integration/type_spec.rb +0 -30
  1121. data/spec/integration/util/autoload_spec.rb +0 -104
  1122. data/spec/integration/util/execution_spec.rb +0 -104
  1123. data/spec/integration/util/rdoc/parser_spec.rb +0 -171
  1124. data/spec/integration/util/settings_spec.rb +0 -115
  1125. data/spec/integration/util/windows/adsi_spec.rb +0 -207
  1126. data/spec/integration/util/windows/monkey_patches/process_spec.rb +0 -231
  1127. data/spec/integration/util/windows/principal_spec.rb +0 -279
  1128. data/spec/integration/util/windows/process_spec.rb +0 -96
  1129. data/spec/integration/util/windows/registry_spec.rb +0 -334
  1130. data/spec/integration/util/windows/security_spec.rb +0 -1010
  1131. data/spec/integration/util/windows/user_spec.rb +0 -226
  1132. data/spec/integration/util_spec.rb +0 -104
  1133. data/spec/lib/matchers/containment_matchers.rb +0 -52
  1134. data/spec/lib/matchers/include_in_order.rb +0 -20
  1135. data/spec/lib/matchers/include_in_order_spec.rb +0 -30
  1136. data/spec/lib/matchers/json.rb +0 -132
  1137. data/spec/lib/matchers/match_tokens2.rb +0 -74
  1138. data/spec/lib/matchers/relationship_graph_matchers.rb +0 -48
  1139. data/spec/lib/matchers/resource.rb +0 -74
  1140. data/spec/lib/puppet/certificate_factory.rb +0 -218
  1141. data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -8
  1142. data/spec/lib/puppet/face/basetest.rb +0 -51
  1143. data/spec/lib/puppet/face/huzzah/obsolete.rb +0 -6
  1144. data/spec/lib/puppet/face/huzzah.rb +0 -8
  1145. data/spec/lib/puppet/face/version_matching.rb +0 -12
  1146. data/spec/lib/puppet/indirector/indirector_testing/json.rb +0 -6
  1147. data/spec/lib/puppet/indirector/indirector_testing/memory.rb +0 -7
  1148. data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +0 -6
  1149. data/spec/lib/puppet/indirector_proxy.rb +0 -34
  1150. data/spec/lib/puppet/indirector_testing.rb +0 -31
  1151. data/spec/lib/puppet/test_ca.rb +0 -157
  1152. data/spec/lib/puppet_spec/character_encoding.rb +0 -12
  1153. data/spec/lib/puppet_spec/compiler.rb +0 -112
  1154. data/spec/lib/puppet_spec/files.rb +0 -107
  1155. data/spec/lib/puppet_spec/fixtures.rb +0 -52
  1156. data/spec/lib/puppet_spec/handler.rb +0 -53
  1157. data/spec/lib/puppet_spec/https.rb +0 -95
  1158. data/spec/lib/puppet_spec/language.rb +0 -75
  1159. data/spec/lib/puppet_spec/matchers.rb +0 -68
  1160. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +0 -56
  1161. data/spec/lib/puppet_spec/module_tool/stub_source.rb +0 -136
  1162. data/spec/lib/puppet_spec/modules.rb +0 -82
  1163. data/spec/lib/puppet_spec/network.rb +0 -127
  1164. data/spec/lib/puppet_spec/pops.rb +0 -29
  1165. data/spec/lib/puppet_spec/puppetserver.rb +0 -180
  1166. data/spec/lib/puppet_spec/scope.rb +0 -13
  1167. data/spec/lib/puppet_spec/settings.rb +0 -39
  1168. data/spec/lib/puppet_spec/ssl.rb +0 -265
  1169. data/spec/lib/puppet_spec/unindent.rb +0 -5
  1170. data/spec/lib/puppet_spec/verbose.rb +0 -20
  1171. data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -21
  1172. data/spec/shared_behaviours/an_indirector_face.rb +0 -6
  1173. data/spec/shared_behaviours/documentation_on_faces.rb +0 -261
  1174. data/spec/shared_behaviours/file_server_terminus.rb +0 -38
  1175. data/spec/shared_behaviours/file_serving.rb +0 -73
  1176. data/spec/shared_behaviours/hiera_indirections.rb +0 -98
  1177. data/spec/shared_behaviours/iterative_functions.rb +0 -68
  1178. data/spec/shared_behaviours/memory_terminus.rb +0 -28
  1179. data/spec/shared_behaviours/path_parameters.rb +0 -160
  1180. data/spec/shared_behaviours/store_configs_terminus.rb +0 -21
  1181. data/spec/shared_behaviours/things_that_declare_options.rb +0 -262
  1182. data/spec/shared_contexts/checksum.rb +0 -65
  1183. data/spec/shared_contexts/digests.rb +0 -100
  1184. data/spec/shared_contexts/https.rb +0 -29
  1185. data/spec/shared_contexts/l10n.rb +0 -32
  1186. data/spec/shared_contexts/provider.rb +0 -16
  1187. data/spec/shared_contexts/types_setup.rb +0 -204
  1188. data/spec/shared_examples/rhel_package_provider.rb +0 -398
  1189. data/spec/spec_helper.rb +0 -240
  1190. data/spec/unit/agent/disabler_spec.rb +0 -63
  1191. data/spec/unit/agent/locker_spec.rb +0 -99
  1192. data/spec/unit/agent_spec.rb +0 -411
  1193. data/spec/unit/application/agent_spec.rb +0 -640
  1194. data/spec/unit/application/apply_spec.rb +0 -559
  1195. data/spec/unit/application/config_spec.rb +0 -232
  1196. data/spec/unit/application/describe_spec.rb +0 -135
  1197. data/spec/unit/application/device_spec.rb +0 -616
  1198. data/spec/unit/application/doc_spec.rb +0 -333
  1199. data/spec/unit/application/face_base_spec.rb +0 -454
  1200. data/spec/unit/application/facts_spec.rb +0 -139
  1201. data/spec/unit/application/filebucket_spec.rb +0 -319
  1202. data/spec/unit/application/indirection_base_spec.rb +0 -50
  1203. data/spec/unit/application/lookup_spec.rb +0 -698
  1204. data/spec/unit/application/resource_spec.rb +0 -229
  1205. data/spec/unit/application/ssl_spec.rb +0 -507
  1206. data/spec/unit/application_spec.rb +0 -730
  1207. data/spec/unit/certificate_factory_spec.rb +0 -170
  1208. data/spec/unit/concurrent/lock_spec.rb +0 -29
  1209. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  1210. data/spec/unit/configurer/downloader_spec.rb +0 -252
  1211. data/spec/unit/configurer/fact_handler_spec.rb +0 -147
  1212. data/spec/unit/configurer/plugin_handler_spec.rb +0 -152
  1213. data/spec/unit/configurer_spec.rb +0 -1488
  1214. data/spec/unit/confine/exists_spec.rb +0 -82
  1215. data/spec/unit/confine/false_spec.rb +0 -78
  1216. data/spec/unit/confine/feature_spec.rb +0 -59
  1217. data/spec/unit/confine/true_spec.rb +0 -78
  1218. data/spec/unit/confine/variable_spec.rb +0 -105
  1219. data/spec/unit/confine_collection_spec.rb +0 -132
  1220. data/spec/unit/confine_spec.rb +0 -99
  1221. data/spec/unit/confiner_spec.rb +0 -61
  1222. data/spec/unit/context/trusted_information_spec.rb +0 -213
  1223. data/spec/unit/context_spec.rb +0 -217
  1224. data/spec/unit/daemon_spec.rb +0 -176
  1225. data/spec/unit/data_binding_spec.rb +0 -11
  1226. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -122
  1227. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -362
  1228. data/spec/unit/datatypes_spec.rb +0 -352
  1229. data/spec/unit/defaults_spec.rb +0 -182
  1230. data/spec/unit/environments_spec.rb +0 -1186
  1231. data/spec/unit/etc_spec.rb +0 -465
  1232. data/spec/unit/external/pson_spec.rb +0 -58
  1233. data/spec/unit/face/config_spec.rb +0 -402
  1234. data/spec/unit/face/epp_face_spec.rb +0 -385
  1235. data/spec/unit/face/facts_spec.rb +0 -78
  1236. data/spec/unit/face/generate_spec.rb +0 -293
  1237. data/spec/unit/face/help_spec.rb +0 -208
  1238. data/spec/unit/face/module/install_spec.rb +0 -40
  1239. data/spec/unit/face/module/list_spec.rb +0 -256
  1240. data/spec/unit/face/module/uninstall_spec.rb +0 -45
  1241. data/spec/unit/face/module/upgrade_spec.rb +0 -26
  1242. data/spec/unit/face/node_spec.rb +0 -129
  1243. data/spec/unit/face/parser_spec.rb +0 -310
  1244. data/spec/unit/face/plugin_spec.rb +0 -158
  1245. data/spec/unit/face_spec.rb +0 -1
  1246. data/spec/unit/facter_impl_spec.rb +0 -31
  1247. data/spec/unit/file_bucket/dipper_spec.rb +0 -405
  1248. data/spec/unit/file_bucket/file_spec.rb +0 -58
  1249. data/spec/unit/file_serving/base_spec.rb +0 -164
  1250. data/spec/unit/file_serving/configuration/parser_spec.rb +0 -206
  1251. data/spec/unit/file_serving/configuration_spec.rb +0 -240
  1252. data/spec/unit/file_serving/content_spec.rb +0 -98
  1253. data/spec/unit/file_serving/fileset_spec.rb +0 -417
  1254. data/spec/unit/file_serving/http_metadata_spec.rb +0 -109
  1255. data/spec/unit/file_serving/metadata_spec.rb +0 -551
  1256. data/spec/unit/file_serving/mount/file_spec.rb +0 -188
  1257. data/spec/unit/file_serving/mount/locales_spec.rb +0 -72
  1258. data/spec/unit/file_serving/mount/modules_spec.rb +0 -69
  1259. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -72
  1260. data/spec/unit/file_serving/mount/plugins_spec.rb +0 -72
  1261. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  1262. data/spec/unit/file_serving/mount/tasks_spec.rb +0 -71
  1263. data/spec/unit/file_serving/mount_spec.rb +0 -30
  1264. data/spec/unit/file_serving/terminus_helper_spec.rb +0 -114
  1265. data/spec/unit/file_serving/terminus_selector_spec.rb +0 -84
  1266. data/spec/unit/file_system/path_pattern_spec.rb +0 -153
  1267. data/spec/unit/file_system/uniquefile_spec.rb +0 -245
  1268. data/spec/unit/file_system_spec.rb +0 -1198
  1269. data/spec/unit/forge/errors_spec.rb +0 -80
  1270. data/spec/unit/forge/forge_spec.rb +0 -69
  1271. data/spec/unit/forge/module_release_spec.rb +0 -331
  1272. data/spec/unit/forge/repository_spec.rb +0 -154
  1273. data/spec/unit/forge_spec.rb +0 -210
  1274. data/spec/unit/functions/abs_spec.rb +0 -70
  1275. data/spec/unit/functions/all_spec.rb +0 -97
  1276. data/spec/unit/functions/annotate_spec.rb +0 -175
  1277. data/spec/unit/functions/any_spec.rb +0 -109
  1278. data/spec/unit/functions/assert_type_spec.rb +0 -97
  1279. data/spec/unit/functions/binary_file_spec.rb +0 -46
  1280. data/spec/unit/functions/break_spec.rb +0 -207
  1281. data/spec/unit/functions/call_spec.rb +0 -131
  1282. data/spec/unit/functions/camelcase_spec.rb +0 -34
  1283. data/spec/unit/functions/capitalize_spec.rb +0 -34
  1284. data/spec/unit/functions/ceiling_spec.rb +0 -65
  1285. data/spec/unit/functions/chomp_spec.rb +0 -46
  1286. data/spec/unit/functions/chop_spec.rb +0 -38
  1287. data/spec/unit/functions/compare_spec.rb +0 -147
  1288. data/spec/unit/functions/contain_spec.rb +0 -297
  1289. data/spec/unit/functions/convert_to_spec.rb +0 -25
  1290. data/spec/unit/functions/defined_spec.rb +0 -288
  1291. data/spec/unit/functions/dig_spec.rb +0 -58
  1292. data/spec/unit/functions/downcase_spec.rb +0 -34
  1293. data/spec/unit/functions/each_spec.rb +0 -107
  1294. data/spec/unit/functions/empty_spec.rb +0 -87
  1295. data/spec/unit/functions/epp_spec.rb +0 -178
  1296. data/spec/unit/functions/filter_spec.rb +0 -145
  1297. data/spec/unit/functions/find_file_spec.rb +0 -69
  1298. data/spec/unit/functions/find_template_spec.rb +0 -69
  1299. data/spec/unit/functions/flatten_spec.rb +0 -31
  1300. data/spec/unit/functions/floor_spec.rb +0 -65
  1301. data/spec/unit/functions/get_spec.rb +0 -135
  1302. data/spec/unit/functions/getvar_spec.rb +0 -121
  1303. data/spec/unit/functions/group_by_spec.rb +0 -40
  1304. data/spec/unit/functions/hiera_spec.rb +0 -495
  1305. data/spec/unit/functions/include_spec.rb +0 -186
  1306. data/spec/unit/functions/index_spec.rb +0 -184
  1307. data/spec/unit/functions/inline_epp_spec.rb +0 -120
  1308. data/spec/unit/functions/join_spec.rb +0 -33
  1309. data/spec/unit/functions/keys_spec.rb +0 -31
  1310. data/spec/unit/functions/length_spec.rb +0 -50
  1311. data/spec/unit/functions/lest_spec.rb +0 -34
  1312. data/spec/unit/functions/logging_spec.rb +0 -62
  1313. data/spec/unit/functions/lookup_fixture_spec.rb +0 -687
  1314. data/spec/unit/functions/lookup_spec.rb +0 -3415
  1315. data/spec/unit/functions/lstrip_spec.rb +0 -30
  1316. data/spec/unit/functions/map_spec.rb +0 -163
  1317. data/spec/unit/functions/match_spec.rb +0 -74
  1318. data/spec/unit/functions/max_spec.rb +0 -158
  1319. data/spec/unit/functions/min_spec.rb +0 -158
  1320. data/spec/unit/functions/module_directory_spec.rb +0 -43
  1321. data/spec/unit/functions/new_spec.rb +0 -776
  1322. data/spec/unit/functions/next_spec.rb +0 -93
  1323. data/spec/unit/functions/partition_spec.rb +0 -40
  1324. data/spec/unit/functions/reduce_spec.rb +0 -85
  1325. data/spec/unit/functions/regsubst_spec.rb +0 -114
  1326. data/spec/unit/functions/require_spec.rb +0 -82
  1327. data/spec/unit/functions/return_spec.rb +0 -109
  1328. data/spec/unit/functions/reverse_each_spec.rb +0 -108
  1329. data/spec/unit/functions/round_spec.rb +0 -41
  1330. data/spec/unit/functions/rstrip_spec.rb +0 -30
  1331. data/spec/unit/functions/scanf_spec.rb +0 -32
  1332. data/spec/unit/functions/shared.rb +0 -94
  1333. data/spec/unit/functions/size_spec.rb +0 -50
  1334. data/spec/unit/functions/slice_spec.rb +0 -136
  1335. data/spec/unit/functions/sort_spec.rb +0 -79
  1336. data/spec/unit/functions/split_spec.rb +0 -59
  1337. data/spec/unit/functions/step_spec.rb +0 -113
  1338. data/spec/unit/functions/strftime_spec.rb +0 -152
  1339. data/spec/unit/functions/strip_spec.rb +0 -30
  1340. data/spec/unit/functions/then_spec.rb +0 -40
  1341. data/spec/unit/functions/tree_each_spec.rb +0 -493
  1342. data/spec/unit/functions/type_spec.rb +0 -35
  1343. data/spec/unit/functions/unique_spec.rb +0 -111
  1344. data/spec/unit/functions/unwrap_spec.rb +0 -37
  1345. data/spec/unit/functions/upcase_spec.rb +0 -34
  1346. data/spec/unit/functions/values_spec.rb +0 -30
  1347. data/spec/unit/functions/versioncmp_spec.rb +0 -70
  1348. data/spec/unit/functions/with_spec.rb +0 -31
  1349. data/spec/unit/functions4_spec.rb +0 -1046
  1350. data/spec/unit/gettext/config_spec.rb +0 -156
  1351. data/spec/unit/gettext/module_loading_spec.rb +0 -53
  1352. data/spec/unit/graph/key_spec.rb +0 -41
  1353. data/spec/unit/graph/rb_tree_map_spec.rb +0 -570
  1354. data/spec/unit/graph/relationship_graph_spec.rb +0 -401
  1355. data/spec/unit/graph/sequential_prioritizer_spec.rb +0 -32
  1356. data/spec/unit/graph/simple_graph_spec.rb +0 -759
  1357. data/spec/unit/hiera/scope_spec.rb +0 -105
  1358. data/spec/unit/hiera_puppet_spec.rb +0 -159
  1359. data/spec/unit/http/client_spec.rb +0 -937
  1360. data/spec/unit/http/dns_spec.rb +0 -281
  1361. data/spec/unit/http/external_client_spec.rb +0 -201
  1362. data/spec/unit/http/factory_spec.rb +0 -160
  1363. data/spec/unit/http/pool_entry_spec.rb +0 -49
  1364. data/spec/unit/http/pool_spec.rb +0 -401
  1365. data/spec/unit/http/proxy_spec.rb +0 -347
  1366. data/spec/unit/http/resolver_spec.rb +0 -133
  1367. data/spec/unit/http/response_spec.rb +0 -75
  1368. data/spec/unit/http/service/ca_spec.rb +0 -281
  1369. data/spec/unit/http/service/compiler_spec.rb +0 -746
  1370. data/spec/unit/http/service/file_server_spec.rb +0 -309
  1371. data/spec/unit/http/service/puppetserver_spec.rb +0 -112
  1372. data/spec/unit/http/service/report_spec.rb +0 -107
  1373. data/spec/unit/http/service_spec.rb +0 -137
  1374. data/spec/unit/http/session_spec.rb +0 -309
  1375. data/spec/unit/http/site_spec.rb +0 -96
  1376. data/spec/unit/indirector/catalog/compiler_spec.rb +0 -1238
  1377. data/spec/unit/indirector/catalog/json_spec.rb +0 -66
  1378. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -11
  1379. data/spec/unit/indirector/catalog/rest_spec.rb +0 -91
  1380. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -16
  1381. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -23
  1382. data/spec/unit/indirector/data_binding/hiera_spec.rb +0 -19
  1383. data/spec/unit/indirector/data_binding/none_spec.rb +0 -28
  1384. data/spec/unit/indirector/direct_file_server_spec.rb +0 -87
  1385. data/spec/unit/indirector/envelope_spec.rb +0 -32
  1386. data/spec/unit/indirector/exec_spec.rb +0 -63
  1387. data/spec/unit/indirector/face_spec.rb +0 -80
  1388. data/spec/unit/indirector/facts/facter_spec.rb +0 -290
  1389. data/spec/unit/indirector/facts/json_spec.rb +0 -255
  1390. data/spec/unit/indirector/facts/network_device_spec.rb +0 -77
  1391. data/spec/unit/indirector/facts/rest_spec.rb +0 -99
  1392. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -16
  1393. data/spec/unit/indirector/facts/yaml_spec.rb +0 -255
  1394. data/spec/unit/indirector/file_bucket_file/file_spec.rb +0 -426
  1395. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -89
  1396. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +0 -46
  1397. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -13
  1398. data/spec/unit/indirector/file_content/file_spec.rb +0 -13
  1399. data/spec/unit/indirector/file_content/rest_spec.rb +0 -60
  1400. data/spec/unit/indirector/file_content/selector_spec.rb +0 -9
  1401. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -13
  1402. data/spec/unit/indirector/file_metadata/file_spec.rb +0 -57
  1403. data/spec/unit/indirector/file_metadata/http_spec.rb +0 -194
  1404. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -116
  1405. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -10
  1406. data/spec/unit/indirector/file_server_spec.rb +0 -288
  1407. data/spec/unit/indirector/hiera_spec.rb +0 -22
  1408. data/spec/unit/indirector/indirection_spec.rb +0 -916
  1409. data/spec/unit/indirector/json_spec.rb +0 -200
  1410. data/spec/unit/indirector/memory_spec.rb +0 -26
  1411. data/spec/unit/indirector/msgpack_spec.rb +0 -199
  1412. data/spec/unit/indirector/node/exec_spec.rb +0 -107
  1413. data/spec/unit/indirector/node/json_spec.rb +0 -33
  1414. data/spec/unit/indirector/node/memory_spec.rb +0 -16
  1415. data/spec/unit/indirector/node/msgpack_spec.rb +0 -23
  1416. data/spec/unit/indirector/node/plain_spec.rb +0 -34
  1417. data/spec/unit/indirector/node/rest_spec.rb +0 -66
  1418. data/spec/unit/indirector/node/store_configs_spec.rb +0 -16
  1419. data/spec/unit/indirector/node/yaml_spec.rb +0 -23
  1420. data/spec/unit/indirector/none_spec.rb +0 -33
  1421. data/spec/unit/indirector/plain_spec.rb +0 -26
  1422. data/spec/unit/indirector/report/json_spec.rb +0 -72
  1423. data/spec/unit/indirector/report/msgpack_spec.rb +0 -27
  1424. data/spec/unit/indirector/report/processor_spec.rb +0 -99
  1425. data/spec/unit/indirector/report/rest_spec.rb +0 -58
  1426. data/spec/unit/indirector/report/yaml_spec.rb +0 -91
  1427. data/spec/unit/indirector/request_spec.rb +0 -295
  1428. data/spec/unit/indirector/resource/ral_spec.rb +0 -89
  1429. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -20
  1430. data/spec/unit/indirector/rest_spec.rb +0 -149
  1431. data/spec/unit/indirector/terminus_spec.rb +0 -264
  1432. data/spec/unit/indirector/yaml_spec.rb +0 -188
  1433. data/spec/unit/indirector_spec.rb +0 -148
  1434. data/spec/unit/info_service_spec.rb +0 -575
  1435. data/spec/unit/interface/action_builder_spec.rb +0 -216
  1436. data/spec/unit/interface/action_manager_spec.rb +0 -254
  1437. data/spec/unit/interface/action_spec.rb +0 -670
  1438. data/spec/unit/interface/documentation_spec.rb +0 -32
  1439. data/spec/unit/interface/face_collection_spec.rb +0 -219
  1440. data/spec/unit/interface/option_builder_spec.rb +0 -86
  1441. data/spec/unit/interface/option_spec.rb +0 -156
  1442. data/spec/unit/interface_spec.rb +0 -305
  1443. data/spec/unit/module_spec.rb +0 -985
  1444. data/spec/unit/module_tool/application_spec.rb +0 -25
  1445. data/spec/unit/module_tool/applications/checksummer_spec.rb +0 -115
  1446. data/spec/unit/module_tool/applications/installer_spec.rb +0 -473
  1447. data/spec/unit/module_tool/applications/uninstaller_spec.rb +0 -181
  1448. data/spec/unit/module_tool/applications/unpacker_spec.rb +0 -75
  1449. data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -337
  1450. data/spec/unit/module_tool/install_directory_spec.rb +0 -70
  1451. data/spec/unit/module_tool/installed_modules_spec.rb +0 -49
  1452. data/spec/unit/module_tool/metadata_spec.rb +0 -330
  1453. data/spec/unit/module_tool/tar/gnu_spec.rb +0 -23
  1454. data/spec/unit/module_tool/tar/mini_spec.rb +0 -109
  1455. data/spec/unit/module_tool/tar_spec.rb +0 -36
  1456. data/spec/unit/module_tool_spec.rb +0 -304
  1457. data/spec/unit/network/authconfig_spec.rb +0 -8
  1458. data/spec/unit/network/authorization_spec.rb +0 -8
  1459. data/spec/unit/network/format_handler_spec.rb +0 -93
  1460. data/spec/unit/network/format_spec.rb +0 -205
  1461. data/spec/unit/network/format_support_spec.rb +0 -199
  1462. data/spec/unit/network/formats_spec.rb +0 -584
  1463. data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -425
  1464. data/spec/unit/network/http/api/master_spec.rb +0 -38
  1465. data/spec/unit/network/http/api/server/v3/environments_spec.rb +0 -51
  1466. data/spec/unit/network/http/api/server/v3_spec.rb +0 -78
  1467. data/spec/unit/network/http/api_spec.rb +0 -109
  1468. data/spec/unit/network/http/connection_spec.rb +0 -636
  1469. data/spec/unit/network/http/error_spec.rb +0 -30
  1470. data/spec/unit/network/http/handler_spec.rb +0 -164
  1471. data/spec/unit/network/http/request_spec.rb +0 -108
  1472. data/spec/unit/network/http/response_spec.rb +0 -106
  1473. data/spec/unit/network/http/route_spec.rb +0 -90
  1474. data/spec/unit/network/http_pool_spec.rb +0 -145
  1475. data/spec/unit/network/uri_spec.rb +0 -47
  1476. data/spec/unit/node/environment_spec.rb +0 -612
  1477. data/spec/unit/node/facts_spec.rb +0 -225
  1478. data/spec/unit/node_spec.rb +0 -434
  1479. data/spec/unit/other/selinux_spec.rb +0 -27
  1480. data/spec/unit/parameter/boolean_spec.rb +0 -35
  1481. data/spec/unit/parameter/package_options_spec.rb +0 -43
  1482. data/spec/unit/parameter/path_spec.rb +0 -23
  1483. data/spec/unit/parameter/value_collection_spec.rb +0 -160
  1484. data/spec/unit/parameter/value_spec.rb +0 -82
  1485. data/spec/unit/parameter_spec.rb +0 -272
  1486. data/spec/unit/parser/ast/block_expression_spec.rb +0 -66
  1487. data/spec/unit/parser/ast/leaf_spec.rb +0 -136
  1488. data/spec/unit/parser/compiler_spec.rb +0 -1020
  1489. data/spec/unit/parser/files_spec.rb +0 -101
  1490. data/spec/unit/parser/functions/create_resources_spec.rb +0 -326
  1491. data/spec/unit/parser/functions/digest_spec.rb +0 -26
  1492. data/spec/unit/parser/functions/fail_spec.rb +0 -23
  1493. data/spec/unit/parser/functions/file_spec.rb +0 -99
  1494. data/spec/unit/parser/functions/fqdn_rand_spec.rb +0 -87
  1495. data/spec/unit/parser/functions/generate_spec.rb +0 -124
  1496. data/spec/unit/parser/functions/hiera_array_spec.rb +0 -12
  1497. data/spec/unit/parser/functions/hiera_hash_spec.rb +0 -12
  1498. data/spec/unit/parser/functions/hiera_include_spec.rb +0 -12
  1499. data/spec/unit/parser/functions/hiera_spec.rb +0 -12
  1500. data/spec/unit/parser/functions/inline_template_spec.rb +0 -36
  1501. data/spec/unit/parser/functions/lookup_spec.rb +0 -14
  1502. data/spec/unit/parser/functions/realize_spec.rb +0 -70
  1503. data/spec/unit/parser/functions/regsubst_spec.rb +0 -19
  1504. data/spec/unit/parser/functions/scanf_spec.rb +0 -25
  1505. data/spec/unit/parser/functions/shellquote_spec.rb +0 -66
  1506. data/spec/unit/parser/functions/split_spec.rb +0 -13
  1507. data/spec/unit/parser/functions/sprintf_spec.rb +0 -68
  1508. data/spec/unit/parser/functions/tag_spec.rb +0 -30
  1509. data/spec/unit/parser/functions/tagged_spec.rb +0 -36
  1510. data/spec/unit/parser/functions/template_spec.rb +0 -93
  1511. data/spec/unit/parser/functions/versioncmp_spec.rb +0 -28
  1512. data/spec/unit/parser/functions_spec.rb +0 -156
  1513. data/spec/unit/parser/relationship_spec.rb +0 -74
  1514. data/spec/unit/parser/resource/param_spec.rb +0 -32
  1515. data/spec/unit/parser/resource_spec.rb +0 -657
  1516. data/spec/unit/parser/scope_spec.rb +0 -698
  1517. data/spec/unit/parser/templatewrapper_spec.rb +0 -111
  1518. data/spec/unit/parser/type_loader_spec.rb +0 -202
  1519. data/spec/unit/plan_spec.rb +0 -65
  1520. data/spec/unit/pops/adaptable_spec.rb +0 -139
  1521. data/spec/unit/pops/benchmark_spec.rb +0 -123
  1522. data/spec/unit/pops/containment_spec.rb +0 -0
  1523. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -560
  1524. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -317
  1525. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -101
  1526. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -108
  1527. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -267
  1528. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -189
  1529. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -46
  1530. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -1639
  1531. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +0 -75
  1532. data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +0 -63
  1533. data/spec/unit/pops/evaluator/literal_evaluator_spec.rb +0 -43
  1534. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -89
  1535. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -181
  1536. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -43
  1537. data/spec/unit/pops/evaluator/variables_spec.rb +0 -88
  1538. data/spec/unit/pops/factory_rspec_helper.rb +0 -65
  1539. data/spec/unit/pops/factory_spec.rb +0 -309
  1540. data/spec/unit/pops/issues_spec.rb +0 -210
  1541. data/spec/unit/pops/label_provider_spec.rb +0 -46
  1542. data/spec/unit/pops/loaders/dependency_loader_spec.rb +0 -122
  1543. data/spec/unit/pops/loaders/environment_loader_spec.rb +0 -172
  1544. data/spec/unit/pops/loaders/loader_paths_spec.rb +0 -43
  1545. data/spec/unit/pops/loaders/loader_spec.rb +0 -516
  1546. data/spec/unit/pops/loaders/loaders_spec.rb +0 -863
  1547. data/spec/unit/pops/loaders/module_loaders_spec.rb +0 -268
  1548. data/spec/unit/pops/loaders/static_loader_spec.rb +0 -85
  1549. data/spec/unit/pops/lookup/context_spec.rb +0 -333
  1550. data/spec/unit/pops/lookup/interpolation_spec.rb +0 -389
  1551. data/spec/unit/pops/lookup/lookup_spec.rb +0 -375
  1552. data/spec/unit/pops/merge_strategy_spec.rb +0 -17
  1553. data/spec/unit/pops/migration_spec.rb +0 -51
  1554. data/spec/unit/pops/model/model_spec.rb +0 -41
  1555. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -56
  1556. data/spec/unit/pops/parser/epp_parser_spec.rb +0 -115
  1557. data/spec/unit/pops/parser/evaluating_parser_spec.rb +0 -89
  1558. data/spec/unit/pops/parser/lexer2_spec.rb +0 -942
  1559. data/spec/unit/pops/parser/locator_spec.rb +0 -86
  1560. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -380
  1561. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -171
  1562. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -184
  1563. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -247
  1564. data/spec/unit/pops/parser/parse_functions_spec.rb +0 -19
  1565. data/spec/unit/pops/parser/parse_heredoc_spec.rb +0 -276
  1566. data/spec/unit/pops/parser/parse_lambda_spec.rb +0 -19
  1567. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -47
  1568. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -328
  1569. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -17
  1570. data/spec/unit/pops/parser/parser_spec.rb +0 -211
  1571. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -65
  1572. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -100
  1573. data/spec/unit/pops/pn_spec.rb +0 -147
  1574. data/spec/unit/pops/puppet_stack_spec.rb +0 -108
  1575. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -37
  1576. data/spec/unit/pops/serialization/packer_spec.rb +0 -162
  1577. data/spec/unit/pops/serialization/serialization_spec.rb +0 -458
  1578. data/spec/unit/pops/serialization/to_from_hr_spec.rb +0 -649
  1579. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -162
  1580. data/spec/unit/pops/time/timespan_spec.rb +0 -121
  1581. data/spec/unit/pops/time/timestamp_spec.rb +0 -13
  1582. data/spec/unit/pops/types/class_loader_spec.rb +0 -10
  1583. data/spec/unit/pops/types/deferred_spec.rb +0 -87
  1584. data/spec/unit/pops/types/error_spec.rb +0 -207
  1585. data/spec/unit/pops/types/iterable_spec.rb +0 -262
  1586. data/spec/unit/pops/types/p_binary_type_spec.rb +0 -243
  1587. data/spec/unit/pops/types/p_init_type_spec.rb +0 -383
  1588. data/spec/unit/pops/types/p_object_type_spec.rb +0 -1730
  1589. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -340
  1590. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -191
  1591. data/spec/unit/pops/types/p_timespan_type_spec.rb +0 -323
  1592. data/spec/unit/pops/types/p_timestamp_type_spec.rb +0 -391
  1593. data/spec/unit/pops/types/p_type_set_type_spec.rb +0 -549
  1594. data/spec/unit/pops/types/p_uri_type_spec.rb +0 -191
  1595. data/spec/unit/pops/types/recursion_guard_spec.rb +0 -93
  1596. data/spec/unit/pops/types/ruby_generator_spec.rb +0 -874
  1597. data/spec/unit/pops/types/string_converter_spec.rb +0 -1202
  1598. data/spec/unit/pops/types/task_spec.rb +0 -411
  1599. data/spec/unit/pops/types/type_acceptor_spec.rb +0 -106
  1600. data/spec/unit/pops/types/type_asserter_spec.rb +0 -43
  1601. data/spec/unit/pops/types/type_calculator_spec.rb +0 -2504
  1602. data/spec/unit/pops/types/type_factory_spec.rb +0 -322
  1603. data/spec/unit/pops/types/type_formatter_spec.rb +0 -427
  1604. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -424
  1605. data/spec/unit/pops/types/type_parser_spec.rb +0 -445
  1606. data/spec/unit/pops/types/types_spec.rb +0 -755
  1607. data/spec/unit/pops/utils_spec.rb +0 -70
  1608. data/spec/unit/pops/validation_spec.rb +0 -66
  1609. data/spec/unit/pops/validator/validator_spec.rb +0 -1029
  1610. data/spec/unit/pops/visitor_spec.rb +0 -93
  1611. data/spec/unit/property/boolean_spec.rb +0 -24
  1612. data/spec/unit/property/ensure_spec.rb +0 -11
  1613. data/spec/unit/property/keyvalue_spec.rb +0 -259
  1614. data/spec/unit/property/list_spec.rb +0 -172
  1615. data/spec/unit/property/ordered_list_spec.rb +0 -59
  1616. data/spec/unit/property_spec.rb +0 -563
  1617. data/spec/unit/provider/README.markdown +0 -4
  1618. data/spec/unit/provider/aix_object_spec.rb +0 -821
  1619. data/spec/unit/provider/command_spec.rb +0 -62
  1620. data/spec/unit/provider/exec/posix_spec.rb +0 -232
  1621. data/spec/unit/provider/exec/shell_spec.rb +0 -53
  1622. data/spec/unit/provider/exec/windows_spec.rb +0 -105
  1623. data/spec/unit/provider/exec_spec.rb +0 -244
  1624. data/spec/unit/provider/file/posix_spec.rb +0 -230
  1625. data/spec/unit/provider/file/windows_spec.rb +0 -152
  1626. data/spec/unit/provider/group/aix_spec.rb +0 -91
  1627. data/spec/unit/provider/group/directoryservice_spec.rb +0 -33
  1628. data/spec/unit/provider/group/groupadd_spec.rb +0 -284
  1629. data/spec/unit/provider/group/ldap_spec.rb +0 -98
  1630. data/spec/unit/provider/group/pw_spec.rb +0 -78
  1631. data/spec/unit/provider/group/windows_adsi_spec.rb +0 -398
  1632. data/spec/unit/provider/ldap_spec.rb +0 -242
  1633. data/spec/unit/provider/nameservice/directoryservice_spec.rb +0 -157
  1634. data/spec/unit/provider/nameservice_spec.rb +0 -398
  1635. data/spec/unit/provider/package/aix_spec.rb +0 -158
  1636. data/spec/unit/provider/package/appdmg_spec.rb +0 -42
  1637. data/spec/unit/provider/package/apt_spec.rb +0 -302
  1638. data/spec/unit/provider/package/aptitude_spec.rb +0 -46
  1639. data/spec/unit/provider/package/aptrpm_spec.rb +0 -42
  1640. data/spec/unit/provider/package/base_spec.rb +0 -19
  1641. data/spec/unit/provider/package/dnf_spec.rb +0 -62
  1642. data/spec/unit/provider/package/dnfmodule_spec.rb +0 -276
  1643. data/spec/unit/provider/package/dpkg_spec.rb +0 -444
  1644. data/spec/unit/provider/package/freebsd_spec.rb +0 -51
  1645. data/spec/unit/provider/package/gem_spec.rb +0 -487
  1646. data/spec/unit/provider/package/hpux_spec.rb +0 -48
  1647. data/spec/unit/provider/package/macports_spec.rb +0 -142
  1648. data/spec/unit/provider/package/nim_spec.rb +0 -267
  1649. data/spec/unit/provider/package/openbsd_spec.rb +0 -417
  1650. data/spec/unit/provider/package/opkg_spec.rb +0 -180
  1651. data/spec/unit/provider/package/pacman_spec.rb +0 -438
  1652. data/spec/unit/provider/package/pip2_spec.rb +0 -38
  1653. data/spec/unit/provider/package/pip3_spec.rb +0 -38
  1654. data/spec/unit/provider/package/pip_spec.rb +0 -504
  1655. data/spec/unit/provider/package/pkg_spec.rb +0 -473
  1656. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -166
  1657. data/spec/unit/provider/package/pkgin_spec.rb +0 -185
  1658. data/spec/unit/provider/package/pkgng_spec.rb +0 -228
  1659. data/spec/unit/provider/package/pkgutil_spec.rb +0 -231
  1660. data/spec/unit/provider/package/portage_spec.rb +0 -226
  1661. data/spec/unit/provider/package/puppet_gem_spec.rb +0 -130
  1662. data/spec/unit/provider/package/puppetserver_gem_spec.rb +0 -139
  1663. data/spec/unit/provider/package/rpm_spec.rb +0 -674
  1664. data/spec/unit/provider/package/sun_spec.rb +0 -112
  1665. data/spec/unit/provider/package/tdnf_spec.rb +0 -15
  1666. data/spec/unit/provider/package/up2date_spec.rb +0 -22
  1667. data/spec/unit/provider/package/urpmi_spec.rb +0 -84
  1668. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -114
  1669. data/spec/unit/provider/package/windows/msi_package_spec.rb +0 -111
  1670. data/spec/unit/provider/package/windows/package_spec.rb +0 -180
  1671. data/spec/unit/provider/package/windows_spec.rb +0 -272
  1672. data/spec/unit/provider/package/yum_spec.rb +0 -512
  1673. data/spec/unit/provider/package/zypper_spec.rb +0 -327
  1674. data/spec/unit/provider/package_targetable_spec.rb +0 -60
  1675. data/spec/unit/provider/parsedfile_spec.rb +0 -263
  1676. data/spec/unit/provider/service/base_spec.rb +0 -109
  1677. data/spec/unit/provider/service/bsd_spec.rb +0 -127
  1678. data/spec/unit/provider/service/daemontools_spec.rb +0 -190
  1679. data/spec/unit/provider/service/debian_spec.rb +0 -158
  1680. data/spec/unit/provider/service/freebsd_spec.rb +0 -92
  1681. data/spec/unit/provider/service/gentoo_spec.rb +0 -250
  1682. data/spec/unit/provider/service/init_spec.rb +0 -316
  1683. data/spec/unit/provider/service/launchd_spec.rb +0 -425
  1684. data/spec/unit/provider/service/openbsd_spec.rb +0 -196
  1685. data/spec/unit/provider/service/openrc_spec.rb +0 -231
  1686. data/spec/unit/provider/service/openwrt_spec.rb +0 -101
  1687. data/spec/unit/provider/service/rcng_spec.rb +0 -40
  1688. data/spec/unit/provider/service/redhat_spec.rb +0 -190
  1689. data/spec/unit/provider/service/runit_spec.rb +0 -164
  1690. data/spec/unit/provider/service/smf_spec.rb +0 -526
  1691. data/spec/unit/provider/service/src_spec.rb +0 -186
  1692. data/spec/unit/provider/service/systemd_spec.rb +0 -578
  1693. data/spec/unit/provider/service/upstart_spec.rb +0 -681
  1694. data/spec/unit/provider/service/windows_spec.rb +0 -475
  1695. data/spec/unit/provider/user/aix_spec.rb +0 -320
  1696. data/spec/unit/provider/user/directoryservice_spec.rb +0 -1256
  1697. data/spec/unit/provider/user/hpux_spec.rb +0 -72
  1698. data/spec/unit/provider/user/ldap_spec.rb +0 -286
  1699. data/spec/unit/provider/user/openbsd_spec.rb +0 -76
  1700. data/spec/unit/provider/user/pw_spec.rb +0 -252
  1701. data/spec/unit/provider/user/user_role_add_spec.rb +0 -374
  1702. data/spec/unit/provider/user/useradd_spec.rb +0 -849
  1703. data/spec/unit/provider/user/windows_adsi_spec.rb +0 -407
  1704. data/spec/unit/provider_spec.rb +0 -904
  1705. data/spec/unit/puppet_pal_2pec.rb +0 -1033
  1706. data/spec/unit/puppet_pal_catalog_spec.rb +0 -962
  1707. data/spec/unit/puppet_pal_spec.rb +0 -3
  1708. data/spec/unit/puppet_spec.rb +0 -127
  1709. data/spec/unit/relationship_spec.rb +0 -202
  1710. data/spec/unit/reports/http_spec.rb +0 -119
  1711. data/spec/unit/reports/store_spec.rb +0 -69
  1712. data/spec/unit/reports_spec.rb +0 -68
  1713. data/spec/unit/resource/catalog_spec.rb +0 -1160
  1714. data/spec/unit/resource/status_spec.rb +0 -216
  1715. data/spec/unit/resource/type_collection_spec.rb +0 -332
  1716. data/spec/unit/resource/type_spec.rb +0 -876
  1717. data/spec/unit/resource_spec.rb +0 -1189
  1718. data/spec/unit/scheduler/job_spec.rb +0 -78
  1719. data/spec/unit/scheduler/scheduler_spec.rb +0 -115
  1720. data/spec/unit/scheduler/splay_job_spec.rb +0 -34
  1721. data/spec/unit/settings/array_setting_spec.rb +0 -39
  1722. data/spec/unit/settings/autosign_setting_spec.rb +0 -104
  1723. data/spec/unit/settings/certificate_revocation_setting_spec.rb +0 -37
  1724. data/spec/unit/settings/config_file_spec.rb +0 -147
  1725. data/spec/unit/settings/directory_setting_spec.rb +0 -27
  1726. data/spec/unit/settings/duration_setting_spec.rb +0 -48
  1727. data/spec/unit/settings/enum_setting_spec.rb +0 -27
  1728. data/spec/unit/settings/environment_conf_spec.rb +0 -133
  1729. data/spec/unit/settings/file_setting_spec.rb +0 -344
  1730. data/spec/unit/settings/http_extra_headers_spec.rb +0 -62
  1731. data/spec/unit/settings/ini_file_spec.rb +0 -550
  1732. data/spec/unit/settings/integer_setting_spec.rb +0 -42
  1733. data/spec/unit/settings/path_setting_spec.rb +0 -29
  1734. data/spec/unit/settings/port_setting_spec.rb +0 -31
  1735. data/spec/unit/settings/priority_setting_spec.rb +0 -65
  1736. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  1737. data/spec/unit/settings/string_setting_spec.rb +0 -74
  1738. data/spec/unit/settings/terminus_setting_spec.rb +0 -27
  1739. data/spec/unit/settings/value_translator_spec.rb +0 -75
  1740. data/spec/unit/settings_spec.rb +0 -2343
  1741. data/spec/unit/ssl/base_spec.rb +0 -125
  1742. data/spec/unit/ssl/certificate_request_attributes_spec.rb +0 -80
  1743. data/spec/unit/ssl/certificate_request_spec.rb +0 -373
  1744. data/spec/unit/ssl/certificate_signer_spec.rb +0 -17
  1745. data/spec/unit/ssl/certificate_spec.rb +0 -183
  1746. data/spec/unit/ssl/digest_spec.rb +0 -34
  1747. data/spec/unit/ssl/oids_spec.rb +0 -73
  1748. data/spec/unit/ssl/ssl_provider_spec.rb +0 -657
  1749. data/spec/unit/ssl/state_machine_spec.rb +0 -1117
  1750. data/spec/unit/ssl/verifier_spec.rb +0 -102
  1751. data/spec/unit/task_spec.rb +0 -345
  1752. data/spec/unit/test/test_helper_spec.rb +0 -17
  1753. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -534
  1754. data/spec/unit/transaction/event_manager_spec.rb +0 -365
  1755. data/spec/unit/transaction/event_spec.rb +0 -198
  1756. data/spec/unit/transaction/persistence_spec.rb +0 -276
  1757. data/spec/unit/transaction/report_spec.rb +0 -772
  1758. data/spec/unit/transaction/resource_harness_spec.rb +0 -625
  1759. data/spec/unit/transaction_spec.rb +0 -1037
  1760. data/spec/unit/type/README.markdown +0 -4
  1761. data/spec/unit/type/component_spec.rb +0 -52
  1762. data/spec/unit/type/exec_spec.rb +0 -937
  1763. data/spec/unit/type/file/checksum_spec.rb +0 -104
  1764. data/spec/unit/type/file/checksum_value_spec.rb +0 -285
  1765. data/spec/unit/type/file/content_spec.rb +0 -440
  1766. data/spec/unit/type/file/ctime_spec.rb +0 -33
  1767. data/spec/unit/type/file/ensure_spec.rb +0 -121
  1768. data/spec/unit/type/file/group_spec.rb +0 -65
  1769. data/spec/unit/type/file/mode_spec.rb +0 -220
  1770. data/spec/unit/type/file/mtime_spec.rb +0 -33
  1771. data/spec/unit/type/file/owner_spec.rb +0 -63
  1772. data/spec/unit/type/file/selinux_spec.rb +0 -86
  1773. data/spec/unit/type/file/source_spec.rb +0 -730
  1774. data/spec/unit/type/file/type_spec.rb +0 -18
  1775. data/spec/unit/type/file_spec.rb +0 -1746
  1776. data/spec/unit/type/filebucket_spec.rb +0 -104
  1777. data/spec/unit/type/group_spec.rb +0 -105
  1778. data/spec/unit/type/noop_metaparam_spec.rb +0 -37
  1779. data/spec/unit/type/package/package_settings_spec.rb +0 -156
  1780. data/spec/unit/type/package_spec.rb +0 -396
  1781. data/spec/unit/type/resources_spec.rb +0 -362
  1782. data/spec/unit/type/schedule_spec.rb +0 -621
  1783. data/spec/unit/type/service_spec.rb +0 -458
  1784. data/spec/unit/type/stage_spec.rb +0 -7
  1785. data/spec/unit/type/tidy_spec.rb +0 -493
  1786. data/spec/unit/type/user_spec.rb +0 -553
  1787. data/spec/unit/type/whit_spec.rb +0 -9
  1788. data/spec/unit/type_spec.rb +0 -1473
  1789. data/spec/unit/util/at_fork_spec.rb +0 -150
  1790. data/spec/unit/util/autoload_spec.rb +0 -330
  1791. data/spec/unit/util/backups_spec.rb +0 -130
  1792. data/spec/unit/util/character_encoding_spec.rb +0 -186
  1793. data/spec/unit/util/checksums_spec.rb +0 -223
  1794. data/spec/unit/util/colors_spec.rb +0 -44
  1795. data/spec/unit/util/command_line_spec.rb +0 -200
  1796. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +0 -129
  1797. data/spec/unit/util/constant_inflector_spec.rb +0 -55
  1798. data/spec/unit/util/diff_spec.rb +0 -46
  1799. data/spec/unit/util/docs_spec.rb +0 -100
  1800. data/spec/unit/util/errors_spec.rb +0 -36
  1801. data/spec/unit/util/execution_spec.rb +0 -943
  1802. data/spec/unit/util/execution_stub_spec.rb +0 -38
  1803. data/spec/unit/util/feature_spec.rb +0 -129
  1804. data/spec/unit/util/filetype_spec.rb +0 -223
  1805. data/spec/unit/util/inifile_spec.rb +0 -510
  1806. data/spec/unit/util/json_lockfile_spec.rb +0 -48
  1807. data/spec/unit/util/json_spec.rb +0 -126
  1808. data/spec/unit/util/ldap/connection_spec.rb +0 -162
  1809. data/spec/unit/util/ldap/generator_spec.rb +0 -49
  1810. data/spec/unit/util/ldap/manager_spec.rb +0 -612
  1811. data/spec/unit/util/lockfile_spec.rb +0 -117
  1812. data/spec/unit/util/log/destinations_spec.rb +0 -258
  1813. data/spec/unit/util/log_spec.rb +0 -479
  1814. data/spec/unit/util/logging_spec.rb +0 -618
  1815. data/spec/unit/util/metric_spec.rb +0 -89
  1816. data/spec/unit/util/monkey_patches_spec.rb +0 -161
  1817. data/spec/unit/util/multi_match_spec.rb +0 -38
  1818. data/spec/unit/util/network_device/config_spec.rb +0 -91
  1819. data/spec/unit/util/network_device/transport/base_spec.rb +0 -40
  1820. data/spec/unit/util/network_device_spec.rb +0 -43
  1821. data/spec/unit/util/package/version/debian_spec.rb +0 -83
  1822. data/spec/unit/util/package/version/pip_spec.rb +0 -464
  1823. data/spec/unit/util/package/version/range_spec.rb +0 -175
  1824. data/spec/unit/util/package/version/rpm_spec.rb +0 -121
  1825. data/spec/unit/util/package_spec.rb +0 -19
  1826. data/spec/unit/util/pidlock_spec.rb +0 -333
  1827. data/spec/unit/util/plist_spec.rb +0 -168
  1828. data/spec/unit/util/posix_spec.rb +0 -630
  1829. data/spec/unit/util/profiler/aggregate_spec.rb +0 -55
  1830. data/spec/unit/util/profiler/around_profiler_spec.rb +0 -61
  1831. data/spec/unit/util/profiler/logging_spec.rb +0 -70
  1832. data/spec/unit/util/profiler/object_counts_spec.rb +0 -13
  1833. data/spec/unit/util/profiler/wall_clock_spec.rb +0 -13
  1834. data/spec/unit/util/profiler_spec.rb +0 -47
  1835. data/spec/unit/util/rdoc_spec.rb +0 -55
  1836. data/spec/unit/util/reference_spec.rb +0 -38
  1837. data/spec/unit/util/resource_template_spec.rb +0 -57
  1838. data/spec/unit/util/retry_action_spec.rb +0 -84
  1839. data/spec/unit/util/rpm_compare_spec.rb +0 -196
  1840. data/spec/unit/util/rubygems_spec.rb +0 -47
  1841. data/spec/unit/util/run_mode_spec.rb +0 -185
  1842. data/spec/unit/util/selinux_spec.rb +0 -422
  1843. data/spec/unit/util/skip_tags_spec.rb +0 -14
  1844. data/spec/unit/util/splayer_spec.rb +0 -44
  1845. data/spec/unit/util/storage_spec.rb +0 -330
  1846. data/spec/unit/util/suidmanager_spec.rb +0 -278
  1847. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -180
  1848. data/spec/unit/util/tag_set_spec.rb +0 -52
  1849. data/spec/unit/util/tagging_spec.rb +0 -246
  1850. data/spec/unit/util/terminal_spec.rb +0 -41
  1851. data/spec/unit/util/user_attr_spec.rb +0 -45
  1852. data/spec/unit/util/warnings_spec.rb +0 -45
  1853. data/spec/unit/util/watched_file_spec.rb +0 -52
  1854. data/spec/unit/util/watcher/periodic_watcher_spec.rb +0 -52
  1855. data/spec/unit/util/watcher_spec.rb +0 -86
  1856. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -66
  1857. data/spec/unit/util/windows/access_control_list_spec.rb +0 -132
  1858. data/spec/unit/util/windows/adsi_spec.rb +0 -704
  1859. data/spec/unit/util/windows/api_types_spec.rb +0 -184
  1860. data/spec/unit/util/windows/eventlog_spec.rb +0 -120
  1861. data/spec/unit/util/windows/file_spec.rb +0 -88
  1862. data/spec/unit/util/windows/root_certs_spec.rb +0 -16
  1863. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -115
  1864. data/spec/unit/util/windows/service_spec.rb +0 -677
  1865. data/spec/unit/util/windows/sid_spec.rb +0 -338
  1866. data/spec/unit/util/windows/string_spec.rb +0 -55
  1867. data/spec/unit/util/windows_spec.rb +0 -23
  1868. data/spec/unit/util/yaml_spec.rb +0 -171
  1869. data/spec/unit/util_spec.rb +0 -960
  1870. data/spec/unit/version_spec.rb +0 -61
  1871. data/spec/unit/x509/cert_provider_spec.rb +0 -663
  1872. data/spec/unit/x509/pem_store_spec.rb +0 -160
@@ -1,1639 +0,0 @@
1
- require 'spec_helper'
2
-
3
- require 'puppet/pops'
4
- require 'puppet/pops/evaluator/evaluator_impl'
5
- require 'puppet/loaders'
6
- require 'puppet_spec/pops'
7
- require 'puppet_spec/scope'
8
- require 'puppet/parser/e4_parser_adapter'
9
-
10
-
11
- # relative to this spec file (./) does not work as this file is loaded by rspec
12
- #require File.join(File.dirname(__FILE__), '/evaluator_rspec_helper')
13
-
14
- describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
15
- include PuppetSpec::Pops
16
- include PuppetSpec::Scope
17
- before(:each) do
18
- Puppet[:strict_variables] = true
19
- Puppet[:data_binding_terminus] = 'none'
20
-
21
- # Tests needs a known configuration of node/scope/compiler since it parses and evaluates
22
- # snippets as the compiler will evaluate them, butwithout the overhead of compiling a complete
23
- # catalog for each tested expression.
24
- #
25
- @parser = Puppet::Pops::Parser::EvaluatingParser.new
26
- @node = Puppet::Node.new('node.example.com')
27
- @node.environment = environment
28
- @compiler = Puppet::Parser::Compiler.new(@node)
29
- @scope = Puppet::Parser::Scope.new(@compiler)
30
- @scope.source = Puppet::Resource::Type.new(:node, 'node.example.com')
31
- @scope.parent = @compiler.topscope
32
- Puppet.push_context(:loaders => @compiler.loaders)
33
- end
34
-
35
- after(:each) do
36
- Puppet.pop_context
37
- end
38
-
39
- let(:environment) { Puppet::Node::Environment.create(:testing, []) }
40
- let(:parser) { @parser }
41
- let(:scope) { @scope }
42
- types = Puppet::Pops::Types::TypeFactory
43
-
44
- context "When evaluator evaluates literals" do
45
- {
46
- "1" => 1,
47
- "010" => 8,
48
- "0x10" => 16,
49
- "3.14" => 3.14,
50
- "0.314e1" => 3.14,
51
- "31.4e-1" => 3.14,
52
- "'1'" => '1',
53
- "'banana'" => 'banana',
54
- '"banana"' => 'banana',
55
- "banana" => 'banana',
56
- "banana::split" => 'banana::split',
57
- "false" => false,
58
- "true" => true,
59
- "Array" => types.array_of_any,
60
- "/.*/" => /.*/
61
- }.each do |source, result|
62
- it "should parse and evaluate the expression '#{source}' to #{result}" do
63
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
64
- end
65
- end
66
-
67
- it 'should error when it encounters an unknown resource' do
68
- expect {parser.evaluate_string(scope, '$a = SantaClause', __FILE__)}.to raise_error(/Resource type not found: SantaClause/)
69
- end
70
-
71
- it 'should error when it encounters an unknown resource with a parameter' do
72
- expect {parser.evaluate_string(scope, '$b = ToothFairy[emea]', __FILE__)}.to raise_error(/Resource type not found: ToothFairy/)
73
- end
74
- end
75
-
76
- context "When the evaluator evaluates Lists and Hashes" do
77
- {
78
- "[]" => [],
79
- "[1,2,3]" => [1,2,3],
80
- "[1,[2.0, 2.1, [2.2]],[3.0, 3.1]]" => [1,[2.0, 2.1, [2.2]],[3.0, 3.1]],
81
- "[2 + 2]" => [4],
82
- "[1,2,3] == [1,2,3]" => true,
83
- "[1,2,3] != [2,3,4]" => true,
84
- "[1,2,3] == [2,2,3]" => false,
85
- "[1,2,3] != [1,2,3]" => false,
86
- "[1,2,3][2]" => 3,
87
- "[1,2,3] + [4,5]" => [1,2,3,4,5],
88
- "[1,2,3, *[4,5]]" => [1,2,3,4,5],
89
- "[1,2,3, (*[4,5])]" => [1,2,3,4,5],
90
- "[1,2,3, ((*[4,5]))]" => [1,2,3,4,5],
91
- "[1,2,3] + [[4,5]]" => [1,2,3,[4,5]],
92
- "[1,2,3] + 4" => [1,2,3,4],
93
- "[1,2,3] << [4,5]" => [1,2,3,[4,5]],
94
- "[1,2,3] << {'a' => 1, 'b'=>2}" => [1,2,3,{'a' => 1, 'b'=>2}],
95
- "[1,2,3] << 4" => [1,2,3,4],
96
- "[1,2,3,4] - [2,3]" => [1,4],
97
- "[1,2,3,4] - [2,5]" => [1,3,4],
98
- "[1,2,3,4] - 2" => [1,3,4],
99
- "[1,2,3,[2],4] - 2" => [1,3,[2],4],
100
- "[1,2,3,[2,3],4] - [[2,3]]" => [1,2,3,4],
101
- "[1,2,3,3,2,4,2,3] - [2,3]" => [1,4],
102
- "[1,2,3,['a',1],['b',2]] - {'a' => 1, 'b'=>2}" => [1,2,3],
103
- "[1,2,3,{'a'=>1,'b'=>2}] - [{'a' => 1, 'b'=>2}]" => [1,2,3],
104
- "[1,2,3] + {'a' => 1, 'b'=>2}" => [1,2,3,['a',1],['b',2]],
105
- }.each do |source, result|
106
- it "should parse and evaluate the expression '#{source}' to #{result}" do
107
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
108
- end
109
- end
110
-
111
- {
112
- "[1,2,3][a]" => :error,
113
- }.each do |source, result|
114
- it "should parse and raise error for '#{source}'" do
115
- expect { parser.evaluate_string(scope, source, __FILE__) }.to raise_error(Puppet::ParseError)
116
- end
117
- end
118
-
119
- {
120
- "{}" => {},
121
- "{'a'=>1,'b'=>2}" => {'a'=>1,'b'=>2},
122
- "{'a'=>1,'b'=>{'x'=>2.1,'y'=>2.2}}" => {'a'=>1,'b'=>{'x'=>2.1,'y'=>2.2}},
123
- "{'a'=> 2 + 2}" => {'a'=> 4},
124
- "{'a'=> 1, 'b'=>2} == {'a'=> 1, 'b'=>2}" => true,
125
- "{'a'=> 1, 'b'=>2} != {'x'=> 1, 'b'=>2}" => true,
126
- "{'a'=> 1, 'b'=>2} == {'a'=> 2, 'b'=>3}" => false,
127
- "{'a'=> 1, 'b'=>2} != {'a'=> 1, 'b'=>2}" => false,
128
- "{a => 1, b => 2}[b]" => 2,
129
- "{2+2 => sum, b => 2}[4]" => 'sum',
130
- "{'a'=>1, 'b'=>2} + {'c'=>3}" => {'a'=>1,'b'=>2,'c'=>3},
131
- "{'a'=>1, 'b'=>2} + {'b'=>3}" => {'a'=>1,'b'=>3},
132
- "{'a'=>1, 'b'=>2} + ['c', 3, 'b', 3]" => {'a'=>1,'b'=>3, 'c'=>3},
133
- "{'a'=>1, 'b'=>2} + [['c', 3], ['b', 3]]" => {'a'=>1,'b'=>3, 'c'=>3},
134
- "{'a'=>1, 'b'=>2} - {'b' => 3}" => {'a'=>1},
135
- "{'a'=>1, 'b'=>2, 'c'=>3} - ['b', 'c']" => {'a'=>1},
136
- "{'a'=>1, 'b'=>2, 'c'=>3} - 'c'" => {'a'=>1, 'b'=>2},
137
- }.each do |source, result|
138
- it "should parse and evaluate the expression '#{source}' to #{result}" do
139
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
140
- end
141
- end
142
-
143
- {
144
- "{'a' => 1, 'b'=>2} << 1" => :error,
145
- }.each do |source, result|
146
- it "should parse and raise error for '#{source}'" do
147
- expect { parser.evaluate_string(scope, source, __FILE__) }.to raise_error(Puppet::ParseError)
148
- end
149
- end
150
- end
151
-
152
- context "When the evaluator perform comparisons" do
153
- {
154
- "'a' == 'a'" => true,
155
- "'a' == 'b'" => false,
156
- "'a' != 'a'" => false,
157
- "'a' != 'b'" => true,
158
- "'a' < 'b' " => true,
159
- "'a' < 'a' " => false,
160
- "'b' < 'a' " => false,
161
- "'a' <= 'b'" => true,
162
- "'a' <= 'a'" => true,
163
- "'b' <= 'a'" => false,
164
- "'a' > 'b' " => false,
165
- "'a' > 'a' " => false,
166
- "'b' > 'a' " => true,
167
- "'a' >= 'b'" => false,
168
- "'a' >= 'a'" => true,
169
- "'b' >= 'a'" => true,
170
- "'a' == 'A'" => true,
171
- "'a' != 'A'" => false,
172
- "'a' > 'A'" => false,
173
- "'a' >= 'A'" => true,
174
- "'A' < 'a'" => false,
175
- "'A' <= 'a'" => true,
176
- "1 == 1" => true,
177
- "1 == 2" => false,
178
- "1 != 1" => false,
179
- "1 != 2" => true,
180
- "1 < 2 " => true,
181
- "1 < 1 " => false,
182
- "2 < 1 " => false,
183
- "1 <= 2" => true,
184
- "1 <= 1" => true,
185
- "2 <= 1" => false,
186
- "1 > 2 " => false,
187
- "1 > 1 " => false,
188
- "2 > 1 " => true,
189
- "1 >= 2" => false,
190
- "1 >= 1" => true,
191
- "2 >= 1" => true,
192
- "1 == 1.0 " => true,
193
- "1 < 1.1 " => true,
194
- "1.0 == 1 " => true,
195
- "1.0 < 2 " => true,
196
- "'1.0' < 'a'" => true,
197
- "'1.0' < '' " => false,
198
- "'1.0' < ' '" => false,
199
- "'a' > '1.0'" => true,
200
- "/.*/ == /.*/ " => true,
201
- "/.*/ != /a.*/" => true,
202
- "true == true " => true,
203
- "false == false" => true,
204
- "true == false" => false,
205
-
206
- "Timestamp(1) < Timestamp(2)" => true,
207
- "Timespan(1) < Timespan(2)" => true,
208
- "Timestamp(1) > Timestamp(2)" => false,
209
- "Timespan(1) > Timespan(2)" => false,
210
- "Timestamp(1) == Timestamp(1)" => true,
211
- "Timespan(1) == Timespan(1)" => true,
212
-
213
- "1 < Timestamp(2)" => true,
214
- "1 < Timespan(2)" => true,
215
- "1 > Timestamp(2)" => false,
216
- "1 > Timespan(2)" => false,
217
- "1 == Timestamp(1)" => true,
218
- "1 == Timespan(1)" => true,
219
-
220
- "1.0 < Timestamp(2)" => true,
221
- "1.0 < Timespan(2)" => true,
222
- "1.0 > Timestamp(2)" => false,
223
- "1.0 > Timespan(2)" => false,
224
- "1.0 == Timestamp(1)" => true,
225
- "1.0 == Timespan(1)" => true,
226
-
227
- "Timestamp(1) < 2" => true,
228
- "Timespan(1) < 2" => true,
229
- "Timestamp(1) > 2" => false,
230
- "Timespan(1) > 2" => false,
231
- "Timestamp(1) == 1" => true,
232
- "Timespan(1) == 1" => true,
233
-
234
- "Timestamp(1) < 2.0" => true,
235
- "Timespan(1) < 2.0" => true,
236
- "Timestamp(1) > 2.0" => false,
237
- "Timespan(1) > 2.0" => false,
238
- "Timestamp(1) == 1.0" => true,
239
- "Timespan(1) == 1.0" => true,
240
-
241
- }.each do |source, result|
242
- it "should parse and evaluate the expression '#{source}' to #{result}" do
243
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
244
- end
245
- end
246
-
247
- {
248
- "a > 1" => /String > Integer/,
249
- "a >= 1" => /String >= Integer/,
250
- "a < 1" => /String < Integer/,
251
- "a <= 1" => /String <= Integer/,
252
- "1 > a" => /Integer > String/,
253
- "1 >= a" => /Integer >= String/,
254
- "1 < a" => /Integer < String/,
255
- "1 <= a" => /Integer <= String/,
256
- }.each do | source, error|
257
- it "should not allow comparison of String and Number '#{source}'" do
258
- expect { parser.evaluate_string(scope, source, __FILE__)}.to raise_error(error)
259
- end
260
- end
261
-
262
- {
263
- "'a' =~ /.*/" => true,
264
- "'a' =~ '.*'" => true,
265
- "/.*/ != /a.*/" => true,
266
- "'a' !~ /b.*/" => true,
267
- "'a' !~ 'b.*'" => true,
268
- '$x = a; a =~ "$x.*"' => true,
269
- "a =~ Pattern['a.*']" => true,
270
- "a =~ Regexp['a.*']" => false, # String is not subtype of Regexp. PUP-957
271
- "$x = /a.*/ a =~ $x" => true,
272
- "$x = Pattern['a.*'] a =~ $x" => true,
273
- "1 =~ Integer" => true,
274
- "1 !~ Integer" => false,
275
- "undef =~ NotUndef" => false,
276
- "undef !~ NotUndef" => true,
277
- "[1,2,3] =~ Array[Integer[1,10]]" => true,
278
- }.each do |source, result|
279
- it "should parse and evaluate the expression '#{source}' to #{result}" do
280
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
281
- end
282
- end
283
-
284
- {
285
- "666 =~ /6/" => :error,
286
- "[a] =~ /a/" => :error,
287
- "{a=>1} =~ /a/" => :error,
288
- "/a/ =~ /a/" => :error,
289
- "Array =~ /A/" => :error,
290
- }.each do |source, result|
291
- it "should parse and raise error for '#{source}'" do
292
- expect { parser.evaluate_string(scope, source, __FILE__) }.to raise_error(Puppet::ParseError)
293
- end
294
- end
295
-
296
- {
297
- "1 in [1,2,3]" => true,
298
- "4 in [1,2,3]" => false,
299
- "a in {x=>1, a=>2}" => true,
300
- "z in {x=>1, a=>2}" => false,
301
- "ana in bananas" => true,
302
- "xxx in bananas" => false,
303
- "/ana/ in bananas" => true,
304
- "/xxx/ in bananas" => false,
305
- "FILE in profiler" => false, # FILE is a type, not a String
306
- "'FILE' in profiler" => true,
307
- "String[1] in bananas" => false, # Philosophically true though :-)
308
- "ana in 'BANANAS'" => true,
309
- "/ana/ in 'BANANAS'" => false,
310
- "/ANA/ in 'BANANAS'" => true,
311
- "xxx in 'BANANAS'" => false,
312
- "[2,3] in [1,[2,3],4]" => true,
313
- "[2,4] in [1,[2,3],4]" => false,
314
- "[a,b] in ['A',['A','B'],'C']" => true,
315
- "[x,y] in ['A',['A','B'],'C']" => false,
316
- "a in {a=>1}" => true,
317
- "x in {a=>1}" => false,
318
- "'A' in {a=>1}" => true,
319
- "'X' in {a=>1}" => false,
320
- "a in {'A'=>1}" => true,
321
- "x in {'A'=>1}" => false,
322
- "/xxx/ in {'aaaxxxbbb'=>1}" => true,
323
- "/yyy/ in {'aaaxxxbbb'=>1}" => false,
324
- "15 in [1, 0xf]" => true,
325
- "15 in [1, '0xf']" => false,
326
- "'15' in [1, 0xf]" => false,
327
- "15 in [1, 115]" => false,
328
- "1 in [11, '111']" => false,
329
- "'1' in [11, '111']" => false,
330
- "Array[Integer] in [2, 3]" => false,
331
- "Array[Integer] in [2, [3, 4]]" => true,
332
- "Array[Integer] in [2, [a, 4]]" => false,
333
- "Integer in { 2 =>'a'}" => true,
334
- "Integer[5,10] in [1,5,3]" => true,
335
- "Integer[5,10] in [1,2,3]" => false,
336
- "Integer in {'a'=>'a'}" => false,
337
- "Integer in {'a'=>1}" => false,
338
- }.each do |source, result|
339
- it "should parse and evaluate the expression '#{source}' to #{result}" do
340
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
341
- end
342
- end
343
-
344
- {
345
- "if /(ana)/ in bananas {$1}" => 'ana',
346
- "if /(xyz)/ in bananas {$1} else {$1}" => nil,
347
- "$a = bananas =~ /(ana)/; $b = /(xyz)/ in bananas; $1" => 'ana',
348
- "$a = xyz =~ /(xyz)/; $b = /(ana)/ in bananas; $1" => 'ana',
349
- "if /p/ in [pineapple, bananas] {$0}" => 'p',
350
- "if /b/ in [pineapple, bananas] {$0}" => 'b',
351
- }.each do |source, result|
352
- it "sets match variables for a regexp search using in such that '#{source}' produces '#{result}'" do
353
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
354
- end
355
- end
356
-
357
- {
358
- 'Any' => ['NotUndef', 'Data', 'Scalar', 'Numeric', 'Integer', 'Float', 'Boolean', 'String', 'Pattern', 'Collection',
359
- 'Array', 'Hash', 'CatalogEntry', 'Resource', 'Class', 'Undef', 'File' ],
360
-
361
- # Note, Data > Collection is false (so not included)
362
- 'Data' => ['ScalarData', 'Numeric', 'Integer', 'Float', 'Boolean', 'String', 'Pattern', 'Array[Data]', 'Hash[String,Data]',],
363
- 'Scalar' => ['Numeric', 'Integer', 'Float', 'Boolean', 'String', 'Pattern'],
364
- 'Numeric' => ['Integer', 'Float'],
365
- 'CatalogEntry' => ['Class', 'Resource', 'File'],
366
- 'Integer[1,10]' => ['Integer[2,3]'],
367
- }.each do |general, specials|
368
- specials.each do |special |
369
- it "should compute that #{general} > #{special}" do
370
- expect(parser.evaluate_string(scope, "#{general} > #{special}", __FILE__)).to eq(true)
371
- end
372
- it "should compute that #{special} < #{general}" do
373
- expect(parser.evaluate_string(scope, "#{special} < #{general}", __FILE__)).to eq(true)
374
- end
375
- it "should compute that #{general} != #{special}" do
376
- expect(parser.evaluate_string(scope, "#{special} != #{general}", __FILE__)).to eq(true)
377
- end
378
- end
379
- end
380
-
381
- {
382
- 'Integer[1,10] > Integer[2,3]' => true,
383
- 'Integer[1,10] == Integer[2,3]' => false,
384
- 'Integer[1,10] > Integer[0,5]' => false,
385
- 'Integer[1,10] > Integer[1,10]' => false,
386
- 'Integer[1,10] >= Integer[1,10]' => true,
387
- 'Integer[1,10] == Integer[1,10]' => true,
388
- }.each do |source, result|
389
- it "should parse and evaluate the integer range comparison expression '#{source}' to #{result}" do
390
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
391
- end
392
- end
393
-
394
- end
395
-
396
- context "When the evaluator performs arithmetic" do
397
- context "on Integers" do
398
- { "2+2" => 4,
399
- "2 + 2" => 4,
400
- "7 - 3" => 4,
401
- "6 * 3" => 18,
402
- "6 / 3" => 2,
403
- "6 % 3" => 0,
404
- "10 % 3" => 1,
405
- "-(6/3)" => -2,
406
- "-6/3 " => -2,
407
- "8 >> 1" => 4,
408
- "8 << 1" => 16,
409
- }.each do |source, result|
410
- it "should parse and evaluate the expression '#{source}' to #{result}" do
411
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
412
- end
413
- end
414
-
415
- context "on Floats" do
416
- {
417
- "2.2 + 2.2" => 4.4,
418
- "7.7 - 3.3" => 4.4,
419
- "6.1 * 3.1" => 18.91,
420
- "6.6 / 3.3" => 2.0,
421
- "-(6.0/3.0)" => -2.0,
422
- "-6.0/3.0 " => -2.0,
423
- }.each do |source, result|
424
- it "should parse and evaluate the expression '#{source}' to #{result}" do
425
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
426
- end
427
- end
428
-
429
- {
430
- "3.14 << 2" => :error,
431
- "3.14 >> 2" => :error,
432
- "6.6 % 3.3" => 0.0,
433
- "10.0 % 3.0" => 1.0,
434
- }.each do |source, result|
435
- it "should parse and raise error for '#{source}'" do
436
- expect { parser.evaluate_string(scope, source, __FILE__) }.to raise_error(Puppet::ParseError)
437
- end
438
- end
439
- end
440
-
441
- context "on strings requiring boxing to Numeric" do
442
- # turn strict mode off so behavior is not stubbed out
443
- before :each do
444
- Puppet[:strict] = :off
445
- end
446
- let(:logs) { [] }
447
- let(:notices) { logs.select { |log| log.level == :notice }.map { |log| log.message } }
448
- let(:warnings) { logs.select { |log| log.level == :warning }.map { |log| log.message } }
449
- let(:debugs) { logs.select { |log| log.level == :debug }.map { |log| log.message } }
450
-
451
- {
452
- "'2' + '2'" => 4,
453
- "'-2' + '2'" => 0,
454
- "'- 2' + '2'" => 0,
455
- '"-\t 2" + "2"' => 0,
456
- "'+2' + '2'" => 4,
457
- "'+ 2' + '2'" => 4,
458
- "'2.2' + '2.2'" => 4.4,
459
- "'-2.2' + '2.2'" => 0.0,
460
- "'0xF7' + '010'" => 0xFF,
461
- "'0xF7' + '0x8'" => 0xFF,
462
- "'0367' + '010'" => 0xFF,
463
- "'012.3' + '010'" => 20.3,
464
- "'-0x2' + '0x4'" => 2,
465
- "'+0x2' + '0x4'" => 6,
466
- "'-02' + '04'" => 2,
467
- "'+02' + '04'" => 6,
468
- }.each do |source, result|
469
- it "should parse and evaluate the expression '#{source}' to #{result}" do
470
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
471
- end
472
- end
473
-
474
- {
475
- "'2' + 2" => 2,
476
- "'4' - 2" => 4,
477
- "'2' * 2" => 2,
478
- "'2' / 1" => 2,
479
- "'8' >> 1" => 8,
480
- "'4' << 1" => 4,
481
- "'10' % 3" => 10,
482
- }.each do |source, coerced_val|
483
- it "should warn about numeric coercion in '#{source}' when strict = warning" do
484
- Puppet[:strict] = :warning
485
- expect(Puppet::Pops::Evaluator::Runtime3Support::EvaluationError).not_to receive(:new)
486
- collect_notices(source)
487
- expect(warnings).to include(/The string '#{coerced_val}' was automatically coerced to the numerical value #{coerced_val}/)
488
- end
489
-
490
- it "should not warn about numeric coercion in '#{source}' if strict = off" do
491
- Puppet[:strict] = :off
492
- expect(Puppet::Pops::Evaluator::Runtime3Support::EvaluationError).not_to receive(:new)
493
- collect_notices(source)
494
- expect(warnings).to_not include(/The string '#{coerced_val}' was automatically coerced to the numerical value #{coerced_val}/)
495
- end
496
-
497
- it "should error when finding numeric coercion in '#{source}' if strict = error" do
498
- Puppet[:strict] = :error
499
- expect {
500
- parser.evaluate_string(scope, source, __FILE__)
501
- }.to raise_error {|error|
502
- expect(error.message).to match(/The string '#{coerced_val}' was automatically coerced to the numerical value #{coerced_val}/)
503
- expect(error.backtrace.first).to match(/runtime3_support\.rb.+optionally_fail/)
504
- }
505
- end
506
- end
507
-
508
- {
509
- "'0888' + '010'" => :error,
510
- "'0xWTF' + '010'" => :error,
511
- "'0x12.3' + '010'" => :error,
512
- '"-\n 2" + "2"' => :error,
513
- '"-\v 2" + "2"' => :error,
514
- '"-2\n" + "2"' => :error,
515
- '"-2\n " + "2"' => :error,
516
- }.each do |source, result|
517
- it "should parse and raise error for '#{source}'" do
518
- expect { parser.evaluate_string(scope, source, __FILE__) }.to raise_error(Puppet::ParseError)
519
- end
520
- end
521
- end
522
- end
523
- end # arithmetic
524
-
525
- context "When the evaluator evaluates assignment" do
526
- {
527
- "$a = 5" => 5,
528
- "$a = 5; $a" => 5,
529
- "$a = 5; $b = 6; $a" => 5,
530
- "$a = $b = 5; $a == $b" => true,
531
- "[$a] = 1 $a" => 1,
532
- "[$a] = [1] $a" => 1,
533
- "[$a, $b] = [1,2] $a+$b" => 3,
534
- "[$a, [$b, $c]] = [1,[2, 3]] $a+$b+$c" => 6,
535
- "[$a] = {a => 1} $a" => 1,
536
- "[$a, $b] = {a=>1,b=>2} $a+$b" => 3,
537
- "[$a, [$b, $c]] = {a=>1,[b,c] =>{b=>2, c=>3}} $a+$b+$c" => 6,
538
- }.each do |source, result|
539
- it "should parse and evaluate the expression '#{source}' to #{result}" do
540
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
541
- end
542
- end
543
-
544
- [
545
- "[a,b,c] = [1,2,3]",
546
- "[a,b,c] = {b=>2,c=>3,a=>1}",
547
- "[$a, $b] = 1",
548
- "[$a, $b] = [1,2,3]",
549
- "[$a, [$b,$c]] = [1,[2]]",
550
- "[$a, [$b,$c]] = [1,[2,3,4]]",
551
- "[$a, $b] = {a=>1}",
552
- "[$a, [$b, $c]] = {a=>1, b =>{b=>2, c=>3}}",
553
- ].each do |source|
554
- it "should parse and evaluate the expression '#{source}' to error" do
555
- expect { parser.evaluate_string(scope, source, __FILE__)}.to raise_error(Puppet::ParseError)
556
- end
557
- end
558
- end
559
-
560
- context "When the evaluator evaluates conditionals" do
561
- {
562
- "if true {5}" => 5,
563
- "if false {5}" => nil,
564
- "if false {2} else {5}" => 5,
565
- "if false {2} elsif true {5}" => 5,
566
- "if false {2} elsif false {5}" => nil,
567
- "unless false {5}" => 5,
568
- "unless true {5}" => nil,
569
- "unless true {2} else {5}" => 5,
570
- "unless true {} else {5}" => 5,
571
- "$a = if true {5} $a" => 5,
572
- "$a = if false {5} $a" => nil,
573
- "$a = if false {2} else {5} $a" => 5,
574
- "$a = if false {2} elsif true {5} $a" => 5,
575
- "$a = if false {2} elsif false {5} $a" => nil,
576
- "$a = unless false {5} $a" => 5,
577
- "$a = unless true {5} $a" => nil,
578
- "$a = unless true {2} else {5} $a" => 5,
579
- }.each do |source, result|
580
- it "should parse and evaluate the expression '#{source}' to #{result}" do
581
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
582
- end
583
- end
584
-
585
- {
586
- "case 1 { 1 : { yes } }" => 'yes',
587
- "case 2 { 1,2,3 : { yes} }" => 'yes',
588
- "case 2 { 1,3 : { no } 2: { yes} }" => 'yes',
589
- "case 2 { 1,3 : { no } 5: { no } default: { yes }}" => 'yes',
590
- "case 2 { 1,3 : { no } 5: { no } }" => nil,
591
- "case 'banana' { 1,3 : { no } /.*ana.*/: { yes } }" => 'yes',
592
- "case 'banana' { /.*(ana).*/: { $1 } }" => 'ana',
593
- "case [1] { Array : { yes } }" => 'yes',
594
- "case [1] {
595
- Array[String] : { no }
596
- Array[Integer]: { yes }
597
- }" => 'yes',
598
- "case 1 {
599
- Integer : { yes }
600
- Type[Integer] : { no } }" => 'yes',
601
- "case Integer {
602
- Integer : { no }
603
- Type[Integer] : { yes } }" => 'yes',
604
- # supports unfold
605
- "case ringo {
606
- *[paul, john, ringo, george] : { 'beatle' } }" => 'beatle',
607
-
608
- "case ringo {
609
- (*[paul, john, ringo, george]) : { 'beatle' } }" => 'beatle',
610
-
611
- "case undef {
612
- undef : { 'yes' } }" => 'yes',
613
-
614
- "case undef {
615
- *undef : { 'no' }
616
- default :{ 'yes' }}" => 'yes',
617
-
618
- "case [green, 2, whatever] {
619
- [/ee/, Integer[0,10], default] : { 'yes' }
620
- default :{ 'no' }}" => 'yes',
621
-
622
- "case [green, 2, whatever] {
623
- default :{ 'no' }
624
- [/ee/, Integer[0,10], default] : { 'yes' }}" => 'yes',
625
-
626
- "case {a=>1, b=>2, whatever=>3, extra => ignored} {
627
- { a => Integer[0,5],
628
- b => Integer[0,5],
629
- whatever => default
630
- } : { 'yes' }
631
- default : { 'no' }}" => 'yes',
632
-
633
- }.each do |source, result|
634
- it "should parse and evaluate the expression '#{source}' to #{result}" do
635
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
636
- end
637
- end
638
-
639
- {
640
- "2 ? { 1 => no, 2 => yes}" => 'yes',
641
- "3 ? { 1 => no, 2 => no, default => yes }" => 'yes',
642
- "3 ? { 1 => no, default => yes, 3 => no }" => 'no',
643
- "3 ? { 1 => no, 3 => no, default => yes }" => 'no',
644
- "4 ? { 1 => no, default => yes, 3 => no }" => 'yes',
645
- "4 ? { 1 => no, 3 => no, default => yes }" => 'yes',
646
- "'banana' ? { /.*(ana).*/ => $1 }" => 'ana',
647
- "[2] ? { Array[String] => yes, Array => yes}" => 'yes',
648
- "ringo ? *[paul, john, ringo, george] => 'beatle'" => 'beatle',
649
- "ringo ? (*[paul, john, ringo, george]) => 'beatle'"=> 'beatle',
650
- "undef ? undef => 'yes'" => 'yes',
651
- "undef ? {*undef => 'no', default => 'yes'}" => 'yes',
652
-
653
- "[green, 2, whatever] ? {
654
- [/ee/, Integer[0,10], default
655
- ] => 'yes',
656
- default => 'no'}" => 'yes',
657
-
658
- "{a=>1, b=>2, whatever=>3, extra => ignored} ?
659
- {{ a => Integer[0,5],
660
- b => Integer[0,5],
661
- whatever => default
662
- } => 'yes',
663
- default => 'no' }" => 'yes',
664
-
665
- }.each do |source, result|
666
- it "should parse and evaluate the expression '#{source}' to #{result}" do
667
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
668
- end
669
- end
670
-
671
- it 'fails if a selector does not match' do
672
- expect{parser.evaluate_string(scope, "2 ? 3 => 4")}.to raise_error(/No matching entry for selector parameter with value '2'/)
673
- end
674
- end
675
-
676
- context "When evaluator evaluated unfold" do
677
- {
678
- "*[1,2,3]" => [1,2,3],
679
- "*1" => [1],
680
- "*'a'" => ['a']
681
- }.each do |source, result|
682
- it "should parse and evaluate the expression '#{source}' to #{result}" do
683
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
684
- end
685
- end
686
-
687
- it "should parse and evaluate the expression '*{a=>10, b=>20} to [['a',10],['b',20]]" do
688
- result = parser.evaluate_string(scope, '*{a=>10, b=>20}', __FILE__)
689
- expect(result).to include(['a', 10])
690
- expect(result).to include(['b', 20])
691
- end
692
-
693
- it "should create an array from an Iterator" do
694
- expect(parser.evaluate_string(scope, '[1,2,3].reverse_each', __FILE__).is_a?(Array)).to be(false)
695
- result = parser.evaluate_string(scope, '*[1,2,3].reverse_each', __FILE__)
696
- expect(result).to eql([3,2,1])
697
- end
698
- end
699
-
700
- context "When evaluator performs [] operations" do
701
- {
702
- "[1,2,3][0]" => 1,
703
- "[1,2,3][2]" => 3,
704
- "[1,2,3][3]" => nil,
705
- "[1,2,3][-1]" => 3,
706
- "[1,2,3][-2]" => 2,
707
- "[1,2,3][-4]" => nil,
708
- "[1,2,3,4][0,2]" => [1,2],
709
- "[1,2,3,4][1,3]" => [2,3,4],
710
- "[1,2,3,4][-2,2]" => [3,4],
711
- "[1,2,3,4][-3,2]" => [2,3],
712
- "[1,2,3,4][3,5]" => [4],
713
- "[1,2,3,4][5,2]" => [],
714
- "[1,2,3,4][0,-1]" => [1,2,3,4],
715
- "[1,2,3,4][0,-2]" => [1,2,3],
716
- "[1,2,3,4][0,-4]" => [1],
717
- "[1,2,3,4][0,-5]" => [],
718
- "[1,2,3,4][-5,2]" => [1],
719
- "[1,2,3,4][-5,-3]" => [1,2],
720
- "[1,2,3,4][-6,-3]" => [1,2],
721
- "[1,2,3,4][2,-3]" => [],
722
- "[1,*[2,3],4]" => [1,2,3,4],
723
- "[1,*[2,3],4][1]" => 2,
724
- }.each do |source, result|
725
- it "should parse and evaluate the expression '#{source}' to #{result}" do
726
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
727
- end
728
- end
729
-
730
- {
731
- "{a=>1, b=>2, c=>3}[a]" => 1,
732
- "{a=>1, b=>2, c=>3}[c]" => 3,
733
- "{a=>1, b=>2, c=>3}[x]" => nil,
734
- "{a=>1, b=>2, c=>3}[c,b]" => [3,2],
735
- "{a=>1, b=>2, c=>3}[a,b,c]" => [1,2,3],
736
- "{a=>{b=>{c=>'it works'}}}[a][b][c]" => 'it works',
737
- "$a = {undef => 10} $a[free_lunch]" => nil,
738
- "$a = {undef => 10} $a[undef]" => 10,
739
- "$a = {undef => 10} $a[$a[free_lunch]]" => 10,
740
- "$a = {} $a[free_lunch] == undef" => true,
741
- }.each do |source, result|
742
- it "should parse and evaluate the expression '#{source}' to #{result}" do
743
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
744
- end
745
- end
746
-
747
- {
748
- "'abc'[0]" => 'a',
749
- "'abc'[2]" => 'c',
750
- "'abc'[-1]" => 'c',
751
- "'abc'[-2]" => 'b',
752
- "'abc'[-3]" => 'a',
753
- "'abc'[-4]" => '',
754
- "'abc'[3]" => '',
755
- "abc[0]" => 'a',
756
- "abc[2]" => 'c',
757
- "abc[-1]" => 'c',
758
- "abc[-2]" => 'b',
759
- "abc[-3]" => 'a',
760
- "abc[-4]" => '',
761
- "abc[3]" => '',
762
- "'abcd'[0,2]" => 'ab',
763
- "'abcd'[1,3]" => 'bcd',
764
- "'abcd'[-2,2]" => 'cd',
765
- "'abcd'[-3,2]" => 'bc',
766
- "'abcd'[3,5]" => 'd',
767
- "'abcd'[5,2]" => '',
768
- "'abcd'[0,-1]" => 'abcd',
769
- "'abcd'[0,-2]" => 'abc',
770
- "'abcd'[0,-4]" => 'a',
771
- "'abcd'[0,-5]" => '',
772
- "'abcd'[-5,2]" => 'a',
773
- "'abcd'[-5,-3]" => 'ab',
774
- "'abcd'[-6,-3]" => 'ab',
775
- "'abcd'[2,-3]" => '',
776
- }.each do |source, result|
777
- it "should parse and evaluate the expression '#{source}' to #{result}" do
778
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
779
- end
780
- end
781
-
782
- # Type operations (full set tested by tests covering type calculator)
783
- {
784
- "Array[Integer]" => types.array_of(types.integer),
785
- "Array[Integer,1]" => types.array_of(types.integer, types.range(1, :default)),
786
- "Array[Integer,1,2]" => types.array_of(types.integer, types.range(1, 2)),
787
- "Array[Integer,Integer[1,2]]" => types.array_of(types.integer, types.range(1, 2)),
788
- "Array[Integer,Integer[1]]" => types.array_of(types.integer, types.range(1, :default)),
789
- "Hash[Integer,Integer]" => types.hash_of(types.integer, types.integer),
790
- "Hash[Integer,Integer,1]" => types.hash_of(types.integer, types.integer, types.range(1, :default)),
791
- "Hash[Integer,Integer,1,2]" => types.hash_of(types.integer, types.integer, types.range(1, 2)),
792
- "Hash[Integer,Integer,Integer[1,2]]" => types.hash_of(types.integer, types.integer, types.range(1, 2)),
793
- "Hash[Integer,Integer,Integer[1]]" => types.hash_of(types.integer, types.integer, types.range(1, :default)),
794
- "Resource[File]" => types.resource('File'),
795
- "Resource['File']" => types.resource(types.resource('File')),
796
- "File[foo]" => types.resource('file', 'foo'),
797
- "File[foo, bar]" => [types.resource('file', 'foo'), types.resource('file', 'bar')],
798
- "Pattern[a, /b/, Pattern[c], Regexp[d]]" => types.pattern('a', 'b', 'c', 'd'),
799
- "String[1,2]" => types.string(types.range(1, 2)),
800
- "String[Integer[1,2]]" => types.string(types.range(1, 2)),
801
- "String[Integer[1]]" => types.string(types.range(1, :default)),
802
- }.each do |source, result|
803
- it "should parse and evaluate the expression '#{source}' to #{result}" do
804
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
805
- end
806
- end
807
-
808
- # LHS where [] not supported, and missing key(s)
809
- {
810
- "Array[]" => :error,
811
- "'abc'[]" => :error,
812
- "Resource[]" => :error,
813
- "File[]" => :error,
814
- "String[]" => :error,
815
- "1[]" => :error,
816
- "3.14[]" => :error,
817
- "/.*/[]" => :error,
818
- "$a=[1] $a[]" => :error,
819
- }.each do |source, result|
820
- it "should parse and evaluate the expression '#{source}' to #{result}" do
821
- expect { parser.evaluate_string(scope, source, __FILE__)}.to raise_error(/Syntax error/)
822
- end
823
- end
824
-
825
- # Errors when wrong number/type of keys are used
826
- {
827
- "Array[0]" => "Array-Type[] arguments must be types. Got Integer",
828
- "Hash[0]" => "Hash-Type[] arguments must be types. Got Integer",
829
- "Hash[Integer, 0]" => "Hash-Type[] arguments must be types. Got Integer",
830
- "Array[Integer,1,2,3]" => 'Array-Type[] accepts 1 to 3 arguments. Got 4',
831
- "Array[Integer,String]" => "A Type's size constraint arguments must be a single Integer type, or 1-2 integers (or default). Got a String-Type",
832
- "Hash[Integer,String, 1,2,3]" => 'Hash-Type[] accepts 2 to 4 arguments. Got 5',
833
- "'abc'[x]" => "A substring operation does not accept a String as a character index. Expected an Integer",
834
- "'abc'[1.0]" => "A substring operation does not accept a Float as a character index. Expected an Integer",
835
- "'abc'[1, x]" => "A substring operation does not accept a String as a character index. Expected an Integer",
836
- "'abc'[1,2,3]" => "String supports [] with one or two arguments. Got 3",
837
- "NotUndef[0]" => "NotUndef-Type[] argument must be a Type or a String. Got Integer",
838
- "NotUndef[a,b]" => 'NotUndef-Type[] accepts 0 to 1 arguments. Got 2',
839
- "Resource[0]" => 'First argument to Resource[] must be a resource type or a String. Got Integer',
840
- "Resource[a, 0]" => 'Error creating type specialization of a Resource-Type, Cannot use Integer where a resource title String is expected',
841
- "File[0]" => 'Error creating type specialization of a File-Type, Cannot use Integer where a resource title String is expected',
842
- "String[a]" => "A Type's size constraint arguments must be a single Integer type, or 1-2 integers (or default). Got a String",
843
- "Pattern[0]" => 'Error creating type specialization of a Pattern-Type, Cannot use Integer where String or Regexp or Pattern-Type or Regexp-Type is expected',
844
- "Regexp[0]" => 'Error creating type specialization of a Regexp-Type, Cannot use Integer where String or Regexp is expected',
845
- "Regexp[a,b]" => 'A Regexp-Type[] accepts 1 argument. Got 2',
846
- "true[0]" => "Operator '[]' is not applicable to a Boolean",
847
- "1[0]" => "Operator '[]' is not applicable to an Integer",
848
- "3.14[0]" => "Operator '[]' is not applicable to a Float",
849
- "/.*/[0]" => "Operator '[]' is not applicable to a Regexp",
850
- "[1][a]" => "The value 'a' cannot be converted to Numeric",
851
- "[1][0.0]" => "An Array[] cannot use Float where Integer is expected",
852
- "[1]['0.0']" => "An Array[] cannot use Float where Integer is expected",
853
- "[1,2][1, 0.0]" => "An Array[] cannot use Float where Integer is expected",
854
- "[1,2][1.0, -1]" => "An Array[] cannot use Float where Integer is expected",
855
- "[1,2][1, -1.0]" => "An Array[] cannot use Float where Integer is expected",
856
- }.each do |source, result|
857
- it "should parse and evaluate the expression '#{source}' to #{result}" do
858
- Puppet[:strict] = :off
859
- expect { parser.evaluate_string(scope, source, __FILE__)}.to raise_error(Regexp.new(Regexp.quote(result)))
860
- end
861
- end
862
-
863
- context "on catalog types" do
864
- it "[n] gets resource parameter [n]" do
865
- source = "notify { 'hello': message=>'yo'} Notify[hello][message]"
866
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq('yo')
867
- end
868
-
869
- it "[n] gets class parameter [n]" do
870
- source = "class wonka($produces='chocolate'){ }
871
- include wonka
872
- Class[wonka]['produces']"
873
-
874
- # This is more complicated since it needs to run like 3.x and do an import_ast
875
- adapted_parser = Puppet::Parser::E4ParserAdapter.new
876
- adapted_parser.file = __FILE__
877
- ast = adapted_parser.parse(source)
878
- Puppet.override({:global_scope => scope,
879
- :environments => Puppet::Environments::Static.new(@node.environment)
880
- }, "gets class parameter test") do
881
- scope.environment.known_resource_types.import_ast(ast, '')
882
- expect(ast.code.safeevaluate(scope)).to eq('chocolate')
883
- end
884
- end
885
-
886
- # Resource default and override expressions and resource parameter access with []
887
- {
888
- # Properties
889
- "notify { id: message=>explicit} Notify[id][message]" => "explicit",
890
- "Notify { message=>by_default} notify {foo:} Notify[foo][message]" => "by_default",
891
- "notify {foo:} Notify[foo]{message =>by_override} Notify[foo][message]" => "by_override",
892
- # Parameters
893
- "notify { id: withpath=>explicit} Notify[id][withpath]" => "explicit",
894
- "Notify { withpath=>by_default } notify { foo: } Notify[foo][withpath]" => "by_default",
895
- "notify {foo:}
896
- Notify[foo]{withpath=>by_override}
897
- Notify[foo][withpath]" => "by_override",
898
- # Metaparameters
899
- "notify { foo: tag => evoe} Notify[foo][tag]" => "evoe",
900
- # Does not produce the defaults for tag parameter (title, type or names of scopes)
901
- "notify { foo: } Notify[foo][tag]" => nil,
902
- # But a default may be specified on the type
903
- "Notify { tag=>by_default } notify { foo: } Notify[foo][tag]" => "by_default",
904
- "Notify { tag=>by_default }
905
- notify { foo: }
906
- Notify[foo]{ tag=>by_override }
907
- Notify[foo][tag]" => "by_override",
908
- }.each do |source, result|
909
- it "should parse and evaluate the expression '#{source}' to #{result}" do
910
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
911
- end
912
- end
913
-
914
- # Virtual and realized resource default and overridden resource parameter access with []
915
- {
916
- # Properties
917
- "@notify { id: message=>explicit } Notify[id][message]" => "explicit",
918
- "@notify { id: message=>explicit }
919
- realize Notify[id]
920
- Notify[id][message]" => "explicit",
921
- "Notify { message=>by_default } @notify { id: } Notify[id][message]" => "by_default",
922
- "Notify { message=>by_default }
923
- @notify { id: tag=>thisone }
924
- Notify <| tag == thisone |>;
925
- Notify[id][message]" => "by_default",
926
- "@notify { id: } Notify[id]{message=>by_override} Notify[id][message]" => "by_override",
927
- # Parameters
928
- "@notify { id: withpath=>explicit } Notify[id][withpath]" => "explicit",
929
- "Notify { withpath=>by_default }
930
- @notify { id: }
931
- Notify[id][withpath]" => "by_default",
932
- "@notify { id: }
933
- realize Notify[id]
934
- Notify[id]{withpath=>by_override}
935
- Notify[id][withpath]" => "by_override",
936
- # Metaparameters
937
- "@notify { id: tag=>explicit } Notify[id][tag]" => "explicit",
938
- }.each do |source, result|
939
- it "parses and evaluates virtual and realized resources in the expression '#{source}' to #{result}" do
940
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
941
- end
942
- end
943
-
944
- # Exported resource attributes
945
- {
946
- "@@notify { id: message=>explicit } Notify[id][message]" => "explicit",
947
- "@@notify { id: message=>explicit, tag=>thisone }
948
- Notify <<| tag == thisone |>>
949
- Notify[id][message]" => "explicit",
950
- }.each do |source, result|
951
- it "parses and evaluates exported resources in the expression '#{source}' to #{result}" do
952
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
953
- end
954
- end
955
-
956
- # Resource default and override expressions and resource parameter access error conditions
957
- {
958
- "notify { xid: message=>explicit} Notify[id][message]" => /Resource not found/,
959
- "notify { id: message=>explicit} Notify[id][mustard]" => /does not have a parameter called 'mustard'/,
960
- # NOTE: these meta-esque parameters are not recognized as such
961
- "notify { id: message=>explicit} Notify[id][title]" => /does not have a parameter called 'title'/,
962
- "notify { id: message=>explicit} Notify[id]['type']" => /does not have a parameter called 'type'/,
963
- "notify { id: message=>explicit } Notify[id]{message=>override}" => /'message' is already set on Notify\[id\]/,
964
- "notify { id: message => 'once', message => 'twice' }" => /'message' has already been set/
965
- }.each do |source, result|
966
- it "should parse '#{source}' and raise error matching #{result}" do
967
- expect { parser.evaluate_string(scope, source, __FILE__)}.to raise_error(result)
968
- end
969
- end
970
-
971
- context 'with errors' do
972
- { "Class['fail-whale']" => /Illegal name/,
973
- "Class[0]" => /An Integer cannot be used where a String is expected/,
974
- "Class[/.*/]" => /A Regexp cannot be used where a String is expected/,
975
- "Class[4.1415]" => /A Float cannot be used where a String is expected/,
976
- "Class[Integer]" => /An Integer-Type cannot be used where a String is expected/,
977
- "Class[File['tmp']]" => /A File\['tmp'\] Resource-Reference cannot be used where a String is expected/,
978
- }.each do | source, error_pattern|
979
- it "an error is flagged for '#{source}'" do
980
- expect { parser.evaluate_string(scope, source, __FILE__)}.to raise_error(error_pattern)
981
- end
982
- end
983
- end
984
- end
985
- # end [] operations
986
- end
987
-
988
- context "When the evaluator performs boolean operations" do
989
- {
990
- "true and true" => true,
991
- "false and true" => false,
992
- "true and false" => false,
993
- "false and false" => false,
994
- "true or true" => true,
995
- "false or true" => true,
996
- "true or false" => true,
997
- "false or false" => false,
998
- "! true" => false,
999
- "!! true" => true,
1000
- "!! false" => false,
1001
- "! 'x'" => false,
1002
- "! ''" => false,
1003
- "! undef" => true,
1004
- "! [a]" => false,
1005
- "! []" => false,
1006
- "! {a=>1}" => false,
1007
- "! {}" => false,
1008
- "true and false and '0xwtf' + 1" => false,
1009
- "false or true or '0xwtf' + 1" => true,
1010
- }.each do |source, result|
1011
- it "should parse and evaluate the expression '#{source}' to #{result}" do
1012
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
1013
- end
1014
- end
1015
-
1016
- {
1017
- "false || false || '0xwtf' + 1" => :error,
1018
- }.each do |source, result|
1019
- it "should parse and raise error for '#{source}'" do
1020
- expect { parser.evaluate_string(scope, source, __FILE__) }.to raise_error(Puppet::ParseError)
1021
- end
1022
- end
1023
- end
1024
-
1025
- context "When evaluator performs operations on literal undef" do
1026
- it "computes non existing hash lookup as undef" do
1027
- expect(parser.evaluate_string(scope, "{a => 1}[b] == undef", __FILE__)).to eq(true)
1028
- expect(parser.evaluate_string(scope, "undef == {a => 1}[b]", __FILE__)).to eq(true)
1029
- end
1030
- end
1031
-
1032
- context "When evaluator performs calls" do
1033
-
1034
- let(:populate) do
1035
- parser.evaluate_string(scope, "$a = 10 $b = [1,2,3]")
1036
- end
1037
-
1038
- {
1039
- 'sprintf( "x%iy", $a )' => "x10y",
1040
- # unfolds
1041
- 'sprintf( *["x%iy", $a] )' => "x10y",
1042
- '( *["x%iy", $a] ).sprintf' => "x10y",
1043
- '((*["x%iy", $a])).sprintf' => "x10y",
1044
- '"x%iy".sprintf( $a )' => "x10y",
1045
- '$b.reduce |$memo,$x| { $memo + $x }' => 6,
1046
- 'reduce($b) |$memo,$x| { $memo + $x }' => 6,
1047
- }.each do |source, result|
1048
- it "should parse and evaluate the expression '#{source}' to #{result}" do
1049
- populate
1050
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
1051
- end
1052
- end
1053
-
1054
- {
1055
- '"value is ${a*2} yo"' => :error,
1056
- }.each do |source, result|
1057
- it "should parse and raise error for '#{source}'" do
1058
- expect { parser.evaluate_string(scope, source, __FILE__) }.to raise_error(Puppet::ParseError)
1059
- end
1060
- end
1061
-
1062
- it "provides location information on error in unparenthesized call logic" do
1063
- expect{parser.evaluate_string(scope, "include non_existing_class", __FILE__)}.to raise_error(Puppet::ParseError, /line: 1, column: 1/)
1064
- end
1065
-
1066
- it 'defaults can be given in a lambda and used only when arg is missing' do
1067
- env_loader = @compiler.loaders.public_environment_loader
1068
- fc = Puppet::Functions.create_function(:test) do
1069
- dispatch :test do
1070
- param 'Integer', :count
1071
- required_block_param
1072
- end
1073
- def test(count)
1074
- yield(*[].fill(10, 0, count))
1075
- end
1076
- end
1077
- the_func = fc.new({}, env_loader)
1078
- env_loader.add_entry(:function, 'test', the_func, __FILE__)
1079
- expect(parser.evaluate_string(scope, "test(1) |$x, $y=20| { $x + $y}")).to eql(30)
1080
- expect(parser.evaluate_string(scope, "test(2) |$x, $y=20| { $x + $y}")).to eql(20)
1081
- end
1082
-
1083
- it 'a given undef does not select the default value' do
1084
- env_loader = @compiler.loaders.public_environment_loader
1085
- fc = Puppet::Functions.create_function(:test) do
1086
- dispatch :test do
1087
- param 'Any', :lambda_arg
1088
- required_block_param
1089
- end
1090
- def test(lambda_arg)
1091
- yield(lambda_arg)
1092
- end
1093
- end
1094
- the_func = fc.new({}, env_loader)
1095
- env_loader.add_entry(:function, 'test', the_func, __FILE__)
1096
-
1097
- expect(parser.evaluate_string(scope, "test(undef) |$x=20| { $x == undef}")).to eql(true)
1098
- end
1099
-
1100
- it 'a given undef is given as nil' do
1101
- env_loader = @compiler.loaders.public_environment_loader
1102
- fc = Puppet::Functions.create_function(:assert_no_undef) do
1103
- dispatch :assert_no_undef do
1104
- param 'Any', :x
1105
- end
1106
-
1107
- def assert_no_undef(x)
1108
- case x
1109
- when Array
1110
- return unless x.include?(:undef)
1111
- when Hash
1112
- return unless x.keys.include?(:undef) || x.values.include?(:undef)
1113
- else
1114
- return unless x == :undef
1115
- end
1116
- raise "contains :undef"
1117
- end
1118
- end
1119
-
1120
- the_func = fc.new({}, env_loader)
1121
- env_loader.add_entry(:function, 'assert_no_undef', the_func, __FILE__)
1122
-
1123
- expect{parser.evaluate_string(scope, "assert_no_undef(undef)")}.to_not raise_error()
1124
- expect{parser.evaluate_string(scope, "assert_no_undef([undef])")}.to_not raise_error()
1125
- expect{parser.evaluate_string(scope, "assert_no_undef({undef => 1})")}.to_not raise_error()
1126
- expect{parser.evaluate_string(scope, "assert_no_undef({1 => undef})")}.to_not raise_error()
1127
- end
1128
-
1129
- it 'a lambda return value is checked using the return type' do
1130
- expect(parser.evaluate_string(scope, "[1,2].map |Integer $x| >> Integer { $x }")).to eql([1,2])
1131
- expect { parser.evaluate_string(scope, "[1,2].map |Integer $x| >> String { $x }") }.to raise_error(
1132
- /value returned from lambda has wrong type, expects a String value, got Integer/)
1133
- end
1134
-
1135
- context 'using the 3x function api' do
1136
- it 'can call a 3x function' do
1137
- Puppet::Parser::Functions.newfunction("bazinga", :type => :rvalue) { |args| args[0] }
1138
- expect(parser.evaluate_string(scope, "bazinga(42)", __FILE__)).to eq(42)
1139
- end
1140
-
1141
- it 'maps :undef to empty string' do
1142
- Puppet::Parser::Functions.newfunction("bazinga", :type => :rvalue) { |args| args[0] }
1143
- expect(parser.evaluate_string(scope, "$a = {} bazinga($a[nope])", __FILE__)).to eq('')
1144
- expect(parser.evaluate_string(scope, "bazinga(undef)", __FILE__)).to eq('')
1145
- end
1146
-
1147
- it 'does not map :undef to empty string in arrays' do
1148
- Puppet::Parser::Functions.newfunction("bazinga", :type => :rvalue) { |args| args[0][0] }
1149
- expect(parser.evaluate_string(scope, "$a = {} $b = [$a[nope]] bazinga($b)", __FILE__)).to eq(nil)
1150
- expect(parser.evaluate_string(scope, "bazinga([undef])", __FILE__)).to eq(nil)
1151
- end
1152
-
1153
- it 'does not map :undef to empty string in hashes' do
1154
- Puppet::Parser::Functions.newfunction("bazinga", :type => :rvalue) { |args| args[0]['a'] }
1155
- expect(parser.evaluate_string(scope, "$a = {} $b = {a => $a[nope]} bazinga($b)", __FILE__)).to eq(nil)
1156
- expect(parser.evaluate_string(scope, "bazinga({a => undef})", __FILE__)).to eq(nil)
1157
- end
1158
- end
1159
- end
1160
-
1161
- context "When evaluator performs string interpolation" do
1162
- let(:populate) do
1163
- parser.evaluate_string(scope, "$a = 10 $b = [1,2,3]")
1164
- end
1165
-
1166
- {
1167
- '"value is $a yo"' => "value is 10 yo",
1168
- '"value is \$a yo"' => "value is $a yo",
1169
- '"value is ${a} yo"' => "value is 10 yo",
1170
- '"value is \${a} yo"' => "value is ${a} yo",
1171
- '"value is ${$a} yo"' => "value is 10 yo",
1172
- '"value is ${$a*2} yo"' => "value is 20 yo",
1173
- '"value is ${sprintf("x%iy",$a)} yo"' => "value is x10y yo",
1174
- '"value is ${"x%iy".sprintf($a)} yo"' => "value is x10y yo",
1175
- '"value is ${[1,2,3]} yo"' => "value is [1, 2, 3] yo",
1176
- '"value is ${/.*/} yo"' => "value is /.*/ yo",
1177
- '$x = undef "value is $x yo"' => "value is yo",
1178
- '$x = default "value is $x yo"' => "value is default yo",
1179
- '$x = Array[Integer] "value is $x yo"' => "value is Array[Integer] yo",
1180
- '"value is ${Array[Integer]} yo"' => "value is Array[Integer] yo",
1181
- }.each do |source, result|
1182
- it "should parse and evaluate the expression '#{source}' to #{result}" do
1183
- populate
1184
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(result)
1185
- end
1186
- end
1187
-
1188
- it "should parse and evaluate an interpolation of a hash" do
1189
- source = '"value is ${{a=>1,b=>2}} yo"'
1190
- # This test requires testing against two options because a hash to string
1191
- # produces a result that is unordered
1192
- alt_results = ["value is {a => 1, b => 2} yo", "value is {b => 2, a => 1} yo" ]
1193
- populate
1194
- parse_result = parser.evaluate_string(scope, source, __FILE__)
1195
- expect(alt_results.include?(parse_result)).to eq(true)
1196
- end
1197
-
1198
- it 'should accept a variable with leading underscore when used directly' do
1199
- source = '$_x = 10; "$_x"'
1200
- expect(parser.evaluate_string(scope, source, __FILE__)).to eql('10')
1201
- end
1202
-
1203
- it 'should accept a variable with leading underscore when used as an expression' do
1204
- source = '$_x = 10; "${_x}"'
1205
- expect(parser.evaluate_string(scope, source, __FILE__)).to eql('10')
1206
- end
1207
-
1208
- it 'should accept a numeric variable expressed as $n' do
1209
- source = '$x = "abc123def" =~ /(abc)(123)(def)/; "${$2}"'
1210
- expect(parser.evaluate_string(scope, source, __FILE__)).to eql('123')
1211
- end
1212
-
1213
- it 'should accept a numeric variable expressed as just an integer' do
1214
- source = '$x = "abc123def" =~ /(abc)(123)(def)/; "${2}"'
1215
- expect(parser.evaluate_string(scope, source, __FILE__)).to eql('123')
1216
- end
1217
-
1218
- it 'should accept a numeric variable expressed as $n in an access operation' do
1219
- source = '$x = "abc123def" =~ /(abc)(123)(def)/; "${$0[4,3]}"'
1220
- expect(parser.evaluate_string(scope, source, __FILE__)).to eql('23d')
1221
- end
1222
-
1223
- it 'should accept a numeric variable expressed as just an integer in an access operation' do
1224
- source = '$x = "abc123def" =~ /(abc)(123)(def)/; "${0[4,3]}"'
1225
- expect(parser.evaluate_string(scope, source, __FILE__)).to eql('23d')
1226
- end
1227
-
1228
- {
1229
- '"value is ${a*2} yo"' => :error,
1230
- }.each do |source, result|
1231
- it "should parse and raise error for '#{source}'" do
1232
- expect { parser.evaluate_string(scope, source, __FILE__) }.to raise_error(Puppet::ParseError)
1233
- end
1234
- end
1235
- end
1236
-
1237
- context "When evaluating variables" do
1238
- context "that are non existing an error is raised for" do
1239
- it "unqualified variable" do
1240
- expect { parser.evaluate_string(scope, "$quantum_gravity", __FILE__) }.to raise_error(/Unknown variable/)
1241
- end
1242
-
1243
- it "qualified variable" do
1244
- expect { parser.evaluate_string(scope, "$quantum_gravity::graviton", __FILE__) }.to raise_error(/Unknown variable/)
1245
- end
1246
- end
1247
-
1248
- it "a lex error should be raised for '$foo::::bar'" do
1249
- expect { parser.evaluate_string(scope, "$foo::::bar") }.to raise_error(Puppet::ParseErrorWithIssue, /Illegal fully qualified name \(line: 1, column: 7\)/)
1250
- end
1251
-
1252
- { '$a = $0' => nil,
1253
- '$a = $1' => nil,
1254
- }.each do |source, value|
1255
- it "it is ok to reference numeric unassigned variables '#{source}'" do
1256
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(value)
1257
- end
1258
- end
1259
-
1260
- { '$00 = 0' => /must be a decimal value/,
1261
- '$0xf = 0' => /must be a decimal value/,
1262
- '$0777 = 0' => /must be a decimal value/,
1263
- '$123a = 0' => /must be a decimal value/,
1264
- }.each do |source, error_pattern|
1265
- it "should raise an error for '#{source}'" do
1266
- expect { parser.evaluate_string(scope, source, __FILE__) }.to raise_error(error_pattern)
1267
- end
1268
- end
1269
-
1270
- context "an initial underscore in the last segment of a var name is allowed" do
1271
- { '$_a = 1' => 1,
1272
- '$__a = 1' => 1,
1273
- }.each do |source, value|
1274
- it "as in this example '#{source}'" do
1275
- expect(parser.evaluate_string(scope, source, __FILE__)).to eq(value)
1276
- end
1277
- end
1278
- end
1279
- end
1280
-
1281
- context "When evaluating relationships" do
1282
- it 'should form a relation with File[a] -> File[b]' do
1283
- source = "File[a] -> File[b]"
1284
- parser.evaluate_string(scope, source, __FILE__)
1285
- expect(scope.compiler).to have_relationship(['File', 'a', '->', 'File', 'b'])
1286
- end
1287
-
1288
- it 'should form a relation with resource -> resource' do
1289
- source = "notify{a:} -> notify{b:}"
1290
- parser.evaluate_string(scope, source, __FILE__)
1291
- expect(scope.compiler).to have_relationship(['Notify', 'a', '->', 'Notify', 'b'])
1292
- end
1293
-
1294
- it 'should form a relation with [File[a], File[b]] -> [File[x], File[y]]' do
1295
- source = "[File[a], File[b]] -> [File[x], File[y]]"
1296
- parser.evaluate_string(scope, source, __FILE__)
1297
- expect(scope.compiler).to have_relationship(['File', 'a', '->', 'File', 'x'])
1298
- expect(scope.compiler).to have_relationship(['File', 'b', '->', 'File', 'x'])
1299
- expect(scope.compiler).to have_relationship(['File', 'a', '->', 'File', 'y'])
1300
- expect(scope.compiler).to have_relationship(['File', 'b', '->', 'File', 'y'])
1301
- end
1302
-
1303
- it 'should form a relation with 3.x resource -> resource' do
1304
- # Create a 3.x resource since this is the value given as arguments to defined type
1305
- scope['a_3x_resource']= Puppet::Parser::Resource.new('notify', 'a', {:scope => scope, :file => __FILE__, :line => 1})
1306
- source = "$a_3x_resource -> notify{b:}"
1307
- parser.evaluate_string(scope, source, __FILE__)
1308
- expect(scope.compiler).to have_relationship(['Notify', 'a', '->', 'Notify', 'b'])
1309
- end
1310
-
1311
- it 'should tolerate (eliminate) duplicates in operands' do
1312
- source = "[File[a], File[a]] -> File[x]"
1313
- parser.evaluate_string(scope, source, __FILE__)
1314
- expect(scope.compiler).to have_relationship(['File', 'a', '->', 'File', 'x'])
1315
- expect(scope.compiler.relationships.size).to eq(1)
1316
- end
1317
-
1318
- it 'should form a relation with <-' do
1319
- source = "File[a] <- File[b]"
1320
- parser.evaluate_string(scope, source, __FILE__)
1321
- expect(scope.compiler).to have_relationship(['File', 'b', '->', 'File', 'a'])
1322
- end
1323
-
1324
- it 'should form a relation with <-' do
1325
- source = "File[a] <~ File[b]"
1326
- parser.evaluate_string(scope, source, __FILE__)
1327
- expect(scope.compiler).to have_relationship(['File', 'b', '~>', 'File', 'a'])
1328
- end
1329
-
1330
- it 'should close the gap created by an intermediate empty set' do
1331
- source = "[File[a], File[aa]] -> [] ~> [File[b], File[bb]]"
1332
- parser.evaluate_string(scope, source, __FILE__)
1333
- expect(scope.compiler).to have_relationship(['File', 'a', '~>', 'File', 'b'])
1334
- expect(scope.compiler).to have_relationship(['File', 'aa', '~>', 'File', 'b'])
1335
- expect(scope.compiler).to have_relationship(['File', 'a', '~>', 'File', 'bb'])
1336
- expect(scope.compiler).to have_relationship(['File', 'aa', '~>', 'File', 'bb'])
1337
- end
1338
- end
1339
-
1340
- context "When evaluating heredoc" do
1341
- it "evaluates plain heredoc" do
1342
- src = "@(END)\nThis is\nheredoc text\nEND\n"
1343
- expect(parser.evaluate_string(scope, src)).to eq("This is\nheredoc text\n")
1344
- end
1345
-
1346
- it "parses heredoc with margin" do
1347
- src = [
1348
- "@(END)",
1349
- " This is",
1350
- " heredoc text",
1351
- " | END",
1352
- ""
1353
- ].join("\n")
1354
- expect(parser.evaluate_string(scope, src)).to eq("This is\nheredoc text\n")
1355
- end
1356
-
1357
- it "parses heredoc with margin and right newline trim" do
1358
- src = [
1359
- "@(END)",
1360
- " This is",
1361
- " heredoc text",
1362
- " |- END",
1363
- ""
1364
- ].join("\n")
1365
- expect(parser.evaluate_string(scope, src)).to eq("This is\nheredoc text")
1366
- end
1367
-
1368
- it "parses escape specification" do
1369
- src = <<-CODE
1370
- @(END/t)
1371
- Tex\\tt\\n
1372
- |- END
1373
- CODE
1374
- expect(parser.evaluate_string(scope, src)).to eq("Tex\tt\\n")
1375
- end
1376
-
1377
- it "parses json syntax checked specification" do
1378
- src = <<-CODE
1379
- @(END:json)
1380
- ["foo", "bar"]
1381
- |- END
1382
- CODE
1383
- expect(parser.evaluate_string(scope, src)).to eq('["foo", "bar"]')
1384
- end
1385
-
1386
- it "parses base64 syntax checked specification" do
1387
- src = <<-CODE
1388
- @(END:base64)
1389
- dGhlIHF1aWNrIHJlZCBmb3g=
1390
- |- END
1391
- CODE
1392
- expect(parser.evaluate_string(scope, src)).to eq('dGhlIHF1aWNrIHJlZCBmb3g=')
1393
- end
1394
-
1395
- it "parses pp syntax checked specification" do
1396
- src = <<-CODE
1397
- @(END:pp)
1398
- $x = 42
1399
- |- END
1400
- CODE
1401
- expect(parser.evaluate_string(scope, src)).to eq('$x = 42')
1402
- end
1403
-
1404
- it "parses epp syntax checked specification" do
1405
- src = <<-CODE
1406
- @(END:epp)
1407
- <% $x = 42 %><%= $x %>
1408
- |- END
1409
- CODE
1410
- expect(parser.evaluate_string(scope, src)).to eq('<% $x = 42 %><%= $x %>')
1411
- end
1412
-
1413
- it "parses json syntax checked specification with error and reports it" do
1414
- src = <<-CODE
1415
- @(END:json)
1416
- ['foo', "bar"]
1417
- |- END
1418
- CODE
1419
- expect { parser.evaluate_string(scope, src)}.to raise_error(/Cannot parse invalid JSON string/)
1420
- end
1421
-
1422
- it "parses base syntax checked specification with error and reports it" do
1423
- src = <<-CODE
1424
- @(END:base64)
1425
- dGhlIHF1aWNrIHJlZCBmb3g
1426
- |- END
1427
- CODE
1428
- expect { parser.evaluate_string(scope, src)}.to raise_error(/Cannot parse invalid Base64 string/)
1429
- end
1430
-
1431
- it "parses pp syntax checked specification with error and reports it" do
1432
- src = <<-CODE
1433
- @(END:pp)
1434
- $x ==== 42
1435
- |- END
1436
- CODE
1437
- expect{parser.evaluate_string(scope, src)}.to raise_error(/Invalid produced text having syntax: 'pp'/)
1438
- end
1439
-
1440
- it "parses epp syntax checked specification with error and reports it" do
1441
- src = <<-CODE
1442
- @(END:epp)
1443
- <% $x ==== 42 %>
1444
- |- END
1445
- CODE
1446
- expect{parser.evaluate_string(scope, src)}.to raise_error(/Invalid produced text having syntax: 'epp'/)
1447
- end
1448
-
1449
- it "parses interpolated heredoc expression" do
1450
- src = <<-CODE
1451
- $pname = 'Fjodor'
1452
- @("END")
1453
- Hello $pname
1454
- |- END
1455
- CODE
1456
- expect(parser.evaluate_string(scope, src)).to eq("Hello Fjodor")
1457
- end
1458
-
1459
- it "parses interpolated heredoc expression with escapes" do
1460
- src = <<-CODE
1461
- $name = 'Fjodor'
1462
- @("END")
1463
- Hello\\ \\$name
1464
- |- END
1465
- CODE
1466
- expect(parser.evaluate_string(scope, src)).to eq("Hello\\ \\Fjodor")
1467
- end
1468
-
1469
- end
1470
- context "Handles Deprecations and Discontinuations" do
1471
- it 'of import statements' do
1472
- source = "\nimport foo"
1473
- # Error references position 5 at the opening '{'
1474
- # Set file to nil to make it easier to match with line number (no file name in output)
1475
- expect { parser.evaluate_string(scope, source) }.to raise_error(/'import' has been discontinued.* \(line: 2, column: 1\)/)
1476
- end
1477
- end
1478
-
1479
- context "Detailed Error messages are reported" do
1480
- it 'for illegal type references' do
1481
- source = '1+1 { "title": }'
1482
- # Error references position 5 at the opening '{'
1483
- # Set file to nil to make it easier to match with line number (no file name in output)
1484
- expect { parser.evaluate_string(scope, source) }.to raise_error(
1485
- /Illegal Resource Type expression, expected result to be a type name, or untitled Resource.* \(line: 1, column: 2\)/)
1486
- end
1487
-
1488
- it 'for non r-value producing <| |>' do
1489
- expect { parser.parse_string("$a = File <| |>", nil) }.to raise_error(/A Virtual Query does not produce a value \(line: 1, column: 6\)/)
1490
- end
1491
-
1492
- it 'for non r-value producing <<| |>>' do
1493
- expect { parser.parse_string("$a = File <<| |>>", nil) }.to raise_error(/An Exported Query does not produce a value \(line: 1, column: 6\)/)
1494
- end
1495
-
1496
- it 'for non r-value producing define' do
1497
- expect(Puppet::Util::Log).to receive(:create).with(hash_including(:level => :err, :message => "Invalid use of expression. A 'define' expression does not produce a value", :line => 1, :pos => 6))
1498
- expect(Puppet::Util::Log).to receive(:create).with(hash_including(:level => :err, :message => 'Classes, definitions, and nodes may only appear at toplevel or inside other classes', :line => 1, :pos => 6))
1499
- expect { parser.parse_string("$a = define foo { }", nil) }.to raise_error(/2 errors/)
1500
- end
1501
-
1502
- it 'for non r-value producing class' do
1503
- expect(Puppet::Util::Log).to receive(:create).with(hash_including(:level => :err, :message => 'Invalid use of expression. A Host Class Definition does not produce a value', :line => 1, :pos => 6))
1504
- expect(Puppet::Util::Log).to receive(:create).with(hash_including(:level => :err, :message => 'Classes, definitions, and nodes may only appear at toplevel or inside other classes', :line => 1, :pos => 6))
1505
- expect { parser.parse_string("$a = class foo { }", nil) }.to raise_error(/2 errors/)
1506
- end
1507
-
1508
- it 'for unclosed quote with indication of start position of string' do
1509
- source = <<-SOURCE.gsub(/^ {6}/,'')
1510
- $a = "xx
1511
- yyy
1512
- SOURCE
1513
- # first char after opening " reported as being in error.
1514
- expect { parser.parse_string(source) }.to raise_error(/Unclosed quote after '"' followed by 'xx\\nyy\.\.\.' \(line: 1, column: 7\)/)
1515
- end
1516
-
1517
- it 'for multiple errors with a summary exception' do
1518
- expect(Puppet::Util::Log).to receive(:create).with(hash_including(:level => :err, :message => 'Invalid use of expression. A Node Definition does not produce a value', :line => 1, :pos => 6))
1519
- expect(Puppet::Util::Log).to receive(:create).with(hash_including(:level => :err, :message => 'Classes, definitions, and nodes may only appear at toplevel or inside other classes', :line => 1, :pos => 6))
1520
- expect { parser.parse_string("$a = node x { }",nil) }.to raise_error(/2 errors/)
1521
- end
1522
-
1523
- it 'for a bad hostname' do
1524
- expect {
1525
- parser.parse_string("node 'macbook+owned+by+name' { }", nil)
1526
- }.to raise_error(/The hostname 'macbook\+owned\+by\+name' contains illegal characters.* \(line: 1, column: 6\)/)
1527
- end
1528
-
1529
- it 'for a hostname with interpolation' do
1530
- source = <<-SOURCE.gsub(/^ {6}/,'')
1531
- $pname = 'fred'
1532
- node "macbook-owned-by$pname" { }
1533
- SOURCE
1534
- expect {
1535
- parser.parse_string(source, nil)
1536
- }.to raise_error(/An interpolated expression is not allowed in a hostname of a node \(line: 2, column: 23\)/)
1537
- end
1538
-
1539
- end
1540
-
1541
- context 'does not leak variables' do
1542
- it 'local variables are gone when lambda ends' do
1543
- source = <<-SOURCE
1544
- [1,2,3].each |$x| { $y = $x}
1545
- $a = $y
1546
- SOURCE
1547
- expect do
1548
- parser.evaluate_string(scope, source)
1549
- end.to raise_error(/Unknown variable: 'y'/)
1550
- end
1551
-
1552
- it 'lambda parameters are gone when lambda ends' do
1553
- source = <<-SOURCE
1554
- [1,2,3].each |$x| { $y = $x}
1555
- $a = $x
1556
- SOURCE
1557
- expect do
1558
- parser.evaluate_string(scope, source)
1559
- end.to raise_error(/Unknown variable: 'x'/)
1560
- end
1561
-
1562
- it 'does not leak match variables' do
1563
- source = <<-SOURCE
1564
- if 'xyz' =~ /(x)(y)(z)/ { notice $2 }
1565
- case 'abc' {
1566
- /(a)(b)(c)/ : { $x = $2 }
1567
- }
1568
- "-$x-$2-"
1569
- SOURCE
1570
- expect(parser.evaluate_string(scope, source)).to eq('-b--')
1571
- end
1572
- end
1573
-
1574
- context 'with --tasks' do
1575
- before(:each) do
1576
- Puppet[:tasks] = true
1577
- end
1578
-
1579
- context 'when evaluating apply' do
1580
- let(:applicator) { double('apply_executor') }
1581
-
1582
- it 'invokes an apply_executor' do
1583
- expect(applicator).to receive(:apply).with(
1584
- ['arg1', 'arg2'],
1585
- instance_of(Puppet::Pops::Model::BlockExpression),
1586
- scope).and_return(:result)
1587
- src = "apply('arg1', 'arg2') { }"
1588
- Puppet.override(apply_executor: applicator) do
1589
- expect(parser.evaluate_string(scope, src)).to eq(:result)
1590
- end
1591
- end
1592
-
1593
- it 'passes the declared ast' do
1594
- expect(applicator).to receive(:apply).with(
1595
- [['arg1']],
1596
- instance_of(Puppet::Pops::Model::ResourceExpression),
1597
- scope).and_return(:result)
1598
- src = "apply(['arg1']) { notify { 'hello': } }"
1599
- Puppet.override(apply_executor: applicator) do
1600
- expect(parser.evaluate_string(scope, src)).to eq(:result)
1601
- end
1602
- end
1603
-
1604
- it 'returns a BlockExpression with an empty apply block' do
1605
- expect(applicator).to receive(:apply).with(
1606
- [['arg1']],
1607
- instance_of(Puppet::Pops::Model::BlockExpression),
1608
- scope).and_return(:result)
1609
- src = "apply(['arg1']) { }"
1610
- Puppet.override(apply_executor: applicator) do
1611
- expect(parser.evaluate_string(scope, src)).to eq(:result)
1612
- end
1613
- end
1614
- end
1615
- end
1616
-
1617
- matcher :have_relationship do |expected|
1618
- match do |compiler|
1619
- op_name = {'->' => :relationship, '~>' => :subscription}
1620
- compiler.relationships.any? do | relation |
1621
- relation.source.type == expected[0] &&
1622
- relation.source.title == expected[1] &&
1623
- relation.type == op_name[expected[2]] &&
1624
- relation.target.type == expected[3] &&
1625
- relation.target.title == expected[4]
1626
- end
1627
- end
1628
-
1629
- failure_message do |actual|
1630
- "Relationship #{expected[0]}[#{expected[1]}] #{expected[2]} #{expected[3]}[#{expected[4]}] but was unknown to compiler"
1631
- end
1632
- end
1633
-
1634
- def collect_notices(code)
1635
- Puppet::Util::Log.with_destination(Puppet::Test::LogCollector.new(logs)) do
1636
- parser.evaluate_string(scope, code, __FILE__)
1637
- end
1638
- end
1639
- end