puppet 4.5.3-x86-mingw32 → 4.6.1-x86-mingw32

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

Potentially problematic release.


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

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 +91 -48
  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: x86-mingw32
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: ffi
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
@@ -90,7 +81,6 @@ dependencies:
90
81
  - !ruby/object:Gem::Dependency
91
82
  name: win32-dir
92
83
  requirement: !ruby/object:Gem::Requirement
93
- none: false
94
84
  requirements:
95
85
  - - '='
96
86
  - !ruby/object:Gem::Version
@@ -98,7 +88,6 @@ dependencies:
98
88
  type: :runtime
99
89
  prerelease: false
100
90
  version_requirements: !ruby/object:Gem::Requirement
101
- none: false
102
91
  requirements:
103
92
  - - '='
104
93
  - !ruby/object:Gem::Version
@@ -106,7 +95,6 @@ dependencies:
106
95
  - !ruby/object:Gem::Dependency
107
96
  name: win32-eventlog
108
97
  requirement: !ruby/object:Gem::Requirement
109
- none: false
110
98
  requirements:
111
99
  - - '='
112
100
  - !ruby/object:Gem::Version
@@ -114,7 +102,6 @@ dependencies:
114
102
  type: :runtime
115
103
  prerelease: false
116
104
  version_requirements: !ruby/object:Gem::Requirement
117
- none: false
118
105
  requirements:
119
106
  - - '='
120
107
  - !ruby/object:Gem::Version
@@ -122,7 +109,6 @@ dependencies:
122
109
  - !ruby/object:Gem::Dependency
123
110
  name: win32-process
124
111
  requirement: !ruby/object:Gem::Requirement
125
- none: false
126
112
  requirements:
127
113
  - - '='
128
114
  - !ruby/object:Gem::Version
@@ -130,7 +116,6 @@ dependencies:
130
116
  type: :runtime
131
117
  prerelease: false
132
118
  version_requirements: !ruby/object:Gem::Requirement
133
- none: false
134
119
  requirements:
135
120
  - - '='
136
121
  - !ruby/object:Gem::Version
@@ -138,7 +123,6 @@ dependencies:
138
123
  - !ruby/object:Gem::Dependency
139
124
  name: win32-security
140
125
  requirement: !ruby/object:Gem::Requirement
141
- none: false
142
126
  requirements:
143
127
  - - '='
144
128
  - !ruby/object:Gem::Version
@@ -146,7 +130,6 @@ dependencies:
146
130
  type: :runtime
147
131
  prerelease: false
148
132
  version_requirements: !ruby/object:Gem::Requirement
149
- none: false
150
133
  requirements:
151
134
  - - '='
152
135
  - !ruby/object:Gem::Version
@@ -154,23 +137,20 @@ dependencies:
154
137
  - !ruby/object:Gem::Dependency
155
138
  name: win32-service
156
139
  requirement: !ruby/object:Gem::Requirement
157
- none: false
158
140
  requirements:
159
141
  - - '='
160
142
  - !ruby/object:Gem::Version
161
- version: 0.8.7
143
+ version: 0.8.8
162
144
  type: :runtime
163
145
  prerelease: false
164
146
  version_requirements: !ruby/object:Gem::Requirement
165
- none: false
166
147
  requirements:
167
148
  - - '='
168
149
  - !ruby/object:Gem::Version
169
- version: 0.8.7
150
+ version: 0.8.8
170
151
  - !ruby/object:Gem::Dependency
171
152
  name: minitar
172
153
  requirement: !ruby/object:Gem::Requirement
173
- none: false
174
154
  requirements:
175
155
  - - ~>
176
156
  - !ruby/object:Gem::Version
@@ -178,7 +158,6 @@ dependencies:
178
158
  type: :runtime
179
159
  prerelease: false
180
160
  version_requirements: !ruby/object:Gem::Requirement
181
- none: false
182
161
  requirements:
183
162
  - - ~>
