puppet 4.5.3-universal-darwin → 4.6.1-universal-darwin

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puppet might be problematic. Click here for more details.

Files changed (422) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +10 -1
  3. data/ext/debian/control +2 -4
  4. data/ext/project_data.yaml +4 -4
  5. data/install.rb +6 -2
  6. data/lib/puppet.rb +3 -1
  7. data/lib/puppet/agent/locker.rb +1 -1
  8. data/lib/puppet/application.rb +6 -4
  9. data/lib/puppet/application/agent.rb +2 -1
  10. data/lib/puppet/application/cert.rb +35 -2
  11. data/lib/puppet/application/device.rb +1 -1
  12. data/lib/puppet/application/generate.rb +5 -0
  13. data/lib/puppet/application/lookup.rb +3 -3
  14. data/lib/puppet/application_support.rb +1 -1
  15. data/lib/puppet/compilable_resource_type.rb +15 -0
  16. data/lib/puppet/configurer.rb +67 -10
  17. data/lib/puppet/configurer/plugin_handler.rb +2 -4
  18. data/lib/puppet/data_providers/hiera_config.rb +1 -1
  19. data/lib/puppet/defaults.rb +34 -7
  20. data/lib/puppet/environments.rb +4 -2
  21. data/lib/puppet/error.rb +1 -1
  22. data/lib/puppet/external/dot.rb +1 -1
  23. data/lib/puppet/face/ca.rb +4 -1
  24. data/lib/puppet/face/certificate.rb +7 -1
  25. data/lib/puppet/face/epp.rb +5 -5
  26. data/lib/puppet/face/generate.rb +64 -0
  27. data/lib/puppet/face/help.rb +19 -13
  28. data/lib/puppet/face/man.rb +1 -1
  29. data/lib/puppet/feature/external_facts.rb +1 -1
  30. data/lib/puppet/file_system.rb +16 -0
  31. data/lib/puppet/file_system/file_impl.rb +5 -0
  32. data/lib/puppet/file_system/memory_impl.rb +4 -0
  33. data/lib/puppet/file_system/path_pattern.rb +1 -0
  34. data/lib/puppet/file_system/windows.rb +19 -0
  35. data/lib/puppet/functions.rb +3 -5
  36. data/lib/puppet/functions/assert_type.rb +1 -1
  37. data/lib/puppet/functions/defined.rb +7 -5
  38. data/lib/puppet/functions/dig.rb +2 -18
  39. data/lib/puppet/functions/hiera.rb +1 -1
  40. data/lib/puppet/functions/lest.rb +1 -37
  41. data/lib/puppet/functions/new.rb +2 -473
  42. data/lib/puppet/functions/reverse_each.rb +2 -59
  43. data/lib/puppet/functions/scanf.rb +4 -4
  44. data/lib/puppet/functions/step.rb +1 -63
  45. data/lib/puppet/functions/then.rb +1 -61
  46. data/lib/puppet/functions/type.rb +1 -40
  47. data/lib/puppet/functions/unwrap.rb +40 -0
  48. data/lib/puppet/generate/models/type/property.rb +70 -0
  49. data/lib/puppet/generate/models/type/type.rb +57 -0
  50. data/lib/puppet/generate/templates/type/pcore.erb +41 -0
  51. data/lib/puppet/generate/type.rb +239 -0
  52. data/lib/puppet/graph/simple_graph.rb +2 -6
  53. data/lib/puppet/indirector/catalog/static_compiler.rb +5 -2
  54. data/lib/puppet/indirector/facts/facter.rb +1 -1
  55. data/lib/puppet/indirector/key/ca.rb +2 -2
  56. data/lib/puppet/indirector/request.rb +25 -4
  57. data/lib/puppet/indirector/rest.rb +73 -3
  58. data/lib/puppet/info_service/class_information_service.rb +1 -2
  59. data/lib/puppet/interface/documentation.rb +1 -1
  60. data/lib/puppet/loaders.rb +2 -0
  61. data/lib/puppet/metatype/manager.rb +6 -6
  62. data/lib/puppet/module.rb +8 -1
  63. data/lib/puppet/module_tool.rb +2 -2
  64. data/lib/puppet/module_tool/checksums.rb +1 -1
  65. data/lib/puppet/module_tool/errors/installer.rb +2 -2
  66. data/lib/puppet/module_tool/metadata.rb +1 -1
  67. data/lib/puppet/network/http/api/indirected_routes.rb +23 -32
  68. data/lib/puppet/network/http/rack/rest.rb +15 -1
  69. data/lib/puppet/network/rights.rb +1 -11
  70. data/lib/puppet/node/environment.rb +7 -3
  71. data/lib/puppet/node/facts.rb +1 -1
  72. data/lib/puppet/parameter.rb +23 -3
  73. data/lib/puppet/parameter/boolean.rb +1 -1
  74. data/lib/puppet/parameter/value.rb +1 -1
  75. data/lib/puppet/parser.rb +0 -1
  76. data/lib/puppet/parser/ast/pops_bridge.rb +1 -1
  77. data/lib/puppet/parser/ast/resource.rb +5 -0
  78. data/lib/puppet/parser/ast/resource_instance.rb +5 -1
  79. data/lib/puppet/parser/ast/resourceparam.rb +5 -0
  80. data/lib/puppet/parser/compiler.rb +14 -17
  81. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +1 -1
  82. data/lib/puppet/parser/environment_compiler.rb +10 -0
  83. data/lib/puppet/parser/functions/create_resources.rb +39 -24
  84. data/lib/puppet/parser/functions/defined.rb +2 -26
  85. data/lib/puppet/parser/functions/dig.rb +29 -0
  86. data/lib/puppet/parser/functions/lest.rb +49 -0
  87. data/lib/puppet/parser/functions/new.rb +530 -0
  88. data/lib/puppet/parser/functions/require.rb +1 -1
  89. data/lib/puppet/parser/functions/reverse_each.rb +83 -0
  90. data/lib/puppet/parser/functions/scanf.rb +4 -4
  91. data/lib/puppet/parser/functions/step.rb +84 -0
  92. data/lib/puppet/parser/functions/then.rb +73 -0
  93. data/lib/puppet/parser/functions/type.rb +53 -0
  94. data/lib/puppet/parser/resource.rb +16 -7
  95. data/lib/puppet/parser/scope.rb +36 -28
  96. data/lib/puppet/parser/type_loader.rb +1 -1
  97. data/lib/puppet/plugins/data_providers/data_provider.rb +1 -1
  98. data/lib/puppet/pops.rb +13 -0
  99. data/lib/puppet/pops/adapters.rb +49 -49
  100. data/lib/puppet/pops/binder/scheme_handler/confdir_scheme.rb +1 -1
  101. data/lib/puppet/pops/evaluator/access_operator.rb +39 -2
  102. data/lib/puppet/pops/evaluator/closure.rb +39 -13
  103. data/lib/puppet/pops/evaluator/collector_transformer.rb +10 -1
  104. data/lib/puppet/pops/evaluator/evaluator_impl.rb +16 -11
  105. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -1
  106. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +0 -1
  107. data/lib/puppet/pops/evaluator/literal_evaluator.rb +0 -1
  108. data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -2
  109. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +119 -0
  110. data/lib/puppet/pops/evaluator/runtime3_support.rb +19 -45
  111. data/lib/puppet/pops/functions/function.rb +5 -0
  112. data/lib/puppet/pops/issues.rb +1 -1
  113. data/lib/puppet/pops/label_provider.rb +2 -2
  114. data/lib/puppet/pops/loader/base_loader.rb +12 -15
  115. data/lib/puppet/pops/loader/loader.rb +15 -50
  116. data/lib/puppet/pops/loader/loader_paths.rb +28 -2
  117. data/lib/puppet/pops/loader/module_loaders.rb +16 -1
  118. data/lib/puppet/pops/loader/null_loader.rb +17 -1
  119. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +12 -11
  120. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +80 -0
  121. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +2 -3
  122. data/lib/puppet/pops/loader/runtime3_type_loader.rb +52 -13
  123. data/lib/puppet/pops/loader/static_loader.rb +55 -0
  124. data/lib/puppet/pops/loader/type_definition_instantiator.rb +30 -14
  125. data/lib/puppet/pops/loader/typed_name.rb +50 -0
  126. data/lib/puppet/pops/loaders.rb +64 -19
  127. data/lib/puppet/pops/merge_strategy.rb +7 -7
  128. data/lib/puppet/pops/migration/migration_checker.rb +4 -0
  129. data/lib/puppet/pops/model/model_label_provider.rb +2 -0
  130. data/lib/puppet/pops/parser/egrammar.ra +8 -5
  131. data/lib/puppet/pops/parser/eparser.rb +1550 -1498
  132. data/lib/puppet/pops/parser/evaluating_parser.rb +1 -1
  133. data/lib/puppet/pops/parser/interpolation_support.rb +7 -0
  134. data/lib/puppet/pops/parser/lexer2.rb +14 -1
  135. data/lib/puppet/pops/parser/locator.rb +30 -1
  136. data/lib/puppet/pops/parser/parser_support.rb +0 -3
  137. data/lib/puppet/pops/parser/slurp_support.rb +3 -3
  138. data/lib/puppet/pops/patterns.rb +9 -1
  139. data/lib/puppet/pops/pcore.rb +67 -11
  140. data/lib/puppet/pops/puppet_stack.rb +43 -0
  141. data/lib/puppet/pops/resource/param.rb +51 -0
  142. data/lib/puppet/pops/resource/resource_type_impl.rb +301 -0
  143. data/lib/puppet/pops/resource/resource_type_set.pcore +21 -0
  144. data/lib/puppet/pops/serialization.rb +17 -0
  145. data/lib/puppet/pops/serialization/abstract_reader.rb +149 -0
  146. data/lib/puppet/pops/serialization/abstract_writer.rb +179 -0
  147. data/lib/puppet/pops/serialization/deserializer.rb +60 -0
  148. data/lib/puppet/pops/serialization/extension.rb +126 -0
  149. data/lib/puppet/pops/serialization/instance_reader.rb +19 -0
  150. data/lib/puppet/pops/serialization/instance_writer.rb +14 -0
  151. data/lib/puppet/pops/serialization/json.rb +247 -0
  152. data/lib/puppet/pops/serialization/object.rb +63 -0
  153. data/lib/puppet/pops/serialization/rgen.rb +151 -0
  154. data/lib/puppet/pops/serialization/serializer.rb +91 -0
  155. data/lib/puppet/pops/serialization/time_factory.rb +66 -0
  156. data/lib/puppet/pops/types/annotatable.rb +36 -0
  157. data/lib/puppet/pops/types/implementation_registry.rb +3 -8
  158. data/lib/puppet/pops/types/p_meta_type.rb +83 -0
  159. data/lib/puppet/pops/types/p_object_type.rb +110 -117
  160. data/lib/puppet/pops/types/p_runtime_type.rb +13 -0
  161. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +23 -0
  162. data/lib/puppet/pops/types/p_sem_ver_type.rb +30 -2
  163. data/lib/puppet/pops/types/p_sensitive_type.rb +69 -0
  164. data/lib/puppet/pops/types/p_type_set_type.rb +361 -0
  165. data/lib/puppet/pops/types/puppet_object.rb +0 -5
  166. data/lib/puppet/pops/types/ruby_generator.rb +9 -2
  167. data/lib/puppet/pops/types/type_calculator.rb +6 -1
  168. data/lib/puppet/pops/types/type_factory.rb +14 -12
  169. data/lib/puppet/pops/types/type_formatter.rb +78 -33
  170. data/lib/puppet/pops/types/type_mismatch_describer.rb +0 -2
  171. data/lib/puppet/pops/types/type_parser.rb +27 -2
  172. data/lib/puppet/pops/types/type_set_reference.rb +59 -0
  173. data/lib/puppet/pops/types/types.rb +366 -13
  174. data/lib/puppet/pops/validation.rb +4 -4
  175. data/lib/puppet/pops/validation/checker4_0.rb +5 -2
  176. data/lib/puppet/pops/visitor.rb +2 -2
  177. data/lib/puppet/property.rb +64 -5
  178. data/lib/puppet/provider.rb +1 -1
  179. data/lib/puppet/provider/aixobject.rb +3 -3
  180. data/lib/puppet/provider/group/aix.rb +4 -4
  181. data/lib/puppet/provider/macauthorization/macauthorization.rb +1 -1
  182. data/lib/puppet/provider/mailalias/aliases.rb +1 -1
  183. data/lib/puppet/provider/mcx/mcxcontent.rb +2 -2
  184. data/lib/puppet/provider/mount/parsed.rb +1 -1
  185. data/lib/puppet/provider/nameservice/directoryservice.rb +5 -5
  186. data/lib/puppet/provider/package/appdmg.rb +3 -3
  187. data/lib/puppet/provider/package/apple.rb +1 -1
  188. data/lib/puppet/provider/package/dnf.rb +5 -0
  189. data/lib/puppet/provider/package/nim.rb +1 -1
  190. data/lib/puppet/provider/package/pacman.rb +2 -2
  191. data/lib/puppet/provider/package/pip.rb +5 -3
  192. data/lib/puppet/provider/package/pip3.rb +1 -1
  193. data/lib/puppet/provider/package/pkg.rb +5 -5
  194. data/lib/puppet/provider/package/pkgdmg.rb +4 -4
  195. data/lib/puppet/provider/package/pkgin.rb +1 -1
  196. data/lib/puppet/provider/package/pkgutil.rb +1 -1
  197. data/lib/puppet/provider/package/portage.rb +48 -8
  198. data/lib/puppet/provider/package/sun.rb +1 -1
  199. data/lib/puppet/provider/package/tdnf.rb +28 -0
  200. data/lib/puppet/provider/package/yum.rb +22 -4
  201. data/lib/puppet/provider/parsedfile.rb +2 -2
  202. data/lib/puppet/provider/service/base.rb +1 -1
  203. data/lib/puppet/provider/service/bsd.rb +1 -1
  204. data/lib/puppet/provider/service/daemontools.rb +2 -2
  205. data/lib/puppet/provider/service/debian.rb +3 -3
  206. data/lib/puppet/provider/service/init.rb +5 -3
  207. data/lib/puppet/provider/service/launchd.rb +16 -2
  208. data/lib/puppet/provider/service/runit.rb +1 -1
  209. data/lib/puppet/provider/service/smf.rb +8 -1
  210. data/lib/puppet/provider/service/systemd.rb +39 -6
  211. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -1
  212. data/lib/puppet/provider/user/aix.rb +3 -2
  213. data/lib/puppet/provider/user/directoryservice.rb +4 -3
  214. data/lib/puppet/provider/user/hpux.rb +1 -1
  215. data/lib/puppet/provider/user/user_role_add.rb +1 -1
  216. data/lib/puppet/provider/user/windows_adsi.rb +3 -0
  217. data/lib/puppet/provider/zfs/zfs.rb +1 -1
  218. data/lib/puppet/reference/type.rb +1 -1
  219. data/lib/puppet/resource.rb +33 -7
  220. data/lib/puppet/resource/capability_finder.rb +74 -54
  221. data/lib/puppet/resource/status.rb +11 -2
  222. data/lib/puppet/settings.rb +17 -6
  223. data/lib/puppet/settings/environment_conf.rb +1 -1
  224. data/lib/puppet/settings/server_list_setting.rb +20 -0
  225. data/lib/puppet/ssl/certificate_authority.rb +32 -9
  226. data/lib/puppet/ssl/certificate_authority/interface.rb +164 -24
  227. data/lib/puppet/ssl/host.rb +3 -3
  228. data/lib/puppet/ssl/oids.rb +10 -0
  229. data/lib/puppet/ssl/validator/default_validator.rb +2 -2
  230. data/lib/puppet/test/test_helper.rb +2 -2
  231. data/lib/puppet/transaction.rb +12 -0
  232. data/lib/puppet/transaction/additional_resource_generator.rb +1 -1
  233. data/lib/puppet/transaction/event.rb +29 -2
  234. data/lib/puppet/transaction/event_manager.rb +1 -1
  235. data/lib/puppet/transaction/persistence.rb +84 -0
  236. data/lib/puppet/transaction/report.rb +49 -2
  237. data/lib/puppet/transaction/resource_harness.rb +98 -18
  238. data/lib/puppet/type.rb +63 -21
  239. data/lib/puppet/type/augeas.rb +3 -3
  240. data/lib/puppet/type/cron.rb +1 -1
  241. data/lib/puppet/type/file.rb +39 -2
  242. data/lib/puppet/type/file/data_sync.rb +13 -5
  243. data/lib/puppet/type/host.rb +1 -1
  244. data/lib/puppet/type/mount.rb +2 -6
  245. data/lib/puppet/type/notify.rb +1 -1
  246. data/lib/puppet/type/package.rb +1 -1
  247. data/lib/puppet/type/resources.rb +1 -1
  248. data/lib/puppet/type/scheduled_task.rb +1 -1
  249. data/lib/puppet/type/ssh_authorized_key.rb +2 -2
  250. data/lib/puppet/type/tidy.rb +1 -1
  251. data/lib/puppet/type/yumrepo.rb +3 -3
  252. data/lib/puppet/type/zone.rb +1 -1
  253. data/lib/puppet/util.rb +2 -2
  254. data/lib/puppet/util/classgen.rb +1 -1
  255. data/lib/puppet/util/command_line.rb +6 -2
  256. data/lib/puppet/util/command_line/trollop.rb +1 -1
  257. data/lib/puppet/util/execution.rb +2 -2
  258. data/lib/puppet/util/http_proxy.rb +1 -1
  259. data/lib/puppet/util/inifile.rb +1 -1
  260. data/lib/puppet/util/instance_loader.rb +1 -1
  261. data/lib/puppet/util/logging.rb +1 -1
  262. data/lib/puppet/util/multi_match.rb +1 -1
  263. data/lib/puppet/util/plist.rb +15 -5
  264. data/lib/puppet/util/profiler.rb +1 -1
  265. data/lib/puppet/util/profiler/around_profiler.rb +1 -1
  266. data/lib/puppet/util/psych_support.rb +1 -1
  267. data/lib/puppet/util/rdoc.rb +2 -2
  268. data/lib/puppet/util/rubygems.rb +1 -1
  269. data/lib/puppet/util/watcher/periodic_watcher.rb +2 -2
  270. data/lib/puppet/util/windows/access_control_entry.rb +1 -1
  271. data/lib/puppet/util/windows/adsi.rb +30 -8
  272. data/lib/puppet/util/windows/api_types.rb +1 -1
  273. data/lib/puppet/util/windows/file.rb +59 -0
  274. data/lib/puppet/util/windows/process.rb +10 -0
  275. data/lib/puppet/util/windows/security.rb +1 -1
  276. data/lib/puppet/util/windows/user.rb +22 -4
  277. data/lib/puppet/util/yaml.rb +15 -3
  278. data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +1 -1
  279. data/lib/puppet/vendor/rgen_patch.rb +1 -1
  280. data/lib/puppet/version.rb +2 -2
  281. data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +10 -0
  282. data/spec/integration/agent/logging_spec.rb +15 -14
  283. data/spec/integration/application/apply_spec.rb +1 -0
  284. data/spec/integration/directory_environments_spec.rb +16 -0
  285. data/spec/integration/environments/settings_spec.rb +32 -4
  286. data/spec/integration/faces/documentation_spec.rb +1 -1
  287. data/spec/integration/network/http/api/indirected_routes_spec.rb +33 -0
  288. data/spec/integration/node/environment_spec.rb +21 -0
  289. data/spec/integration/parser/collection_spec.rb +10 -0
  290. data/spec/integration/parser/compiler_spec.rb +76 -840
  291. data/spec/integration/parser/functions/require_spec.rb +3 -3
  292. data/spec/integration/parser/parameter_defaults_spec.rb +6 -2
  293. data/spec/integration/parser/pcore_resource_spec.rb +208 -0
  294. data/spec/integration/parser/resource_expressions_spec.rb +4 -2
  295. data/spec/integration/provider/yumrepo_spec.rb +4 -1
  296. data/spec/integration/transaction/report_spec.rb +666 -0
  297. data/spec/integration/type/file_spec.rb +11 -12
  298. data/spec/integration/util/windows/adsi_spec.rb +99 -0
  299. data/spec/integration/util/windows/principal_spec.rb +109 -60
  300. data/spec/integration/util/windows/process_spec.rb +4 -2
  301. data/spec/integration/util/windows/security_spec.rb +34 -8
  302. data/spec/integration/util/windows/user_spec.rb +26 -4
  303. data/spec/lib/puppet_spec/files.rb +2 -2
  304. data/spec/lib/puppet_spec/network.rb +12 -8
  305. data/spec/shared_examples/rhel_package_provider.rb +341 -0
  306. data/spec/spec_helper.rb +8 -2
  307. data/spec/unit/application/cert_spec.rb +20 -0
  308. data/spec/unit/configurer/plugin_handler_spec.rb +0 -26
  309. data/spec/unit/configurer_spec.rb +46 -0
  310. data/spec/unit/defaults_spec.rb +14 -0
  311. data/spec/unit/face/generate_spec.rb +230 -0
  312. data/spec/unit/face/help_spec.rb +53 -0
  313. data/spec/unit/face/parser_spec.rb +6 -0
  314. data/spec/unit/face/plugin_spec.rb +0 -4
  315. data/spec/unit/file_system_spec.rb +85 -0
  316. data/spec/unit/functions/lookup_spec.rb +4 -4
  317. data/spec/unit/functions/match_spec.rb +2 -2
  318. data/spec/unit/functions/regsubst_spec.rb +1 -1
  319. data/spec/unit/functions/split_spec.rb +1 -1
  320. data/spec/unit/functions/unwrap_spec.rb +29 -0
  321. data/spec/unit/functions/versioncmp_spec.rb +1 -1
  322. data/spec/unit/functions4_spec.rb +8 -8
  323. data/spec/unit/indirector/facts/facter_spec.rb +1 -9
  324. data/spec/unit/indirector/rest_spec.rb +95 -9
  325. data/spec/unit/module_spec.rb +43 -7
  326. data/spec/unit/module_tool/applications/installer_spec.rb +10 -1
  327. data/spec/unit/module_tool/applications/unpacker_spec.rb +2 -1
  328. data/spec/unit/module_tool/applications/upgrader_spec.rb +8 -0
  329. data/spec/unit/module_tool/tar/mini_spec.rb +3 -3
  330. data/spec/unit/network/http/api/indirected_routes_spec.rb +49 -58
  331. data/spec/unit/network/http/api/master/v3_spec.rb +7 -4
  332. data/spec/unit/network/rights_spec.rb +1 -1
  333. data/spec/unit/parameter_spec.rb +11 -0
  334. data/spec/unit/parser/compiler_spec.rb +19 -33
  335. data/spec/unit/{appmgmt_spec.rb → parser/environment_compiler_spec.rb} +12 -1
  336. data/spec/unit/parser/functions/create_resources_spec.rb +76 -4
  337. data/spec/unit/parser/functions/require_spec.rb +2 -2
  338. data/spec/unit/parser/resource_spec.rb +21 -11
  339. data/spec/unit/parser/scope_spec.rb +1 -5
  340. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +1 -1
  341. data/spec/unit/pops/loaders/dependency_loader_spec.rb +1 -1
  342. data/spec/unit/pops/loaders/loader_paths_spec.rb +1 -1
  343. data/spec/unit/pops/loaders/loaders_spec.rb +63 -5
  344. data/spec/unit/pops/loaders/module_loaders_spec.rb +2 -2
  345. data/spec/unit/pops/loaders/static_loader_spec.rb +1 -1
  346. data/spec/unit/pops/parser/lexer2_spec.rb +27 -3
  347. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +8 -0
  348. data/spec/unit/pops/parser/parse_calls_spec.rb +9 -0
  349. data/spec/unit/pops/puppet_stack_spec.rb +79 -0
  350. data/spec/unit/pops/resource/resource_type_impl_spec.rb +37 -0
  351. data/spec/unit/pops/serialization/packer_spec.rb +153 -0
  352. data/spec/unit/pops/serialization/rgen_spec.rb +88 -0
  353. data/spec/unit/pops/serialization/serialization_spec.rb +228 -0
  354. data/spec/unit/pops/types/p_object_type_spec.rb +44 -2
  355. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +42 -0
  356. data/spec/unit/pops/types/p_sensitive_type_spec.rb +139 -0
  357. data/spec/unit/pops/types/p_type_set_type_spec.rb +424 -0
  358. data/spec/unit/pops/types/ruby_generator_spec.rb +497 -181
  359. data/spec/unit/pops/types/type_calculator_spec.rb +10 -4
  360. data/spec/unit/pops/types/type_formatter_spec.rb +1 -1
  361. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +2 -2
  362. data/spec/unit/pops/types/type_parser_spec.rb +1 -1
  363. data/spec/unit/pops/types/types_spec.rb +1 -1
  364. data/spec/unit/pops/validator/validator_spec.rb +18 -1
  365. data/spec/unit/property_spec.rb +48 -11
  366. data/spec/unit/provider/group/windows_adsi_spec.rb +11 -1
  367. data/spec/unit/provider/package/dnf_spec.rb +1 -99
  368. data/spec/unit/provider/package/pacman_spec.rb +4 -4
  369. data/spec/unit/provider/package/pip_spec.rb +14 -0
  370. data/spec/unit/provider/package/pkg_spec.rb +6 -0
  371. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -3
  372. data/spec/unit/provider/package/portage_spec.rb +64 -8
  373. data/spec/unit/provider/package/tdnf_spec.rb +18 -0
  374. data/spec/unit/provider/package/windows/package_spec.rb +4 -1
  375. data/spec/unit/provider/package/windows_spec.rb +8 -2
  376. data/spec/unit/provider/package/yum_spec.rb +6 -377
  377. data/spec/unit/provider/service/base_spec.rb +6 -0
  378. data/spec/unit/provider/service/debian_spec.rb +16 -7
  379. data/spec/unit/provider/service/gentoo_spec.rb +6 -0
  380. data/spec/unit/provider/service/init_spec.rb +7 -0
  381. data/spec/unit/provider/service/launchd_spec.rb +35 -4
  382. data/spec/unit/provider/service/openrc_spec.rb +6 -0
  383. data/spec/unit/provider/service/smf_spec.rb +31 -6
  384. data/spec/unit/provider/service/src_spec.rb +6 -0
  385. data/spec/unit/provider/service/systemd_spec.rb +70 -20
  386. data/spec/unit/provider/service/upstart_spec.rb +6 -0
  387. data/spec/unit/provider/user/aix_spec.rb +7 -0
  388. data/spec/unit/provider/user/directoryservice_spec.rb +30 -1
  389. data/spec/unit/provider/user/windows_adsi_spec.rb +19 -0
  390. data/spec/unit/resource/capability_finder_spec.rb +51 -3
  391. data/spec/unit/resource/catalog_spec.rb +5 -0
  392. data/spec/unit/resource/type_spec.rb +2 -2
  393. data/spec/unit/resource_spec.rb +19 -0
  394. data/spec/unit/settings_spec.rb +13 -0
  395. data/spec/unit/ssl/certificate_authority/interface_spec.rb +176 -10
  396. data/spec/unit/ssl/certificate_authority_spec.rb +63 -22
  397. data/spec/unit/ssl/host_spec.rb +1 -1
  398. data/spec/unit/ssl/oids_spec.rb +24 -21
  399. data/spec/unit/transaction/event_spec.rb +3 -1
  400. data/spec/unit/transaction/persistence_spec.rb +173 -0
  401. data/spec/unit/transaction/report_spec.rb +64 -1
  402. data/spec/unit/transaction/resource_harness_spec.rb +91 -0
  403. data/spec/unit/type/file/content_spec.rb +47 -15
  404. data/spec/unit/type/file_spec.rb +28 -0
  405. data/spec/unit/type/mount_spec.rb +5 -12
  406. data/spec/unit/type/yumrepo_spec.rb +1 -5
  407. data/spec/unit/type_spec.rb +32 -0
  408. data/spec/unit/util/command_line_spec.rb +11 -0
  409. data/spec/unit/util/execution_spec.rb +1 -1
  410. data/spec/unit/util/plist_spec.rb +16 -3
  411. data/spec/unit/util/storage_spec.rb +4 -1
  412. data/spec/unit/util/windows/adsi_spec.rb +23 -2
  413. data/spec/unit/util/windows/file_spec.rb +56 -1
  414. data/spec/unit/util/windows/sid_spec.rb +31 -7
  415. data/spec/unit/util/yaml_spec.rb +12 -0
  416. data/spec/unit/util_spec.rb +87 -20
  417. metadata +89 -34
  418. data/ext/puppetlisten/puppetlisten.rb +0 -77
  419. data/ext/puppetlisten/puppetrun.rb +0 -38
  420. data/lib/puppet/resource/type_collection_helper.rb +0 -7
  421. data/spec/unit/parser/functions/defined_spec.rb +0 -120
  422. data/spec/unit/resource/type_collection_helper_spec.rb +0 -24