184
163
  - !ruby/object:Gem::Version
@@ -224,6 +203,7 @@ files:
224
203
  - lib/puppet/application/facts.rb
225
204
  - lib/puppet/application/file.rb
226
205
  - lib/puppet/application/filebucket.rb
206
+ - lib/puppet/application/generate.rb
227
207
  - lib/puppet/application/help.rb
228
208
  - lib/puppet/application/indirection_base.rb
229
209
  - lib/puppet/application/inspect.rb
@@ -242,6 +222,7 @@ files:
242
222
  - lib/puppet/application_support.rb
243
223
  - lib/puppet/bindings.rb
244
224
  - lib/puppet/coercion.rb
225
+ - lib/puppet/compilable_resource_type.rb
245
226
  - lib/puppet/configurer.rb
246
227
  - lib/puppet/configurer/downloader.rb
247
228
  - lib/puppet/configurer/downloader_factory.rb
@@ -300,6 +281,7 @@ files:
300
281
  - lib/puppet/face/file.rb
301
282
  - lib/puppet/face/file/download.rb
302
283
  - lib/puppet/face/file/store.rb
284
+ - lib/puppet/face/generate.rb
303
285
  - lib/puppet/face/help.rb
304
286
  - lib/puppet/face/help/action.erb
305
287
  - lib/puppet/face/help/face.erb
@@ -394,8 +376,13 @@ files:
394
376
  - lib/puppet/functions/step.rb
395
377
  - lib/puppet/functions/then.rb
396
378
  - lib/puppet/functions/type.rb
379
+ - lib/puppet/functions/unwrap.rb
397
380
  - lib/puppet/functions/versioncmp.rb
398
381
  - lib/puppet/functions/with.rb
382
+ - lib/puppet/generate/models/type/property.rb
383
+ - lib/puppet/generate/models/type/type.rb
384
+ - lib/puppet/generate/templates/type/pcore.erb
385
+ - lib/puppet/generate/type.rb
399
386
  - lib/puppet/graph.rb
400
387
  - lib/puppet/graph/key.rb
401
388
  - lib/puppet/graph/prioritizer.rb
@@ -626,6 +613,7 @@ files:
626
613
  - lib/puppet/parser/functions/contain.rb
627
614
  - lib/puppet/parser/functions/create_resources.rb
628
615
  - lib/puppet/parser/functions/defined.rb
616
+ - lib/puppet/parser/functions/dig.rb
629
617
  - lib/puppet/parser/functions/digest.rb
630
618
  - lib/puppet/parser/functions/each.rb
631
619
  - lib/puppet/parser/functions/epp.rb
@@ -641,23 +629,29 @@ files:
641
629
  - lib/puppet/parser/functions/include.rb
642
630
  - lib/puppet/parser/functions/inline_epp.rb
643
631
  - lib/puppet/parser/functions/inline_template.rb
632
+ - lib/puppet/parser/functions/lest.rb
644
633
  - lib/puppet/parser/functions/lookup.rb
645
634
  - lib/puppet/parser/functions/map.rb
646
635
  - lib/puppet/parser/functions/match.rb
647
636
  - lib/puppet/parser/functions/md5.rb
637
+ - lib/puppet/parser/functions/new.rb
648
638
  - lib/puppet/parser/functions/realize.rb
649
639
  - lib/puppet/parser/functions/reduce.rb
650
640
  - lib/puppet/parser/functions/regsubst.rb
651
641
  - lib/puppet/parser/functions/require.rb
642
+ - lib/puppet/parser/functions/reverse_each.rb
652
643
  - lib/puppet/parser/functions/scanf.rb
653
644
  - lib/puppet/parser/functions/sha1.rb
654
645
  - lib/puppet/parser/functions/shellquote.rb
655
646
  - lib/puppet/parser/functions/slice.rb
656
647
  - lib/puppet/parser/functions/split.rb
657
648
  - lib/puppet/parser/functions/sprintf.rb
649
+ - lib/puppet/parser/functions/step.rb
658
650
  - lib/puppet/parser/functions/tag.rb
659
651
  - lib/puppet/parser/functions/tagged.rb
660
652
  - lib/puppet/parser/functions/template.rb
653
+ - lib/puppet/parser/functions/then.rb
654
+ - lib/puppet/parser/functions/type.rb
661
655
  - lib/puppet/parser/functions/versioncmp.rb
662
656
  - lib/puppet/parser/functions/with.rb
663
657
  - lib/puppet/parser/parser_factory.rb
@@ -719,6 +713,7 @@ files:
719
713
  - lib/puppet/pops/evaluator/puppet_proc.rb
720
714
  - lib/puppet/pops/evaluator/relationship_operator.rb
721
715
  - lib/puppet/pops/evaluator/runtime3_converter.rb
716
+ - lib/puppet/pops/evaluator/runtime3_resource_support.rb
722
717
  - lib/puppet/pops/evaluator/runtime3_support.rb
723
718
  - lib/puppet/pops/functions/dispatch.rb
724
719
  - lib/puppet/pops/functions/dispatcher.rb
@@ -735,11 +730,13 @@ files:
735
730
  - lib/puppet/pops/loader/null_loader.rb
736
731
  - lib/puppet/pops/loader/predefined_loader.rb
737
732
  - lib/puppet/pops/loader/puppet_function_instantiator.rb
733
+ - lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb
738
734
  - lib/puppet/pops/loader/ruby_function_instantiator.rb
739
735
  - lib/puppet/pops/loader/runtime3_type_loader.rb
740
736
  - lib/puppet/pops/loader/simple_environment_loader.rb
741
737
  - lib/puppet/pops/loader/static_loader.rb
742
738
  - lib/puppet/pops/loader/type_definition_instantiator.rb
739
+ - lib/puppet/pops/loader/typed_name.rb
743
740
  - lib/puppet/pops/loader/uri_helper.rb
744
741
  - lib/puppet/pops/loaders.rb
745
742
  - lib/puppet/pops/lookup.rb
@@ -772,15 +769,35 @@ files:
772
769
  - lib/puppet/pops/parser/slurp_support.rb
773
770
  - lib/puppet/pops/patterns.rb
774
771
  - lib/puppet/pops/pcore.rb
772
+ - lib/puppet/pops/puppet_stack.rb
773
+ - lib/puppet/pops/resource/param.rb
774
+ - lib/puppet/pops/resource/resource_type_impl.rb
775
+ - lib/puppet/pops/resource/resource_type_set.pcore
775
776
  - lib/puppet/pops/semantic_error.rb
777
+ - lib/puppet/pops/serialization.rb
778
+ - lib/puppet/pops/serialization/abstract_reader.rb
779
+ - lib/puppet/pops/serialization/abstract_writer.rb
780
+ - lib/puppet/pops/serialization/deserializer.rb
781
+ - lib/puppet/pops/serialization/extension.rb
782
+ - lib/puppet/pops/serialization/instance_reader.rb
783
+ - lib/puppet/pops/serialization/instance_writer.rb
784
+ - lib/puppet/pops/serialization/json.rb
785
+ - lib/puppet/pops/serialization/object.rb
786
+ - lib/puppet/pops/serialization/rgen.rb
787
+ - lib/puppet/pops/serialization/serializer.rb
788
+ - lib/puppet/pops/serialization/time_factory.rb
789
+ - lib/puppet/pops/types/annotatable.rb
776
790
  - lib/puppet/pops/types/class_loader.rb
777
791
  - lib/puppet/pops/types/enumeration.rb
778
792
  - lib/puppet/pops/types/implementation_registry.rb
779
793
  - lib/puppet/pops/types/iterable.rb
794
+ - lib/puppet/pops/types/p_meta_type.rb
780
795
  - lib/puppet/pops/types/p_object_type.rb