@@ -47,6 +47,18 @@ describe Puppet::Util::Yaml do
47
47
  end
48
48
  end
49
49
 
50
+ it "should allow one to strip ruby tags that would otherwise not parse" do
51
+ write_file(filename, "---\nweirddata: !ruby/hash:Not::A::Valid::Class {}")
52
+
53
+ expect(Puppet::Util::Yaml.load_file(filename, {}, true)).to eq({"weirddata" => {}})
54
+ end
55
+
56
+ it "should not strip non-ruby tags" do
57
+ write_file(filename, "---\nweirddata: !binary |-\n e21kNX04MTE4ZGY2NmM5MTc3OTg4ZWE4Y2JiOWEzMjMyNzFkYg==")
58
+
59
+ expect(Puppet::Util::Yaml.load_file(filename, {}, true)).to eq({"weirddata" => "{md5}8118df66c9177988ea8cbb9a323271db"})
60
+ end
61
+
50
62
  def write_file(name, contents)
51
63
  File.open(name, "w") do |fh|
52
64
  fh.write(contents)
@@ -117,37 +117,104 @@ describe Puppet::Util do
117
117
  end
118
118
  end
119
119
 
120
- it "works around Ruby bug 8822 (which fails to preserve UTF-8 properly when accessing ENV)" do
120
+
121
+ def withenv_utf8(&block)
121
122
  env_var_name = SecureRandom.uuid
122
123
  utf_8_bytes = [225, 154, 160] # rune ᚠ
123
- utf_8_str = env_var_name + utf_8_bytes.pack('c*').force_encoding(Encoding::UTF_8)
124
124
 
125
- Puppet::Util.withenv({utf_8_str => utf_8_str}, :windows) do
126
- # the true Windows environemnt APIs see the variables correctly
127
- expect(process.get_environment_strings[utf_8_str]).to eq(utf_8_str)
125
+ utf_8_key = env_var_name + utf_8_bytes.pack('c*').force_encoding(Encoding::UTF_8)
126
+ utf_8_value = utf_8_key + 'value'
127
+ codepage_key = utf_8_key.dup.force_encoding(Encoding.default_external)
128
+
129
+ Puppet::Util.withenv({utf_8_key => utf_8_value}, :windows) do
130
+ # the true Windows environment APIs see the variables correctly
131
+ expect(process.get_environment_strings[utf_8_key]).to eq(utf_8_value)
132
+
133
+ # the string contain the same bytes, but have different Ruby metadata
134
+ expect(utf_8_key.bytes.to_a).to eq(codepage_key.bytes.to_a)
135
+
136
+ yield utf_8_key, utf_8_value, codepage_key
137
+ end
138
+
139
+ # real environment shouldn't have env var anymore
140
+ expect(process.get_environment_strings[utf_8_key]).to eq(nil)
141
+ end
142
+
143
+ # document buggy Ruby behavior here for https://bugs.ruby-lang.org/issues/8822
144
+ # Ruby retrieves / stores ENV names in the current codepage
145
+ # when these tests no longer pass, Ruby has fixed its bugs and workarounds can be removed
146
+
128
147
 