781
796
  - lib/puppet/pops/types/p_runtime_type.rb
782
797
  - lib/puppet/pops/types/p_sem_ver_range_type.rb
783
798
  - lib/puppet/pops/types/p_sem_ver_type.rb
799
+ - lib/puppet/pops/types/p_sensitive_type.rb
800
+ - lib/puppet/pops/types/p_type_set_type.rb
784
801
  - lib/puppet/pops/types/puppet_object.rb
785
802
  - lib/puppet/pops/types/recursion_guard.rb
786
803
  - lib/puppet/pops/types/ruby_generator.rb
@@ -794,6 +811,7 @@ files:
794
811
  - lib/puppet/pops/types/type_formatter.rb
795
812
  - lib/puppet/pops/types/type_mismatch_describer.rb
796
813
  - lib/puppet/pops/types/type_parser.rb
814
+ - lib/puppet/pops/types/type_set_reference.rb
797
815
  - lib/puppet/pops/types/types.rb
798
816
  - lib/puppet/pops/utils.rb
799
817
  - lib/puppet/pops/validation.rb
@@ -876,6 +894,7 @@ files:
876
894
  - lib/puppet/provider/package/rug.rb
877
895
  - lib/puppet/provider/package/sun.rb
878
896
  - lib/puppet/provider/package/sunfreeware.rb
897
+ - lib/puppet/provider/package/tdnf.rb
879
898
  - lib/puppet/provider/package/up2date.rb
880
899
  - lib/puppet/provider/package/urpmi.rb
881
900
  - lib/puppet/provider/package/windows.rb
@@ -942,7 +961,6 @@ files:
942
961
  - lib/puppet/resource/status.rb
943
962
  - lib/puppet/resource/type.rb
944
963
  - lib/puppet/resource/type_collection.rb
945
- - lib/puppet/resource/type_collection_helper.rb
946
964
  - lib/puppet/scheduler.rb
947
965
  - lib/puppet/scheduler/job.rb
948
966
  - lib/puppet/scheduler/scheduler.rb
@@ -964,6 +982,7 @@ files:
964
982
  - lib/puppet/settings/ini_file.rb
965
983
  - lib/puppet/settings/path_setting.rb
966
984
  - lib/puppet/settings/priority_setting.rb
985
+ - lib/puppet/settings/server_list_setting.rb
967
986
  - lib/puppet/settings/string_setting.rb
968
987
  - lib/puppet/settings/symbolic_enum_setting.rb
969
988
  - lib/puppet/settings/terminus_setting.rb
@@ -997,6 +1016,7 @@ files:
997
1016
  - lib/puppet/transaction/additional_resource_generator.rb
998
1017
  - lib/puppet/transaction/event.rb
999
1018
  - lib/puppet/transaction/event_manager.rb
1019
+ - lib/puppet/transaction/persistence.rb
1000
1020
  - lib/puppet/transaction/report.rb
1001
1021
  - lib/puppet/transaction/resource_harness.rb
1002
1022
  - lib/puppet/type.rb
@@ -1520,8 +1540,6 @@ files:
1520
1540
  - ext/osx/puppet.plist
1521
1541
  - ext/project_data.yaml
1522
1542
  - ext/puppet-test
1523
- - ext/puppetlisten/puppetlisten.rb
1524
- - ext/puppetlisten/puppetrun.rb
1525
1543
  - ext/pure_ruby_dsl/dsl_test.rb
1526
1544
  - ext/rack/config.ru
1527
1545
  - ext/rack/example-passenger-vhost.conf
@@ -1826,6 +1844,7 @@ files:
1826
1844
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp
1827
1845
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp
1828
1846
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json
1847
+ - spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp
1829
1848
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp
1830
1849
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp
1831
1850
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb
@@ -2011,6 +2030,7 @@ files:
2011
2030
  - spec/integration/parser/functions/require_spec.rb
2012
2031
  - spec/integration/parser/node_spec.rb