129
- # document buggy Ruby behavior here for https://bugs.ruby-lang.org/issues/8822
130
- # Ruby retrieves / stores ENV names in the current codepage
131
- # when these tests no longer pass, Ruby has fixed its bugs and workarounds can be removed
132
- # interestingly we would expect some of these tests to fail when codepage is 65001
133
- # but instead the env values are in Encoding::ASCII_8BIT!
148
+ # interestingly we would expect some of these tests to fail when codepage is 65001
149
+ # but instead the env values are in Encoding::ASCII_8BIT!
150
+ it "works around Ruby bug 8822 (which fails to preserve UTF-8 properly when accessing ENV) (Ruby <= 2.1) ",
151
+ :if => ((RUBY_VERSION =~ /^(1\.|2\.0\.|2\.1\.)/) && Puppet.features.microsoft_windows?) do
134
152
 
153
+ withenv_utf8 do |utf_8_key, utf_8_value, codepage_key|
135
154
  # both a string in UTF-8 and current codepage are deemed valid keys to the hash
136
- # which in a sane world shouldn't be true
137
- codepage_key = utf_8_str.dup.force_encoding(Encoding.default_external)
155
+ # which is because Ruby compares the BINARY versions of the string, but ignores encoding
138
156
  expect(ENV.key?(codepage_key)).to eq(true)
139
- expect(ENV.key?(utf_8_str)).to eq(true)
140
- # similarly the value stored at the key is in current codepage and won't match UTF-8 value
141
- env_value = ENV[utf_8_str]
142
- expect(env_value).to_not eq(utf_8_str)
157
+ expect(ENV.key?(utf_8_key)).to eq(true)
158
+
159
+ # Ruby's ENV.keys has slightly different behavior than ENV.key?(key)
160
+ # the keys collection in 2.1 has a string with the correct bytes
161
+ # (codepage_key / utf_8_key have same bytes for the sake of searching)
162
+ found = ENV.keys.find { |k| k.bytes == codepage_key.bytes }
163
+ # but the string is actually a binary string
164
+ expect(found.encoding).to eq(Encoding::BINARY)
165
+ # meaning we can't use include? to find it in either UTF-8 or codepage encoding
166
+ expect(ENV.keys.include?(codepage_key)).to eq(false)
167
+ expect(ENV.keys.include?(utf_8_key)).to eq(false)
168
+
169
+ # and can only search with a BINARY encoded string
170
+ expect(ENV.keys.include?(utf_8_key.dup.force_encoding(Encoding::BINARY))).to eq(true)
171
+
172
+ # similarly the value stored at the real key is in current codepage
173
+ # but won't match real UTF-8 value
174
+ env_value = ENV[utf_8_key]
175
+ expect(env_value).to_not eq(utf_8_value)
143
176
  expect(env_value.encoding).to_not eq(Encoding::UTF_8)
177
+
144
178
  # but it can be forced back to UTF-8 to make it match.. ugh
145
- converted_value = ENV[utf_8_str].dup.force_encoding(Encoding::UTF_8)
146
- expect(converted_value).to eq(utf_8_str)
179
+ converted_value = ENV[utf_8_key].dup.force_encoding(Encoding::UTF_8)
180
+ expect(converted_value).to eq(utf_8_value)
147
181
  end
182
+ end
148
183
 
149
- # real environment shouldn't have env var anymore
150
- expect(process.get_environment_strings[utf_8_str]).to eq(nil)
184
+ # but in 2.3, the behavior is correct when external codepage is 65001 / UTF-8
185
+ it "works around Ruby bug 8822 (which fails to preserve UTF-8 properly when accessing ENV) (Ruby >= 2.3.x) ",
186
+ :if => ((match = RUBY_VERSION.match(/^2\.(\d+)\./)) && match.captures[0].to_i >= 3 && Puppet.features.microsoft_windows?) do
187
+
188
+ withenv_utf8 do |utf_8_key, utf_8_value, codepage_key|
189
+ # Ruby 2.3 fixes access by the original UTF-8 key, and behaves differently than 2.1
190
+ # keying by local codepage will work only when the UTF-8 can be converted to local codepage
191
+ # the key selected for this test contains characters unavailable to a local codepage, hence doesn't work
192
+ expect(ENV.key?(codepage_key)).to eq(false)
193
+ expect(ENV.key?(utf_8_key)).to eq(true)
194
+
195
+ # Ruby's ENV.keys has slightly different behavior than ENV.key?(key), and 2.3 differs from 2.1
196
+ # (codepage_key / utf_8_key have same bytes for the sake of searching)
197
+ found = ENV.keys.find { |k| k.bytes == codepage_key.bytes }
198
+
199
+ # the keys collection in 2.3 does not have a string with the correct bytes!
200
+ # a corrupt version of the key exists with the bytes [225, 154, 160] replaced with [63]!
201
+ expect(found).to be_nil
202
+
203
+ # given the key is corrupted, include? cannot be used to find it in either UTF-8 or codepage encoding
204
+ expect(ENV.keys.include?(codepage_key)).to eq(false)
205
+ expect(ENV.keys.include?(utf_8_key)).to eq(false)
206
+
207
+ # The value stored at the UTF-8 key is a corrupted current codepage string and won't match UTF-8 value
208
+ # again the bytes [225, 154, 160] have irreversibly been changed to [63]!
209
+ env_value = ENV[utf_8_key]
210
+ expect(env_value).to_not eq(utf_8_value)
211
+ expect(env_value.encoding).to_not eq(Encoding::UTF_8)
212
+
213
+ # the ENV value returned will be in the local codepage which may or may not be able to be
214
+ # encoded to UTF8. Our test UTF8 data is not convertible to non-Unicode codepages
215
+ converted_value = ENV[utf_8_key].dup.force_encoding(Encoding::UTF_8)
216
+ expect(converted_value).to_not eq(utf_8_value)
217
+ end
151
218
  end
152
219
 
153
220
  it "should preseve existing environment and should not corrupt UTF-8 environment variables" do
metadata CHANGED
@@ -1,22 +1,20 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.5.3
5
- prerelease:
4
+ version: 4.6.1
6
5
  platform: universal-darwin
7
6
  authors:
8
7
  - Puppet Labs
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2016-07-20 00:00:00.000000000 Z
11
+ date: 2016-08-23 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: facter
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - ! '>'
17
+ - - '>'
20
18
  - !ruby/object:Gem::Version
21
19
  version: '2.0'
22
20
  - - <
@@ -25,9 +23,8 @@ dependencies:
25
23
  type: :runtime
26
24
  prerelease: false
27
25
  version_requirements: !ruby/object:Gem::Requirement
28
- none: false
29
26
  requirements:
30
- - - ! '>'
27
+ - - '>'
31
28
  - !ruby/object:Gem::Version
32
29
  version: '2.0'
33
30
  - - <
@@ -36,9 +33,8 @@ dependencies:
36
33
  - !ruby/object:Gem::Dependency
37
34
  name: hiera
38
35
  requirement: !ruby/object:Gem::Requirement
39
- none: false
40
36
  requirements:
41
- - - ! '>='
37
+ - - '>='
42
38
  - !ruby/object:Gem::Version
43
39
  version: '2.0'
44
40
  - - <
@@ -47,9 +43,8 @@ dependencies:
47
43
  type: :runtime
48
44
  prerelease: false
49
45
  version_requirements: !ruby/object:Gem::Requirement
50
- none: false
51
46
  requirements:
52
- - - ! '>='
47
+ - - '>='
53
48
  - !ruby/object:Gem::Version
54
49
  version: '2.0'
55
50
  - - <
@@ -58,23 +53,20 @@ dependencies:
58
53
  - !ruby/object:Gem::Dependency
59
54
  name: json_pure
60
55
  requirement: !ruby/object:Gem::Requirement
61
- none: false
62
56
  requirements:
63
- - - ! '>='
57
+ - - ~>
64
58
  - !ruby/object:Gem::Version
65
- version: '0'
59
+ version: '1.8'
66
60
  type: :runtime
67
61
  prerelease: false
68
62
  version_requirements: !ruby/object:Gem::Requirement
69
- none: false
70
63
  requirements:
71
- - - ! '>='
64
+ - - ~>
72
65
  - !ruby/object:Gem::Version
73
- version: '0'
66
+ version: '1.8'
74
67
  - !ruby/object:Gem::Dependency
75
68
  name: CFPropertyList
76
69
  requirement: !ruby/object:Gem::Requirement
77
- none: false
78
70
  requirements:
79
71
  - - ~>
80
72
  - !ruby/object:Gem::Version
@@ -82,7 +74,6 @@ dependencies:
82
74
  type: :runtime
83
75
  prerelease: false
84
76
  version_requirements: !ruby/object:Gem::Requirement
85
- none: false
86
77
  requirements:
87
78
  - - ~>
88
79
  - !ruby/object:Gem::Version
@@ -128,6 +119,7 @@ files:
128
119
  - lib/puppet/application/facts.rb
129
120
  - lib/puppet/application/file.rb
130
121
  - lib/puppet/application/filebucket.rb
122
+ - lib/puppet/application/generate.rb
131
123
  - lib/puppet/application/help.rb
132
124
  - lib/puppet/application/indirection_base.rb
133
125
  - lib/puppet/application/inspect.rb
@@ -146,6 +138,7 @@ files:
146
138
  - lib/puppet/application_support.rb
147
139
  - lib/puppet/bindings.rb
148
140
  - lib/puppet/coercion.rb
141
+ - lib/puppet/compilable_resource_type.rb
149
142
  - lib/puppet/configurer.rb
150
143
  - lib/puppet/configurer/downloader.rb
151
144
  - lib/puppet/configurer/downloader_factory.rb
@@ -204,6 +197,7 @@ files:
204
197
  - lib/puppet/face/file.rb
205
198
  - lib/puppet/face/file/download.rb
206
199
  - lib/puppet/face/file/store.rb
200
+ - lib/puppet/face/generate.rb
207
201
  - lib/puppet/face/help.rb
208
202
  - lib/puppet/face/help/action.erb
209
203
  - lib/puppet/face/help/face.erb