2013
2032
  - spec/integration/parser/parameter_defaults_spec.rb
2033
+ - spec/integration/parser/pcore_resource_spec.rb
2014
2034
  - spec/integration/parser/resource_expressions_spec.rb
2015
2035
  - spec/integration/parser/scope_spec.rb
2016
2036
  - spec/integration/parser/undef_param_spec.rb
@@ -2046,6 +2066,7 @@ files:
2046
2066
  - spec/integration/util/execution_spec.rb
2047
2067
  - spec/integration/util/rdoc/parser_spec.rb
2048
2068
  - spec/integration/util/settings_spec.rb
2069
+ - spec/integration/util/windows/adsi_spec.rb
2049
2070
  - spec/integration/util/windows/principal_spec.rb
2050
2071
  - spec/integration/util/windows/process_spec.rb
2051
2072
  - spec/integration/util/windows/registry_spec.rb
@@ -2100,6 +2121,7 @@ files:
2100
2121
  - spec/shared_contexts/checksum.rb
2101
2122
  - spec/shared_contexts/digests.rb
2102
2123
  - spec/shared_contexts/types_setup.rb
2124
+ - spec/shared_examples/rhel_package_provider.rb
2103
2125
  - spec/spec_helper.rb
2104
2126
  - spec/unit/agent/disabler_spec.rb
2105
2127
  - spec/unit/agent/locker_spec.rb
@@ -2121,7 +2143,6 @@ files:
2121
2143
  - spec/unit/application/master_spec.rb
2122
2144
  - spec/unit/application/resource_spec.rb
2123
2145
  - spec/unit/application_spec.rb
2124
- - spec/unit/appmgmt_spec.rb
2125
2146
  - spec/unit/capability_spec.rb
2126
2147
  - spec/unit/configurer/downloader_factory_spec.rb
2127
2148
  - spec/unit/configurer/downloader_spec.rb
@@ -2152,6 +2173,7 @@ files:
2152
2173
  - spec/unit/face/epp_face_spec.rb
2153
2174
  - spec/unit/face/facts_spec.rb
2154
2175
  - spec/unit/face/file_spec.rb
2176
+ - spec/unit/face/generate_spec.rb
2155
2177
  - spec/unit/face/help_spec.rb
2156
2178
  - spec/unit/face/module/build_spec.rb
2157
2179
  - spec/unit/face/module/install_spec.rb
@@ -2209,6 +2231,7 @@ files:
2209
2231
  - spec/unit/functions/step_spec.rb
2210
2232
  - spec/unit/functions/then_spec.rb
2211
2233
  - spec/unit/functions/type_spec.rb
2234
+ - spec/unit/functions/unwrap_spec.rb
2212
2235
  - spec/unit/functions/versioncmp_spec.rb
2213
2236
  - spec/unit/functions/with_spec.rb
2214
2237
  - spec/unit/functions4_spec.rb
@@ -2373,10 +2396,10 @@ files:
2373
2396
  - spec/unit/parser/ast/block_expression_spec.rb
2374
2397
  - spec/unit/parser/ast/leaf_spec.rb
2375
2398
  - spec/unit/parser/compiler_spec.rb
2399
+ - spec/unit/parser/environment_compiler_spec.rb
2376
2400
  - spec/unit/parser/files_spec.rb
2377
2401
  - spec/unit/parser/functions/contain_spec.rb
2378
2402
  - spec/unit/parser/functions/create_resources_spec.rb
2379
- - spec/unit/parser/functions/defined_spec.rb
2380
2403
  - spec/unit/parser/functions/digest_spec.rb
2381
2404
  - spec/unit/parser/functions/fail_spec.rb
2382
2405
  - spec/unit/parser/functions/file_spec.rb
@@ -2459,11 +2482,18 @@ files:
2459
2482
  - spec/unit/pops/parser/parsing_typed_parameters_spec.rb
2460
2483
  - spec/unit/pops/parser/rgen_sanitycheck_spec.rb
2461
2484
  - spec/unit/pops/parser/source_pos_adapter_spec.rb
2485
+ - spec/unit/pops/puppet_stack_spec.rb
2486
+ - spec/unit/pops/resource/resource_type_impl_spec.rb
2487
+ - spec/unit/pops/serialization/packer_spec.rb
2488
+ - spec/unit/pops/serialization/rgen_spec.rb
2489
+ - spec/unit/pops/serialization/serialization_spec.rb
2462
2490
  - spec/unit/pops/types/class_loader_spec.rb
2463
2491
  - spec/unit/pops/types/enumeration_spec.rb
2464
2492
  - spec/unit/pops/types/iterable_spec.rb
2465
2493
  - spec/unit/pops/types/p_object_type_spec.rb
2466
2494
  - spec/unit/pops/types/p_sem_ver_type_spec.rb
2495
+ - spec/unit/pops/types/p_sensitive_type_spec.rb
2496
+ - spec/unit/pops/types/p_type_set_type_spec.rb
2467
2497
  - spec/unit/pops/types/recursion_guard_spec.rb
2468
2498
  - spec/unit/pops/types/ruby_generator_spec.rb
2469
2499
  - spec/unit/pops/types/string_converter_spec.rb
@@ -2541,6 +2571,7 @@ files:
2541
2571
  - spec/unit/provider/package/puppet_gem_spec.rb
2542
2572
  - spec/unit/provider/package/rpm_spec.rb
2543
2573
  - spec/unit/provider/package/sun_spec.rb
2574
+ - spec/unit/provider/package/tdnf_spec.rb
2544
2575
  - spec/unit/provider/package/up2date_spec.rb
2545
2576
  - spec/unit/provider/package/urpmi_spec.rb
2546
2577
  - spec/unit/provider/package/windows/exe_package_spec.rb
@@ -2598,7 +2629,6 @@ files:
2598
2629
  - spec/unit/resource/capability_finder_spec.rb
2599
2630
  - spec/unit/resource/catalog_spec.rb
2600
2631
  - spec/unit/resource/status_spec.rb
2601
- - spec/unit/resource/type_collection_helper_spec.rb
2602
2632
  - spec/unit/resource/type_collection_spec.rb
2603
2633
  - spec/unit/resource/type_spec.rb
2604
2634
  - spec/unit/resource_spec.rb
@@ -2641,6 +2671,7 @@ files:
2641
2671
  - spec/unit/transaction/additional_resource_generator_spec.rb
2642
2672
  - spec/unit/transaction/event_manager_spec.rb
2643
2673
  - spec/unit/transaction/event_spec.rb
2674
+ - spec/unit/transaction/persistence_spec.rb
2644
2675
  - spec/unit/transaction/report_spec.rb
2645
2676
  - spec/unit/transaction/resource_harness_spec.rb
2646
2677
  - spec/unit/transaction_spec.rb
@@ -2777,6 +2808,7 @@ files:
2777
2808
  - spec/watchr.rb
2778
2809
  homepage: https://github.com/puppetlabs/puppet
2779
2810
  licenses: []
2811
+ metadata: {}
2780
2812
  post_install_message:
2781
2813
  rdoc_options:
2782
2814
  - --title
@@ -2787,22 +2819,20 @@ rdoc_options:
2787
2819
  require_paths:
2788
2820
  - lib
2789
2821
  required_ruby_version: !ruby/object:Gem::Requirement
2790
- none: false
2791
2822
  requirements:
2792
- - - ! '>='
2823
+ - - '>='
2793
2824
  - !ruby/object:Gem::Version
2794
2825
  version: 1.9.3
2795
2826
  required_rubygems_version: !ruby/object:Gem::Requirement
2796
- none: false
2797
2827
  requirements:
2798
- - - ! '>'
2828
+ - - '>'
2799
2829
  - !ruby/object:Gem::Version