@@ -298,8 +292,13 @@ files:
298
292
  - lib/puppet/functions/step.rb
299
293
  - lib/puppet/functions/then.rb
300
294
  - lib/puppet/functions/type.rb
295
+ - lib/puppet/functions/unwrap.rb
301
296
  - lib/puppet/functions/versioncmp.rb
302
297
  - lib/puppet/functions/with.rb
298
+ - lib/puppet/generate/models/type/property.rb
299
+ - lib/puppet/generate/models/type/type.rb
300
+ - lib/puppet/generate/templates/type/pcore.erb
301
+ - lib/puppet/generate/type.rb
303
302
  - lib/puppet/graph.rb
304
303
  - lib/puppet/graph/key.rb
305
304
  - lib/puppet/graph/prioritizer.rb
@@ -530,6 +529,7 @@ files:
530
529
  - lib/puppet/parser/functions/contain.rb
531
530
  - lib/puppet/parser/functions/create_resources.rb
532
531
  - lib/puppet/parser/functions/defined.rb
532
+ - lib/puppet/parser/functions/dig.rb
533
533
  - lib/puppet/parser/functions/digest.rb
534
534
  - lib/puppet/parser/functions/each.rb
535
535
  - lib/puppet/parser/functions/epp.rb
@@ -545,23 +545,29 @@ files:
545
545
  - lib/puppet/parser/functions/include.rb
546
546
  - lib/puppet/parser/functions/inline_epp.rb
547
547
  - lib/puppet/parser/functions/inline_template.rb
548
+ - lib/puppet/parser/functions/lest.rb
548
549
  - lib/puppet/parser/functions/lookup.rb
549
550
  - lib/puppet/parser/functions/map.rb
550
551
  - lib/puppet/parser/functions/match.rb
551
552
  - lib/puppet/parser/functions/md5.rb
553
+ - lib/puppet/parser/functions/new.rb
552
554
  - lib/puppet/parser/functions/realize.rb
553
555
  - lib/puppet/parser/functions/reduce.rb
554
556
  - lib/puppet/parser/functions/regsubst.rb
555
557
  - lib/puppet/parser/functions/require.rb
558
+ - lib/puppet/parser/functions/reverse_each.rb
556
559
  - lib/puppet/parser/functions/scanf.rb
557
560
  - lib/puppet/parser/functions/sha1.rb
558
561
  - lib/puppet/parser/functions/shellquote.rb
559
562
  - lib/puppet/parser/functions/slice.rb
560
563
  - lib/puppet/parser/functions/split.rb
561
564
  - lib/puppet/parser/functions/sprintf.rb
565
+ - lib/puppet/parser/functions/step.rb
562
566
  - lib/puppet/parser/functions/tag.rb
563
567
  - lib/puppet/parser/functions/tagged.rb
564
568
  - lib/puppet/parser/functions/template.rb
569
+ - lib/puppet/parser/functions/then.rb
570
+ - lib/puppet/parser/functions/type.rb
565
571
  - lib/puppet/parser/functions/versioncmp.rb
566
572
  - lib/puppet/parser/functions/with.rb
567
573
  - lib/puppet/parser/parser_factory.rb
@@ -623,6 +629,7 @@ files:
623
629
  - lib/puppet/pops/evaluator/puppet_proc.rb
624
630
  - lib/puppet/pops/evaluator/relationship_operator.rb
625
631
  - lib/puppet/pops/evaluator/runtime3_converter.rb
632
+ - lib/puppet/pops/evaluator/runtime3_resource_support.rb
626
633
  - lib/puppet/pops/evaluator/runtime3_support.rb
627
634
  - lib/puppet/pops/functions/dispatch.rb
628
635
  - lib/puppet/pops/functions/dispatcher.rb
@@ -639,11 +646,13 @@ files:
639
646
  - lib/puppet/pops/loader/null_loader.rb
640
647
  - lib/puppet/pops/loader/predefined_loader.rb
641
648
  - lib/puppet/pops/loader/puppet_function_instantiator.rb
649
+ - lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb
642
650
  - lib/puppet/pops/loader/ruby_function_instantiator.rb
643
651
  - lib/puppet/pops/loader/runtime3_type_loader.rb
644
652
  - lib/puppet/pops/loader/simple_environment_loader.rb
645
653
  - lib/puppet/pops/loader/static_loader.rb
646
654
  - lib/puppet/pops/loader/type_definition_instantiator.rb
655
+ - lib/puppet/pops/loader/typed_name.rb
647
656
  - lib/puppet/pops/loader/uri_helper.rb
648
657
  - lib/puppet/pops/loaders.rb
649
658
  - lib/puppet/pops/lookup.rb
@@ -676,15 +685,35 @@ files:
676
685
  - lib/puppet/pops/parser/slurp_support.rb
677
686
  - lib/puppet/pops/patterns.rb
678
687
  - lib/puppet/pops/pcore.rb
688
+ - lib/puppet/pops/puppet_stack.rb
689
+ - lib/puppet/pops/resource/param.rb
690
+ - lib/puppet/pops/resource/resource_type_impl.rb
691
+ - lib/puppet/pops/resource/resource_type_set.pcore
679
692
  - lib/puppet/pops/semantic_error.rb
693
+ - lib/puppet/pops/serialization.rb
694
+ - lib/puppet/pops/serialization/abstract_reader.rb
695
+ - lib/puppet/pops/serialization/abstract_writer.rb
696
+ - lib/puppet/pops/serialization/deserializer.rb
697
+ - lib/puppet/pops/serialization/extension.rb
698
+ - lib/puppet/pops/serialization/instance_reader.rb
699
+ - lib/puppet/pops/serialization/instance_writer.rb
700
+ - lib/puppet/pops/serialization/json.rb
701
+ - lib/puppet/pops/serialization/object.rb
702
+ - lib/puppet/pops/serialization/rgen.rb
703
+ - lib/puppet/pops/serialization/serializer.rb
704
+ - lib/puppet/pops/serialization/time_factory.rb
705
+ - lib/puppet/pops/types/annotatable.rb
680
706
  - lib/puppet/pops/types/class_loader.rb
681
707
  - lib/puppet/pops/types/enumeration.rb
682
708
  - lib/puppet/pops/types/implementation_registry.rb
683
709
  - lib/puppet/pops/types/iterable.rb
710
+ - lib/puppet/pops/types/p_meta_type.rb
684
711
  - lib/puppet/pops/types/p_object_type.rb
685
712
  - lib/puppet/pops/types/p_runtime_type.rb
686
713
  - lib/puppet/pops/types/p_sem_ver_range_type.rb
687
714
  - lib/puppet/pops/types/p_sem_ver_type.rb
715
+ - lib/puppet/pops/types/p_sensitive_type.rb
716
+ - lib/puppet/pops/types/p_type_set_type.rb
688
717
  - lib/puppet/pops/types/puppet_object.rb
689
718
  - lib/puppet/pops/types/recursion_guard.rb
690
719
  - lib/puppet/pops/types/ruby_generator.rb
@@ -698,6 +727,7 @@ files:
698
727
  - lib/puppet/pops/types/type_formatter.rb
699
728
  - lib/puppet/pops/types/type_mismatch_describer.rb
700
729
  - lib/puppet/pops/types/type_parser.rb
730
+ - lib/puppet/pops/types/type_set_reference.rb
701
731
  - lib/puppet/pops/types/types.rb
702
732
  - lib/puppet/pops/utils.rb
703
733
  - lib/puppet/pops/validation.rb
@@ -780,6 +810,7 @@ files:
780
810
  - lib/puppet/provider/package/rug.rb
781
811
  - lib/puppet/provider/package/sun.rb
782
812
  - lib/puppet/provider/package/sunfreeware.rb
813
+ - lib/puppet/provider/package/tdnf.rb
783
814
  - lib/puppet/provider/package/up2date.rb
784
815
  - lib/puppet/provider/package/urpmi.rb
785
816
  - lib/puppet/provider/package/windows.rb
@@ -846,7 +877,6 @@ files:
846
877
  - lib/puppet/resource/status.rb
847
878
  - lib/puppet/resource/type.rb
848
879
  - lib/puppet/resource/type_collection.rb
849
- - lib/puppet/resource/type_collection_helper.rb
850
880
  - lib/puppet/scheduler.rb
851
881
  - lib/puppet/scheduler/job.rb
852
882
  - lib/puppet/scheduler/scheduler.rb
@@ -868,6 +898,7 @@ files:
868
898
  - lib/puppet/settings/ini_file.rb
869
899
  - lib/puppet/settings/path_setting.rb