2800
2830
  version: 1.3.1
2801
2831
  requirements: []
2802
2832
  rubyforge_project: puppet
2803
- rubygems_version: 1.8.23
2833
+ rubygems_version: 2.0.14
2804
2834
  signing_key:
2805
- specification_version: 3
2835
+ specification_version: 4
2806
2836
  summary: Puppet, an automated configuration management tool
2807
2837
  test_files:
2808
2838
  - spec/fixtures/faulty_face/puppet/face/syntax.rb
@@ -3058,6 +3088,7 @@ test_files:
3058
3088
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp
3059
3089
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp
3060
3090
  - spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json
3091
+ - spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp
3061
3092
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp
3062
3093
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp
3063
3094
  - spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb
@@ -3243,6 +3274,7 @@ test_files:
3243
3274
  - spec/integration/parser/functions/require_spec.rb
3244
3275
  - spec/integration/parser/node_spec.rb
3245
3276
  - spec/integration/parser/parameter_defaults_spec.rb
3277
+ - spec/integration/parser/pcore_resource_spec.rb
3246
3278
  - spec/integration/parser/resource_expressions_spec.rb
3247
3279
  - spec/integration/parser/scope_spec.rb
3248
3280
  - spec/integration/parser/undef_param_spec.rb
@@ -3278,6 +3310,7 @@ test_files:
3278
3310
  - spec/integration/util/execution_spec.rb
3279
3311
  - spec/integration/util/rdoc/parser_spec.rb
3280
3312
  - spec/integration/util/settings_spec.rb
3313
+ - spec/integration/util/windows/adsi_spec.rb
3281
3314
  - spec/integration/util/windows/principal_spec.rb
3282
3315
  - spec/integration/util/windows/process_spec.rb
3283
3316
  - spec/integration/util/windows/registry_spec.rb
@@ -3332,6 +3365,7 @@ test_files:
3332
3365
  - spec/shared_contexts/checksum.rb
3333
3366
  - spec/shared_contexts/digests.rb
3334
3367
  - spec/shared_contexts/types_setup.rb
3368
+ - spec/shared_examples/rhel_package_provider.rb
3335
3369
  - spec/spec_helper.rb
3336
3370
  - spec/unit/agent/disabler_spec.rb
3337
3371
  - spec/unit/agent/locker_spec.rb
@@ -3353,7 +3387,6 @@ test_files:
3353
3387
  - spec/unit/application/master_spec.rb
3354
3388
  - spec/unit/application/resource_spec.rb
3355
3389
  - spec/unit/application_spec.rb
3356
- - spec/unit/appmgmt_spec.rb
3357
3390
  - spec/unit/capability_spec.rb
3358
3391
  - spec/unit/configurer/downloader_factory_spec.rb
3359
3392
  - spec/unit/configurer/downloader_spec.rb
@@ -3384,6 +3417,7 @@ test_files:
3384
3417
  - spec/unit/face/epp_face_spec.rb
3385
3418
  - spec/unit/face/facts_spec.rb
3386
3419
  - spec/unit/face/file_spec.rb
3420
+ - spec/unit/face/generate_spec.rb
3387
3421
  - spec/unit/face/help_spec.rb
3388
3422
  - spec/unit/face/module/build_spec.rb
3389
3423
  - spec/unit/face/module/install_spec.rb
@@ -3441,6 +3475,7 @@ test_files:
3441
3475
  - spec/unit/functions/step_spec.rb
3442
3476
  - spec/unit/functions/then_spec.rb
3443
3477
  - spec/unit/functions/type_spec.rb
3478
+ - spec/unit/functions/unwrap_spec.rb
3444
3479
  - spec/unit/functions/versioncmp_spec.rb
3445
3480
  - spec/unit/functions/with_spec.rb
3446
3481
  - spec/unit/functions4_spec.rb
@@ -3605,10 +3640,10 @@ test_files:
3605
3640
  - spec/unit/parser/ast/block_expression_spec.rb