870
900
  - lib/puppet/settings/priority_setting.rb
901
+ - lib/puppet/settings/server_list_setting.rb
871
902
  - lib/puppet/settings/string_setting.rb
872
903
  - lib/puppet/settings/symbolic_enum_setting.rb
873
904
  - lib/puppet/settings/terminus_setting.rb
@@ -901,6 +932,7 @@ files:
901
932
  - lib/puppet/transaction/additional_resource_generator.rb
902
933
  - lib/puppet/transaction/event.rb
903
934
  - lib/puppet/transaction/event_manager.rb
935
+ - lib/puppet/transaction/persistence.rb
904
936
  - lib/puppet/transaction/report.rb
905
937
  - lib/puppet/transaction/resource_harness.rb
906
938
  - lib/puppet/type.rb
@@ -1424,8 +1456,6 @@ files:
1424
1456
  - ext/osx/puppet.plist
1425
1457
  - ext/project_data.yaml
1426
1458
  - ext/puppet-test
1427
- - ext/puppetlisten/puppetlisten.rb
1428
- - ext/puppetlisten/puppetrun.rb
1429
1459
  - ext/pure_ruby_dsl/dsl_test.rb
1430
1460
  - ext/rack/config.ru
1431
1461
  - ext/rack/example-passenger-vhost.conf
@@ -1730,6 +1760,7 @@ files:
1730
1760
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp
1731
1761
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp
1732
1762
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json
1763
+ - spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp
1733
1764
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp
1734
1765
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp
1735
1766
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb
@@ -1915,6 +1946,7 @@ files:
1915
1946
  - spec/integration/parser/functions/require_spec.rb
1916
1947
  - spec/integration/parser/node_spec.rb
1917
1948
  - spec/integration/parser/parameter_defaults_spec.rb
1949
+ - spec/integration/parser/pcore_resource_spec.rb
1918
1950
  - spec/integration/parser/resource_expressions_spec.rb
1919
1951
  - spec/integration/parser/scope_spec.rb
1920
1952
  - spec/integration/parser/undef_param_spec.rb
@@ -1950,6 +1982,7 @@ files:
1950
1982
  - spec/integration/util/execution_spec.rb
1951
1983
  - spec/integration/util/rdoc/parser_spec.rb
1952
1984
  - spec/integration/util/settings_spec.rb
1985
+ - spec/integration/util/windows/adsi_spec.rb
1953
1986
  - spec/integration/util/windows/principal_spec.rb
1954
1987
  - spec/integration/util/windows/process_spec.rb
1955
1988
  - spec/integration/util/windows/registry_spec.rb
@@ -2004,6 +2037,7 @@ files:
2004
2037
  - spec/shared_contexts/checksum.rb
2005
2038
  - spec/shared_contexts/digests.rb
2006
2039
  - spec/shared_contexts/types_setup.rb
2040
+ - spec/shared_examples/rhel_package_provider.rb
2007
2041
  - spec/spec_helper.rb
2008
2042
  - spec/unit/agent/disabler_spec.rb
2009
2043
  - spec/unit/agent/locker_spec.rb
@@ -2025,7 +2059,6 @@ files:
2025
2059
  - spec/unit/application/master_spec.rb
2026
2060
  - spec/unit/application/resource_spec.rb
2027
2061
  - spec/unit/application_spec.rb
2028
- - spec/unit/appmgmt_spec.rb
2029
2062
  - spec/unit/capability_spec.rb
2030
2063
  - spec/unit/configurer/downloader_factory_spec.rb
2031
2064
  - spec/unit/configurer/downloader_spec.rb
@@ -2056,6 +2089,7 @@ files:
2056
2089
  - spec/unit/face/epp_face_spec.rb
2057
2090
  - spec/unit/face/facts_spec.rb
2058
2091
  - spec/unit/face/file_spec.rb
2092
+ - spec/unit/face/generate_spec.rb
2059
2093
  - spec/unit/face/help_spec.rb
2060
2094
  - spec/unit/face/module/build_spec.rb
2061
2095
  - spec/unit/face/module/install_spec.rb
@@ -2113,6 +2147,7 @@ files:
2113
2147
  - spec/unit/functions/step_spec.rb
2114
2148
  - spec/unit/functions/then_spec.rb
2115
2149
  - spec/unit/functions/type_spec.rb
2150
+ - spec/unit/functions/unwrap_spec.rb
2116
2151
  - spec/unit/functions/versioncmp_spec.rb
2117
2152
  - spec/unit/functions/with_spec.rb
2118
2153
  - spec/unit/functions4_spec.rb
@@ -2277,10 +2312,10 @@ files:
2277
2312
  - spec/unit/parser/ast/block_expression_spec.rb
2278
2313
  - spec/unit/parser/ast/leaf_spec.rb
2279
2314
  - spec/unit/parser/compiler_spec.rb
2315
+ - spec/unit/parser/environment_compiler_spec.rb
2280
2316
  - spec/unit/parser/files_spec.rb
2281
2317
  - spec/unit/parser/functions/contain_spec.rb
2282
2318
  - spec/unit/parser/functions/create_resources_spec.rb
2283
- - spec/unit/parser/functions/defined_spec.rb
2284
2319
  - spec/unit/parser/functions/digest_spec.rb
2285
2320
  - spec/unit/parser/functions/fail_spec.rb
2286
2321
  - spec/unit/parser/functions/file_spec.rb
@@ -2363,11 +2398,18 @@ files:
2363
2398
  - spec/unit/pops/parser/parsing_typed_parameters_spec.rb
2364
2399
  - spec/unit/pops/parser/rgen_sanitycheck_spec.rb
2365
2400
  - spec/unit/pops/parser/source_pos_adapter_spec.rb
2401
+ - spec/unit/pops/puppet_stack_spec.rb
2402
+ - spec/unit/pops/resource/resource_type_impl_spec.rb
2403
+ - spec/unit/pops/serialization/packer_spec.rb
2404
+ - spec/unit/pops/serialization/rgen_spec.rb
2405
+ - spec/unit/pops/serialization/serialization_spec.rb
2366
2406
  - spec/unit/pops/types/class_loader_spec.rb
2367
2407
  - spec/unit/pops/types/enumeration_spec.rb
2368
2408
  - spec/unit/pops/types/iterable_spec.rb
2369
2409
  - spec/unit/pops/types/p_object_type_spec.rb
2370
2410
  - spec/unit/pops/types/p_sem_ver_type_spec.rb
2411
+ - spec/unit/pops/types/p_sensitive_type_spec.rb
2412
+ - spec/unit/pops/types/p_type_set_type_spec.rb
2371
2413
  - spec/unit/pops/types/recursion_guard_spec.rb
2372
2414
  - spec/unit/pops/types/ruby_generator_spec.rb
2373
2415
  - spec/unit/pops/types/string_converter_spec.rb
@@ -2445,6 +2487,7 @@ files:
2445
2487
  - spec/unit/provider/package/puppet_gem_spec.rb
2446
2488
  - spec/unit/provider/package/rpm_spec.rb
2447
2489
  - spec/unit/provider/package/sun_spec.rb
2490
+ - spec/unit/provider/package/tdnf_spec.rb
2448
2491
  - spec/unit/provider/package/up2date_spec.rb
2449
2492
  - spec/unit/provider/package/urpmi_spec.rb
2450
2493
  - spec/unit/provider/package/windows/exe_package_spec.rb
@@ -2502,7 +2545,6 @@ files:
2502
2545
  - spec/unit/resource/capability_finder_spec.rb
2503
2546
  - spec/unit/resource/catalog_spec.rb
2504
2547
  - spec/unit/resource/status_spec.rb
2505
- - spec/unit/resource/type_collection_helper_spec.rb
2506
2548
  - spec/unit/resource/type_collection_spec.rb
2507
2549
  - spec/unit/resource/type_spec.rb
2508
2550
  - spec/unit/resource_spec.rb
@@ -2545,6 +2587,7 @@ files:
2545
2587
  - spec/unit/transaction/additional_resource_generator_spec.rb
2546
2588
  - spec/unit/transaction/event_manager_spec.rb
2547
2589
  - spec/unit/transaction/event_spec.rb
2590
+ - spec/unit/transaction/persistence_spec.rb
2548
2591
  - spec/unit/transaction/report_spec.rb
2549
2592
  - spec/unit/transaction/resource_harness_spec.rb
2550
2593
  - spec/unit/transaction_spec.rb
@@ -2681,6 +2724,7 @@ files:
2681
2724
  - spec/watchr.rb
2682
2725
  homepage: https://github.com/puppetlabs/puppet
2683
2726
  licenses: []
2727
+ metadata: {}
2684
2728
  post_install_message:
2685
2729
  rdoc_options:
2686
2730
  - --title
@@ -2691,22 +2735,20 @@ rdoc_options:
2691
2735
  require_paths:
2692
2736
  - lib
2693
2737
  required_ruby_version: !ruby/object:Gem::Requirement
2694
- none: false
2695
2738
  requirements:
2696
- - - ! '>='
2739
+ - - '>='
2697
2740
  - !ruby/object:Gem::Version
2698
2741
  version: 1.9.3
2699
2742
  required_rubygems_version: !ruby/object:Gem::Requirement
2700
- none: false
2701
2743
  requirements:
2702
- - - ! '>'
2744
+ - - '>'
2703
2745
  - !ruby/object:Gem::Version
2704
2746
  version: 1.3.1
2705
2747
  requirements: []
2706
2748
  rubyforge_project: puppet
2707
- rubygems_version: 1.8.23
2749
+ rubygems_version: 2.0.14
2708
2750
  signing_key:
2709
- specification_version: 3
2751
+ specification_version: 4
2710
2752
  summary: Puppet, an automated configuration management tool
2711
2753
  test_files:
2712
2754
  - spec/fixtures/faulty_face/puppet/face/syntax.rb
@@ -2962,6 +3004,7 @@ test_files:
2962
3004
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp
2963
3005
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp
2964
3006
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json
3007
+ - spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp
2965
3008
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp
2966
3009
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp
2967
3010
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb
@@ -3147,6 +3190,7 @@ test_files:
3147
3190
  - spec/integration/parser/functions/require_spec.rb
3148
3191
  - spec/integration/parser/node_spec.rb
3149
3192
  - spec/integration/parser/parameter_defaults_spec.rb
3193
+ - spec/integration/parser/pcore_resource_spec.rb
3150
3194
  - spec/integration/parser/resource_expressions_spec.rb
3151
3195
  - spec/integration/parser/scope_spec.rb
3152
3196
  - spec/integration/parser/undef_param_spec.rb
@@ -3182,6 +3226,7 @@ test_files:
3182
3226
  - spec/integration/util/execution_spec.rb
3183
3227
  - spec/integration/util/rdoc/parser_spec.rb
3184
3228
  - spec/integration/util/settings_spec.rb
3229
+ - spec/integration/util/windows/adsi_spec.rb
3185
3230
  - spec/integration/util/windows/principal_spec.rb
3186
3231
  - spec/integration/util/windows/process_spec.rb
3187
3232
  - spec/integration/util/windows/registry_spec.rb
@@ -3236,6 +3281,7 @@ test_files:
3236
3281
  - spec/shared_contexts/checksum.rb
3237
3282
  - spec/shared_contexts/digests.rb
3238
3283
  - spec/shared_contexts/types_setup.rb
3284
+ - spec/shared_examples/rhel_package_provider.rb
3239
3285
  - spec/spec_helper.rb
3240
3286
  - spec/unit/agent/disabler_spec.rb
3241
3287
  - spec/unit/agent/locker_spec.rb
@@ -3257,7 +3303,6 @@ test_files:
3257
3303
  - spec/unit/application/master_spec.rb
3258
3304
  - spec/unit/application/resource_spec.rb
3259
3305
  - spec/unit/application_spec.rb
3260
- - spec/unit/appmgmt_spec.rb
3261
3306
  - spec/unit/capability_spec.rb
3262
3307
  - spec/unit/configurer/downloader_factory_spec.rb
3263
3308
  - spec/unit/configurer/downloader_spec.rb
@@ -3288,6 +3333,7 @@ test_files:
3288
3333
  - spec/unit/face/epp_face_spec.rb
3289
3334
  - spec/unit/face/facts_spec.rb
3290
3335
  - spec/unit/face/file_spec.rb
3336
+ - spec/unit/face/generate_spec.rb
3291
3337
  - spec/unit/face/help_spec.rb
3292
3338
  - spec/unit/face/module/build_spec.rb
3293
3339
  - spec/unit/face/module/install_spec.rb
@@ -3345,6 +3391,7 @@ test_files:
3345
3391
  - spec/unit/functions/step_spec.rb
3346
3392
  - spec/unit/functions/then_spec.rb
3347
3393
  - spec/unit/functions/type_spec.rb
3394
+ - spec/unit/functions/unwrap_spec.rb
3348
3395
  - spec/unit/functions/versioncmp_spec.rb
3349
3396
  - spec/unit/functions/with_spec.rb
3350
3397
  - spec/unit/functions4_spec.rb
@@ -3509,10 +3556,10 @@ test_files:
3509
3556
  - spec/unit/parser/ast/block_expression_spec.rb
3510
3557
  - spec/unit/parser/ast/leaf_spec.rb
3511
3558
  - spec/unit/parser/compiler_spec.rb
3559
+ - spec/unit/parser/environment_compiler_spec.rb
3512
3560
  - spec/unit/parser/files_spec.rb
3513
3561
  - spec/unit/parser/functions/contain_spec.rb
3514
3562
  - spec/unit/parser/functions/create_resources_spec.rb
3515
- - spec/unit/parser/functions/defined_spec.rb
3516
3563
  - spec/unit/parser/functions/digest_spec.rb
3517
3564
  - spec/unit/parser/functions/fail_spec.rb
3518
3565
  - spec/unit/parser/functions/file_spec.rb
@@ -3595,11 +3642,18 @@ test_files:
3595
3642
  - spec/unit/pops/parser/parsing_typed_parameters_spec.rb
3596
3643
  - spec/unit/pops/parser/rgen_sanitycheck_spec.rb
3597
3644
  - spec/unit/pops/parser/source_pos_adapter_spec.rb
3645
+ - spec/unit/pops/puppet_stack_spec.rb
3646
+ - spec/unit/pops/resource/resource_type_impl_spec.rb
3647
+ - spec/unit/pops/serialization/packer_spec.rb
3648
+ - spec/unit/pops/serialization/rgen_spec.rb
3649
+ - spec/unit/pops/serialization/serialization_spec.rb
3598
3650
  - spec/unit/pops/types/class_loader_spec.rb
3599
3651
  - spec/unit/pops/types/enumeration_spec.rb
3600
3652
  - spec/unit/pops/types/iterable_spec.rb
3601
3653
  - spec/unit/pops/types/p_object_type_spec.rb
3602
3654
  - spec/unit/pops/types/p_sem_ver_type_spec.rb
3655
+ - spec/unit/pops/types/p_sensitive_type_spec.rb
3656
+ - spec/unit/pops/types/p_type_set_type_spec.rb
3603
3657
  - spec/unit/pops/types/recursion_guard_spec.rb
3604
3658
  - spec/unit/pops/types/ruby_generator_spec.rb
3605
3659
  - spec/unit/pops/types/string_converter_spec.rb
@@ -3677,6 +3731,7 @@ test_files:
3677
3731
  - spec/unit/provider/package/puppet_gem_spec.rb
3678
3732
  - spec/unit/provider/package/rpm_spec.rb
3679
3733
  - spec/unit/provider/package/sun_spec.rb
3734
+ - spec/unit/provider/package/tdnf_spec.rb
3680
3735
  - spec/unit/provider/package/up2date_spec.rb
3681
3736
  - spec/unit/provider/package/urpmi_spec.rb
3682
3737
  - spec/unit/provider/package/windows/exe_package_spec.rb
@@ -3734,7 +3789,6 @@ test_files:
3734
3789
  - spec/unit/resource/capability_finder_spec.rb
3735
3790
  - spec/unit/resource/catalog_spec.rb
3736
3791
  - spec/unit/resource/status_spec.rb
3737
- - spec/unit/resource/type_collection_helper_spec.rb
3738
3792
  - spec/unit/resource/type_collection_spec.rb
3739
3793
  - spec/unit/resource/type_spec.rb
3740
3794
  - spec/unit/resource_spec.rb
@@ -3777,6 +3831,7 @@ test_files:
3777
3831
  - spec/unit/transaction/additional_resource_generator_spec.rb
3778
3832
  - spec/unit/transaction/event_manager_spec.rb
3779
3833
  - spec/unit/transaction/event_spec.rb
3834
+ - spec/unit/transaction/persistence_spec.rb
3780
3835
  - spec/unit/transaction/report_spec.rb
3781
3836
  - spec/unit/transaction/resource_harness_spec.rb
3782
3837
  - spec/unit/transaction_spec.rb