3606
3641
  - spec/unit/parser/ast/leaf_spec.rb
3607
3642
  - spec/unit/parser/compiler_spec.rb
3643
+ - spec/unit/parser/environment_compiler_spec.rb
3608
3644
  - spec/unit/parser/files_spec.rb
3609
3645
  - spec/unit/parser/functions/contain_spec.rb
3610
3646
  - spec/unit/parser/functions/create_resources_spec.rb
3611
- - spec/unit/parser/functions/defined_spec.rb
3612
3647
  - spec/unit/parser/functions/digest_spec.rb
3613
3648
  - spec/unit/parser/functions/fail_spec.rb
3614
3649
  - spec/unit/parser/functions/file_spec.rb
@@ -3691,11 +3726,18 @@ test_files:
3691
3726
  - spec/unit/pops/parser/parsing_typed_parameters_spec.rb
3692
3727
  - spec/unit/pops/parser/rgen_sanitycheck_spec.rb
3693
3728
  - spec/unit/pops/parser/source_pos_adapter_spec.rb
3729
+ - spec/unit/pops/puppet_stack_spec.rb
3730
+ - spec/unit/pops/resource/resource_type_impl_spec.rb
3731
+ - spec/unit/pops/serialization/packer_spec.rb
3732
+ - spec/unit/pops/serialization/rgen_spec.rb
3733
+ - spec/unit/pops/serialization/serialization_spec.rb
3694
3734
  - spec/unit/pops/types/class_loader_spec.rb
3695
3735
  - spec/unit/pops/types/enumeration_spec.rb
3696
3736
  - spec/unit/pops/types/iterable_spec.rb
3697
3737
  - spec/unit/pops/types/p_object_type_spec.rb
3698
3738
  - spec/unit/pops/types/p_sem_ver_type_spec.rb
3739
+ - spec/unit/pops/types/p_sensitive_type_spec.rb
3740
+ - spec/unit/pops/types/p_type_set_type_spec.rb
3699
3741
  - spec/unit/pops/types/recursion_guard_spec.rb
3700
3742
  - spec/unit/pops/types/ruby_generator_spec.rb
3701
3743
  - spec/unit/pops/types/string_converter_spec.rb
@@ -3773,6 +3815,7 @@ test_files:
3773
3815
  - spec/unit/provider/package/puppet_gem_spec.rb
3774
3816
  - spec/unit/provider/package/rpm_spec.rb
3775
3817
  - spec/unit/provider/package/sun_spec.rb
3818
+ - spec/unit/provider/package/tdnf_spec.rb
3776
3819
  - spec/unit/provider/package/up2date_spec.rb
3777
3820
  - spec/unit/provider/package/urpmi_spec.rb
3778
3821
  - spec/unit/provider/package/windows/exe_package_spec.rb
@@ -3830,7 +3873,6 @@ test_files:
3830
3873
  - spec/unit/resource/capability_finder_spec.rb
3831
3874
  - spec/unit/resource/catalog_spec.rb
3832
3875
  - spec/unit/resource/status_spec.rb
3833
- - spec/unit/resource/type_collection_helper_spec.rb
3834
3876
  - spec/unit/resource/type_collection_spec.rb
3835
3877
  - spec/unit/resource/type_spec.rb
3836
3878
  - spec/unit/resource_spec.rb
@@ -3873,6 +3915,7 @@ test_files:
3873
3915
  - spec/unit/transaction/additional_resource_generator_spec.rb
3874
3916
  - spec/unit/transaction/event_manager_spec.rb
3875
3917
  - spec/unit/transaction/event_spec.rb
3918
+ - spec/unit/transaction/persistence_spec.rb
3876
3919
  - spec/unit/transaction/report_spec.rb
3877
3920
  - spec/unit/transaction/resource_harness_spec.rb
3878
3921
  - spec/unit/transaction_spec.rb