puppet 7.26.0-x86-mingw32 → 8.0.1-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1154) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +5 -5
  3. data/Gemfile +7 -6
  4. data/Gemfile.lock +58 -56
  5. data/bin/puppet +1 -0
  6. data/ext/build_defaults.yaml +1 -1
  7. data/ext/project_data.yaml +6 -7
  8. data/ext/windows/service/daemon.rb +1 -0
  9. data/install.rb +18 -18
  10. data/lib/hiera/puppet_function.rb +1 -0
  11. data/lib/hiera/scope.rb +6 -5
  12. data/lib/hiera_puppet.rb +2 -1
  13. data/lib/puppet/agent/disabler.rb +1 -0
  14. data/lib/puppet/agent/locker.rb +1 -0
  15. data/lib/puppet/agent.rb +1 -0
  16. data/lib/puppet/application/agent.rb +1 -0
  17. data/lib/puppet/application/apply.rb +1 -0
  18. data/lib/puppet/application/catalog.rb +1 -0
  19. data/lib/puppet/application/config.rb +1 -0
  20. data/lib/puppet/application/describe.rb +1 -0
  21. data/lib/puppet/application/device.rb +1 -0
  22. data/lib/puppet/application/doc.rb +2 -1
  23. data/lib/puppet/application/epp.rb +1 -0
  24. data/lib/puppet/application/face_base.rb +1 -0
  25. data/lib/puppet/application/facts.rb +1 -0
  26. data/lib/puppet/application/filebucket.rb +1 -0
  27. data/lib/puppet/application/generate.rb +1 -0
  28. data/lib/puppet/application/help.rb +1 -0
  29. data/lib/puppet/application/indirection_base.rb +1 -0
  30. data/lib/puppet/application/lookup.rb +2 -1
  31. data/lib/puppet/application/module.rb +1 -0
  32. data/lib/puppet/application/node.rb +1 -0
  33. data/lib/puppet/application/parser.rb +1 -0
  34. data/lib/puppet/application/plugin.rb +1 -0
  35. data/lib/puppet/application/report.rb +1 -0
  36. data/lib/puppet/application/resource.rb +1 -0
  37. data/lib/puppet/application/script.rb +1 -0
  38. data/lib/puppet/application/ssl.rb +1 -0
  39. data/lib/puppet/application.rb +1 -0
  40. data/lib/puppet/application_support.rb +1 -0
  41. data/lib/puppet/coercion.rb +1 -0
  42. data/lib/puppet/compilable_resource_type.rb +1 -0
  43. data/lib/puppet/concurrent/lock.rb +1 -0
  44. data/lib/puppet/concurrent/synchronized.rb +1 -0
  45. data/lib/puppet/concurrent.rb +1 -0
  46. data/lib/puppet/configurer/downloader.rb +1 -0
  47. data/lib/puppet/configurer/fact_handler.rb +1 -0
  48. data/lib/puppet/configurer/plugin_handler.rb +1 -0
  49. data/lib/puppet/configurer.rb +1 -0
  50. data/lib/puppet/confine/any.rb +1 -0
  51. data/lib/puppet/confine/boolean.rb +1 -0
  52. data/lib/puppet/confine/exists.rb +1 -0
  53. data/lib/puppet/confine/false.rb +1 -0
  54. data/lib/puppet/confine/feature.rb +1 -0
  55. data/lib/puppet/confine/true.rb +1 -0
  56. data/lib/puppet/confine/variable.rb +1 -0
  57. data/lib/puppet/confine.rb +1 -0
  58. data/lib/puppet/confine_collection.rb +1 -0
  59. data/lib/puppet/confiner.rb +2 -1
  60. data/lib/puppet/context/trusted_information.rb +7 -6
  61. data/lib/puppet/context.rb +1 -0
  62. data/lib/puppet/daemon.rb +1 -0
  63. data/lib/puppet/data_binding.rb +1 -0
  64. data/lib/puppet/datatypes/error.rb +1 -0
  65. data/lib/puppet/datatypes/impl/error.rb +1 -0
  66. data/lib/puppet/datatypes.rb +1 -0
  67. data/lib/puppet/defaults.rb +30 -18
  68. data/lib/puppet/environments.rb +1 -0
  69. data/lib/puppet/error.rb +1 -0
  70. data/lib/puppet/etc.rb +1 -0
  71. data/lib/puppet/external/dot.rb +1 -0
  72. data/lib/puppet/face/catalog/select.rb +1 -0
  73. data/lib/puppet/face/catalog.rb +1 -0
  74. data/lib/puppet/face/config.rb +2 -1
  75. data/lib/puppet/face/epp.rb +3 -2
  76. data/lib/puppet/face/facts.rb +1 -0
  77. data/lib/puppet/face/generate.rb +1 -0
  78. data/lib/puppet/face/help/action.erb +0 -1
  79. data/lib/puppet/face/help/face.erb +0 -1
  80. data/lib/puppet/face/help.rb +4 -3
  81. data/lib/puppet/face/module/changes.rb +1 -0
  82. data/lib/puppet/face/module/install.rb +1 -0
  83. data/lib/puppet/face/module/list.rb +3 -2
  84. data/lib/puppet/face/module/uninstall.rb +1 -0
  85. data/lib/puppet/face/module/upgrade.rb +1 -0
  86. data/lib/puppet/face/module.rb +1 -0
  87. data/lib/puppet/face/node/clean.rb +1 -0
  88. data/lib/puppet/face/node.rb +1 -0
  89. data/lib/puppet/face/parser.rb +2 -1
  90. data/lib/puppet/face/plugin.rb +1 -0
  91. data/lib/puppet/face/report.rb +1 -0
  92. data/lib/puppet/face/resource.rb +1 -0
  93. data/lib/puppet/face.rb +1 -0
  94. data/lib/puppet/feature/base.rb +1 -0
  95. data/lib/puppet/feature/bolt.rb +1 -0
  96. data/lib/puppet/feature/cfpropertylist.rb +1 -0
  97. data/lib/puppet/feature/eventlog.rb +1 -0
  98. data/lib/puppet/feature/hiera_eyaml.rb +1 -0
  99. data/lib/puppet/feature/hocon.rb +1 -0
  100. data/lib/puppet/feature/libuser.rb +1 -0
  101. data/lib/puppet/feature/msgpack.rb +1 -0
  102. data/lib/puppet/feature/pe_license.rb +1 -0
  103. data/lib/puppet/feature/pson.rb +5 -0
  104. data/lib/puppet/feature/selinux.rb +1 -0
  105. data/lib/puppet/feature/ssh.rb +1 -0
  106. data/lib/puppet/feature/telnet.rb +1 -0
  107. data/lib/puppet/feature/zlib.rb +1 -0
  108. data/lib/puppet/ffi/posix/constants.rb +1 -0
  109. data/lib/puppet/ffi/posix/functions.rb +1 -0
  110. data/lib/puppet/ffi/posix.rb +1 -0
  111. data/lib/puppet/ffi/windows/api_types.rb +2 -1
  112. data/lib/puppet/ffi/windows/constants.rb +1 -0
  113. data/lib/puppet/ffi/windows/functions.rb +1 -0
  114. data/lib/puppet/ffi/windows/structs.rb +1 -0
  115. data/lib/puppet/ffi/windows.rb +1 -0
  116. data/lib/puppet/file_bucket/dipper.rb +1 -0
  117. data/lib/puppet/file_bucket/file.rb +1 -0
  118. data/lib/puppet/file_bucket.rb +1 -0
  119. data/lib/puppet/file_serving/base.rb +1 -0
  120. data/lib/puppet/file_serving/configuration/parser.rb +1 -0
  121. data/lib/puppet/file_serving/configuration.rb +1 -0
  122. data/lib/puppet/file_serving/content.rb +1 -0
  123. data/lib/puppet/file_serving/fileset.rb +1 -0
  124. data/lib/puppet/file_serving/http_metadata.rb +1 -0
  125. data/lib/puppet/file_serving/metadata.rb +1 -0
  126. data/lib/puppet/file_serving/mount/file.rb +5 -4
  127. data/lib/puppet/file_serving/mount/locales.rb +1 -0
  128. data/lib/puppet/file_serving/mount/modules.rb +1 -0
  129. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -0
  130. data/lib/puppet/file_serving/mount/plugins.rb +1 -0
  131. data/lib/puppet/file_serving/mount/scripts.rb +1 -0
  132. data/lib/puppet/file_serving/mount/tasks.rb +1 -0
  133. data/lib/puppet/file_serving/mount.rb +1 -0
  134. data/lib/puppet/file_serving/terminus_helper.rb +1 -0
  135. data/lib/puppet/file_serving/terminus_selector.rb +1 -0
  136. data/lib/puppet/file_serving.rb +1 -0
  137. data/lib/puppet/file_system/file_impl.rb +1 -0
  138. data/lib/puppet/file_system/jruby.rb +1 -0
  139. data/lib/puppet/file_system/memory_file.rb +1 -0
  140. data/lib/puppet/file_system/memory_impl.rb +1 -0
  141. data/lib/puppet/file_system/path_pattern.rb +2 -1
  142. data/lib/puppet/file_system/posix.rb +3 -2
  143. data/lib/puppet/file_system/uniquefile.rb +2 -1
  144. data/lib/puppet/file_system/windows.rb +1 -0
  145. data/lib/puppet/file_system.rb +1 -0
  146. data/lib/puppet/forge/cache.rb +1 -0
  147. data/lib/puppet/forge/errors.rb +1 -0
  148. data/lib/puppet/forge/repository.rb +1 -0
  149. data/lib/puppet/forge.rb +2 -1
  150. data/lib/puppet/functions/abs.rb +1 -0
  151. data/lib/puppet/functions/alert.rb +1 -0
  152. data/lib/puppet/functions/all.rb +1 -0
  153. data/lib/puppet/functions/annotate.rb +1 -0
  154. data/lib/puppet/functions/any.rb +1 -0
  155. data/lib/puppet/functions/assert_type.rb +1 -0
  156. data/lib/puppet/functions/binary_file.rb +1 -0
  157. data/lib/puppet/functions/break.rb +1 -0
  158. data/lib/puppet/functions/call.rb +1 -0
  159. data/lib/puppet/functions/camelcase.rb +1 -0
  160. data/lib/puppet/functions/capitalize.rb +1 -0
  161. data/lib/puppet/functions/ceiling.rb +1 -0
  162. data/lib/puppet/functions/chomp.rb +1 -0
  163. data/lib/puppet/functions/chop.rb +1 -0
  164. data/lib/puppet/functions/compare.rb +1 -0
  165. data/lib/puppet/functions/contain.rb +1 -0
  166. data/lib/puppet/functions/convert_to.rb +1 -0
  167. data/lib/puppet/functions/crit.rb +1 -0
  168. data/lib/puppet/functions/debug.rb +1 -0
  169. data/lib/puppet/functions/defined.rb +1 -0
  170. data/lib/puppet/functions/dig.rb +1 -0
  171. data/lib/puppet/functions/downcase.rb +1 -0
  172. data/lib/puppet/functions/each.rb +1 -0
  173. data/lib/puppet/functions/emerg.rb +1 -0
  174. data/lib/puppet/functions/empty.rb +1 -0
  175. data/lib/puppet/functions/epp.rb +1 -0
  176. data/lib/puppet/functions/err.rb +1 -0
  177. data/lib/puppet/functions/eyaml_lookup_key.rb +1 -0
  178. data/lib/puppet/functions/filter.rb +1 -0
  179. data/lib/puppet/functions/find_file.rb +1 -0
  180. data/lib/puppet/functions/find_template.rb +1 -0
  181. data/lib/puppet/functions/flatten.rb +1 -0
  182. data/lib/puppet/functions/floor.rb +1 -0
  183. data/lib/puppet/functions/get.rb +1 -0
  184. data/lib/puppet/functions/getvar.rb +1 -0
  185. data/lib/puppet/functions/hiera.rb +1 -0
  186. data/lib/puppet/functions/hiera_array.rb +1 -0
  187. data/lib/puppet/functions/hiera_hash.rb +1 -0
  188. data/lib/puppet/functions/hiera_include.rb +1 -0
  189. data/lib/puppet/functions/hocon_data.rb +1 -0
  190. data/lib/puppet/functions/import.rb +1 -0
  191. data/lib/puppet/functions/include.rb +1 -0
  192. data/lib/puppet/functions/index.rb +1 -0
  193. data/lib/puppet/functions/info.rb +1 -0
  194. data/lib/puppet/functions/inline_epp.rb +1 -0
  195. data/lib/puppet/functions/join.rb +1 -0
  196. data/lib/puppet/functions/json_data.rb +1 -0
  197. data/lib/puppet/functions/keys.rb +1 -0
  198. data/lib/puppet/functions/length.rb +1 -0
  199. data/lib/puppet/functions/lest.rb +1 -0
  200. data/lib/puppet/functions/lookup.rb +1 -0
  201. data/lib/puppet/functions/lstrip.rb +1 -0
  202. data/lib/puppet/functions/map.rb +1 -0
  203. data/lib/puppet/functions/match.rb +1 -0
  204. data/lib/puppet/functions/max.rb +67 -0
  205. data/lib/puppet/functions/min.rb +67 -0
  206. data/lib/puppet/functions/module_directory.rb +1 -0
  207. data/lib/puppet/functions/new.rb +1 -0
  208. data/lib/puppet/functions/next.rb +1 -0
  209. data/lib/puppet/functions/notice.rb +1 -0
  210. data/lib/puppet/functions/reduce.rb +1 -0
  211. data/lib/puppet/functions/regsubst.rb +1 -0
  212. data/lib/puppet/functions/require.rb +1 -0
  213. data/lib/puppet/functions/return.rb +1 -0
  214. data/lib/puppet/functions/reverse_each.rb +1 -0
  215. data/lib/puppet/functions/round.rb +1 -0
  216. data/lib/puppet/functions/rstrip.rb +1 -0
  217. data/lib/puppet/functions/scanf.rb +1 -0
  218. data/lib/puppet/functions/size.rb +1 -0
  219. data/lib/puppet/functions/slice.rb +1 -0
  220. data/lib/puppet/functions/sort.rb +1 -0
  221. data/lib/puppet/functions/split.rb +1 -0
  222. data/lib/puppet/functions/step.rb +1 -0
  223. data/lib/puppet/functions/strftime.rb +1 -0
  224. data/lib/puppet/functions/strip.rb +1 -0
  225. data/lib/puppet/functions/then.rb +1 -0
  226. data/lib/puppet/functions/tree_each.rb +1 -0
  227. data/lib/puppet/functions/type.rb +1 -0
  228. data/lib/puppet/functions/unique.rb +1 -0
  229. data/lib/puppet/functions/unwrap.rb +1 -0
  230. data/lib/puppet/functions/upcase.rb +1 -0
  231. data/lib/puppet/functions/values.rb +1 -0
  232. data/lib/puppet/functions/versioncmp.rb +1 -0
  233. data/lib/puppet/functions/warning.rb +1 -0
  234. data/lib/puppet/functions/with.rb +1 -0
  235. data/lib/puppet/functions/yaml_data.rb +1 -0
  236. data/lib/puppet/functions.rb +6 -5
  237. data/lib/puppet/generate/models/type/property.rb +1 -0
  238. data/lib/puppet/generate/models/type/type.rb +1 -0
  239. data/lib/puppet/generate/type.rb +1 -0
  240. data/lib/puppet/gettext/config.rb +1 -0
  241. data/lib/puppet/gettext/module_translations.rb +1 -0
  242. data/lib/puppet/gettext/stubs.rb +1 -0
  243. data/lib/puppet/graph/key.rb +1 -0
  244. data/lib/puppet/graph/prioritizer.rb +1 -0
  245. data/lib/puppet/graph/rb_tree_map.rb +1 -0
  246. data/lib/puppet/graph/relationship_graph.rb +1 -0
  247. data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
  248. data/lib/puppet/graph/simple_graph.rb +1 -0
  249. data/lib/puppet/graph.rb +1 -0
  250. data/lib/puppet/http/client.rb +6 -12
  251. data/lib/puppet/http/dns.rb +1 -0
  252. data/lib/puppet/http/errors.rb +1 -0
  253. data/lib/puppet/http/external_client.rb +1 -0
  254. data/lib/puppet/http/factory.rb +1 -0
  255. data/lib/puppet/http/pool.rb +1 -0
  256. data/lib/puppet/http/pool_entry.rb +1 -0
  257. data/lib/puppet/http/proxy.rb +1 -0
  258. data/lib/puppet/http/redirector.rb +1 -0
  259. data/lib/puppet/http/resolver/server_list.rb +1 -0
  260. data/lib/puppet/http/resolver/settings.rb +1 -0
  261. data/lib/puppet/http/resolver/srv.rb +1 -0
  262. data/lib/puppet/http/resolver.rb +1 -0
  263. data/lib/puppet/http/response.rb +1 -0
  264. data/lib/puppet/http/response_converter.rb +1 -0
  265. data/lib/puppet/http/response_net_http.rb +1 -0
  266. data/lib/puppet/http/retry_after_handler.rb +1 -0
  267. data/lib/puppet/http/service/ca.rb +2 -1
  268. data/lib/puppet/http/service/compiler.rb +2 -1
  269. data/lib/puppet/http/service/file_server.rb +2 -1
  270. data/lib/puppet/http/service/puppetserver.rb +1 -0
  271. data/lib/puppet/http/service/report.rb +2 -4
  272. data/lib/puppet/http/service.rb +1 -0
  273. data/lib/puppet/http/session.rb +3 -2
  274. data/lib/puppet/http/site.rb +1 -0
  275. data/lib/puppet/http.rb +3 -2
  276. data/lib/puppet/indirector/catalog/compiler.rb +6 -5
  277. data/lib/puppet/indirector/catalog/json.rb +1 -0
  278. data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
  279. data/lib/puppet/indirector/catalog/rest.rb +1 -0
  280. data/lib/puppet/indirector/catalog/store_configs.rb +1 -0
  281. data/lib/puppet/indirector/catalog/yaml.rb +1 -0
  282. data/lib/puppet/indirector/code.rb +1 -0
  283. data/lib/puppet/indirector/data_binding/hiera.rb +1 -0
  284. data/lib/puppet/indirector/data_binding/none.rb +1 -0
  285. data/lib/puppet/indirector/direct_file_server.rb +1 -0
  286. data/lib/puppet/indirector/envelope.rb +1 -0
  287. data/lib/puppet/indirector/errors.rb +1 -0
  288. data/lib/puppet/indirector/exec.rb +1 -0
  289. data/lib/puppet/indirector/face.rb +6 -16
  290. data/lib/puppet/indirector/fact_search.rb +1 -0
  291. data/lib/puppet/indirector/facts/facter.rb +1 -0
  292. data/lib/puppet/indirector/facts/json.rb +1 -0
  293. data/lib/puppet/indirector/facts/memory.rb +1 -0
  294. data/lib/puppet/indirector/facts/network_device.rb +1 -0
  295. data/lib/puppet/indirector/facts/rest.rb +1 -0
  296. data/lib/puppet/indirector/facts/store_configs.rb +1 -0
  297. data/lib/puppet/indirector/facts/yaml.rb +1 -0
  298. data/lib/puppet/indirector/file_bucket_file/file.rb +2 -1
  299. data/lib/puppet/indirector/file_bucket_file/rest.rb +1 -0
  300. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -0
  301. data/lib/puppet/indirector/file_content/file.rb +1 -0
  302. data/lib/puppet/indirector/file_content/file_server.rb +1 -0
  303. data/lib/puppet/indirector/file_content/rest.rb +1 -0
  304. data/lib/puppet/indirector/file_content/selector.rb +1 -0
  305. data/lib/puppet/indirector/file_content.rb +1 -0
  306. data/lib/puppet/indirector/file_metadata/file.rb +1 -0
  307. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
  308. data/lib/puppet/indirector/file_metadata/http.rb +1 -0
  309. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  310. data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
  311. data/lib/puppet/indirector/file_metadata.rb +1 -0
  312. data/lib/puppet/indirector/file_server.rb +1 -0
  313. data/lib/puppet/indirector/generic_http.rb +1 -0
  314. data/lib/puppet/indirector/hiera.rb +1 -0
  315. data/lib/puppet/indirector/indirection.rb +2 -1
  316. data/lib/puppet/indirector/json.rb +1 -0
  317. data/lib/puppet/indirector/memory.rb +1 -0
  318. data/lib/puppet/indirector/msgpack.rb +1 -0
  319. data/lib/puppet/indirector/node/exec.rb +1 -0
  320. data/lib/puppet/indirector/node/json.rb +1 -0
  321. data/lib/puppet/indirector/node/memory.rb +1 -0
  322. data/lib/puppet/indirector/node/msgpack.rb +1 -0
  323. data/lib/puppet/indirector/node/plain.rb +1 -0
  324. data/lib/puppet/indirector/node/rest.rb +1 -0
  325. data/lib/puppet/indirector/node/store_configs.rb +1 -0
  326. data/lib/puppet/indirector/node/yaml.rb +1 -0
  327. data/lib/puppet/indirector/none.rb +1 -0
  328. data/lib/puppet/indirector/plain.rb +1 -0
  329. data/lib/puppet/indirector/report/json.rb +1 -0
  330. data/lib/puppet/indirector/report/msgpack.rb +1 -0
  331. data/lib/puppet/indirector/report/processor.rb +1 -0
  332. data/lib/puppet/indirector/report/rest.rb +1 -13
  333. data/lib/puppet/indirector/report/yaml.rb +1 -0
  334. data/lib/puppet/indirector/request.rb +1 -0
  335. data/lib/puppet/indirector/resource/ral.rb +1 -0
  336. data/lib/puppet/indirector/resource/store_configs.rb +1 -0
  337. data/lib/puppet/indirector/resource/validator.rb +1 -0
  338. data/lib/puppet/indirector/rest.rb +1 -0
  339. data/lib/puppet/indirector/store_configs.rb +1 -0
  340. data/lib/puppet/indirector/terminus.rb +1 -0
  341. data/lib/puppet/indirector/yaml.rb +1 -0
  342. data/lib/puppet/indirector.rb +1 -0
  343. data/lib/puppet/info_service/class_information_service.rb +1 -0
  344. data/lib/puppet/info_service/plan_information_service.rb +1 -0
  345. data/lib/puppet/info_service/task_information_service.rb +1 -0
  346. data/lib/puppet/info_service.rb +1 -0
  347. data/lib/puppet/interface/action.rb +1 -0
  348. data/lib/puppet/interface/action_builder.rb +1 -0
  349. data/lib/puppet/interface/action_manager.rb +1 -0
  350. data/lib/puppet/interface/documentation.rb +1 -1
  351. data/lib/puppet/interface/face_collection.rb +1 -0
  352. data/lib/puppet/interface/option.rb +1 -0
  353. data/lib/puppet/interface/option_builder.rb +1 -0
  354. data/lib/puppet/interface/option_manager.rb +1 -0
  355. data/lib/puppet/interface.rb +1 -0
  356. data/lib/puppet/loaders.rb +1 -0
  357. data/lib/puppet/metatype/manager.rb +1 -0
  358. data/lib/puppet/module/plan.rb +1 -0
  359. data/lib/puppet/module/task.rb +1 -2
  360. data/lib/puppet/module.rb +4 -1
  361. data/lib/puppet/module_tool/applications/application.rb +1 -0
  362. data/lib/puppet/module_tool/applications/checksummer.rb +1 -0
  363. data/lib/puppet/module_tool/applications/installer.rb +1 -0
  364. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -0
  365. data/lib/puppet/module_tool/applications/unpacker.rb +1 -0
  366. data/lib/puppet/module_tool/applications/upgrader.rb +1 -0
  367. data/lib/puppet/module_tool/applications.rb +1 -0
  368. data/lib/puppet/module_tool/checksums.rb +1 -0
  369. data/lib/puppet/module_tool/contents_description.rb +1 -0
  370. data/lib/puppet/module_tool/dependency.rb +1 -0
  371. data/lib/puppet/module_tool/errors/base.rb +1 -0
  372. data/lib/puppet/module_tool/errors/installer.rb +1 -0
  373. data/lib/puppet/module_tool/errors/shared.rb +1 -0
  374. data/lib/puppet/module_tool/errors/uninstaller.rb +1 -0
  375. data/lib/puppet/module_tool/errors/upgrader.rb +1 -0
  376. data/lib/puppet/module_tool/errors.rb +1 -0
  377. data/lib/puppet/module_tool/install_directory.rb +1 -0
  378. data/lib/puppet/module_tool/installed_modules.rb +1 -0
  379. data/lib/puppet/module_tool/local_tarball.rb +1 -0
  380. data/lib/puppet/module_tool/metadata.rb +1 -0
  381. data/lib/puppet/module_tool/shared_behaviors.rb +1 -0
  382. data/lib/puppet/module_tool/tar/gnu.rb +1 -0
  383. data/lib/puppet/module_tool/tar/mini.rb +1 -0
  384. data/lib/puppet/module_tool/tar.rb +1 -0
  385. data/lib/puppet/module_tool.rb +2 -1
  386. data/lib/puppet/network/authconfig.rb +1 -0
  387. data/lib/puppet/network/authorization.rb +1 -0
  388. data/lib/puppet/network/client_request.rb +1 -0
  389. data/lib/puppet/network/format.rb +1 -0
  390. data/lib/puppet/network/format_handler.rb +2 -1
  391. data/lib/puppet/network/format_support.rb +1 -0
  392. data/lib/puppet/network/formats.rb +6 -3
  393. data/lib/puppet/network/http/api/indirected_routes.rb +1 -0
  394. data/lib/puppet/network/http/api/indirection_type.rb +1 -0
  395. data/lib/puppet/network/http/api/master/v3/environments.rb +1 -0
  396. data/lib/puppet/network/http/api/master/v3.rb +1 -0
  397. data/lib/puppet/network/http/api/master.rb +1 -0
  398. data/lib/puppet/network/http/api/server/v3/environments.rb +1 -0
  399. data/lib/puppet/network/http/api/server/v3.rb +1 -0
  400. data/lib/puppet/network/http/api/server.rb +1 -0
  401. data/lib/puppet/network/http/api.rb +1 -0
  402. data/lib/puppet/network/http/connection.rb +1 -0
  403. data/lib/puppet/network/http/error.rb +1 -0
  404. data/lib/puppet/network/http/handler.rb +1 -0
  405. data/lib/puppet/network/http/issues.rb +1 -0
  406. data/lib/puppet/network/http/memory_response.rb +2 -1
  407. data/lib/puppet/network/http/request.rb +1 -0
  408. data/lib/puppet/network/http/response.rb +1 -0
  409. data/lib/puppet/network/http/route.rb +1 -0
  410. data/lib/puppet/network/http.rb +1 -0
  411. data/lib/puppet/network/http_pool.rb +1 -0
  412. data/lib/puppet/network/uri.rb +1 -0
  413. data/lib/puppet/network.rb +1 -0
  414. data/lib/puppet/node/environment.rb +3 -2
  415. data/lib/puppet/node/facts.rb +1 -0
  416. data/lib/puppet/node.rb +2 -1
  417. data/lib/puppet/pal/catalog_compiler.rb +1 -0
  418. data/lib/puppet/pal/compiler.rb +1 -0
  419. data/lib/puppet/pal/function_signature.rb +1 -0
  420. data/lib/puppet/pal/json_catalog_encoder.rb +1 -0
  421. data/lib/puppet/pal/pal_api.rb +1 -0
  422. data/lib/puppet/pal/pal_impl.rb +1 -0
  423. data/lib/puppet/pal/plan_signature.rb +1 -0
  424. data/lib/puppet/pal/script_compiler.rb +1 -0
  425. data/lib/puppet/pal/task_signature.rb +1 -0
  426. data/lib/puppet/parameter/boolean.rb +1 -0
  427. data/lib/puppet/parameter/package_options.rb +1 -0
  428. data/lib/puppet/parameter/path.rb +1 -0
  429. data/lib/puppet/parameter/value.rb +1 -0
  430. data/lib/puppet/parameter/value_collection.rb +2 -1
  431. data/lib/puppet/parameter.rb +1 -0
  432. data/lib/puppet/parser/abstract_compiler.rb +1 -0
  433. data/lib/puppet/parser/ast/block_expression.rb +1 -0
  434. data/lib/puppet/parser/ast/branch.rb +1 -0
  435. data/lib/puppet/parser/ast/hostclass.rb +1 -0
  436. data/lib/puppet/parser/ast/leaf.rb +1 -0
  437. data/lib/puppet/parser/ast/node.rb +1 -0
  438. data/lib/puppet/parser/ast/pops_bridge.rb +1 -0
  439. data/lib/puppet/parser/ast/resource.rb +1 -0
  440. data/lib/puppet/parser/ast/resource_instance.rb +1 -0
  441. data/lib/puppet/parser/ast/resourceparam.rb +1 -0
  442. data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
  443. data/lib/puppet/parser/ast.rb +1 -0
  444. data/lib/puppet/parser/catalog_compiler.rb +1 -0
  445. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +1 -0
  446. data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
  447. data/lib/puppet/parser/compiler.rb +2 -1
  448. data/lib/puppet/parser/e4_parser_adapter.rb +1 -0
  449. data/lib/puppet/parser/files.rb +1 -0
  450. data/lib/puppet/parser/functions/assert_type.rb +1 -0
  451. data/lib/puppet/parser/functions/binary_file.rb +1 -0
  452. data/lib/puppet/parser/functions/break.rb +1 -0
  453. data/lib/puppet/parser/functions/contain.rb +1 -0
  454. data/lib/puppet/parser/functions/create_resources.rb +1 -0
  455. data/lib/puppet/parser/functions/defined.rb +1 -0
  456. data/lib/puppet/parser/functions/dig.rb +1 -0
  457. data/lib/puppet/parser/functions/digest.rb +1 -0
  458. data/lib/puppet/parser/functions/each.rb +1 -0
  459. data/lib/puppet/parser/functions/epp.rb +1 -0
  460. data/lib/puppet/parser/functions/fail.rb +1 -0
  461. data/lib/puppet/parser/functions/file.rb +1 -0
  462. data/lib/puppet/parser/functions/filter.rb +1 -0
  463. data/lib/puppet/parser/functions/find_file.rb +1 -0
  464. data/lib/puppet/parser/functions/fqdn_rand.rb +1 -0
  465. data/lib/puppet/parser/functions/generate.rb +1 -0
  466. data/lib/puppet/parser/functions/hiera.rb +1 -0
  467. data/lib/puppet/parser/functions/hiera_array.rb +1 -0
  468. data/lib/puppet/parser/functions/hiera_hash.rb +1 -0
  469. data/lib/puppet/parser/functions/hiera_include.rb +1 -0
  470. data/lib/puppet/parser/functions/include.rb +1 -0
  471. data/lib/puppet/parser/functions/inline_epp.rb +1 -0
  472. data/lib/puppet/parser/functions/inline_template.rb +1 -0
  473. data/lib/puppet/parser/functions/lest.rb +1 -0
  474. data/lib/puppet/parser/functions/lookup.rb +1 -0
  475. data/lib/puppet/parser/functions/map.rb +1 -0
  476. data/lib/puppet/parser/functions/match.rb +1 -0
  477. data/lib/puppet/parser/functions/md5.rb +1 -0
  478. data/lib/puppet/parser/functions/new.rb +1 -0
  479. data/lib/puppet/parser/functions/next.rb +1 -0
  480. data/lib/puppet/parser/functions/realize.rb +1 -0
  481. data/lib/puppet/parser/functions/reduce.rb +1 -0
  482. data/lib/puppet/parser/functions/regsubst.rb +1 -0
  483. data/lib/puppet/parser/functions/require.rb +1 -0
  484. data/lib/puppet/parser/functions/return.rb +1 -0
  485. data/lib/puppet/parser/functions/reverse_each.rb +1 -0
  486. data/lib/puppet/parser/functions/scanf.rb +1 -0
  487. data/lib/puppet/parser/functions/sha1.rb +1 -0
  488. data/lib/puppet/parser/functions/sha256.rb +1 -0
  489. data/lib/puppet/parser/functions/shellquote.rb +1 -0
  490. data/lib/puppet/parser/functions/slice.rb +1 -0
  491. data/lib/puppet/parser/functions/split.rb +1 -0
  492. data/lib/puppet/parser/functions/sprintf.rb +1 -0
  493. data/lib/puppet/parser/functions/step.rb +1 -0
  494. data/lib/puppet/parser/functions/strftime.rb +1 -0
  495. data/lib/puppet/parser/functions/tag.rb +1 -0
  496. data/lib/puppet/parser/functions/tagged.rb +1 -0
  497. data/lib/puppet/parser/functions/template.rb +1 -0
  498. data/lib/puppet/parser/functions/then.rb +1 -0
  499. data/lib/puppet/parser/functions/type.rb +1 -0
  500. data/lib/puppet/parser/functions/versioncmp.rb +1 -0
  501. data/lib/puppet/parser/functions/with.rb +1 -0
  502. data/lib/puppet/parser/functions.rb +2 -1
  503. data/lib/puppet/parser/parser_factory.rb +1 -0
  504. data/lib/puppet/parser/relationship.rb +1 -0
  505. data/lib/puppet/parser/resource/param.rb +1 -0
  506. data/lib/puppet/parser/resource.rb +1 -0
  507. data/lib/puppet/parser/scope.rb +6 -1
  508. data/lib/puppet/parser/script_compiler.rb +1 -0
  509. data/lib/puppet/parser/type_loader.rb +1 -0
  510. data/lib/puppet/parser.rb +1 -0
  511. data/lib/puppet/plugins/configuration.rb +1 -0
  512. data/lib/puppet/plugins/syntax_checkers.rb +1 -0
  513. data/lib/puppet/plugins.rb +1 -0
  514. data/lib/puppet/pops/adaptable.rb +1 -0
  515. data/lib/puppet/pops/adapters.rb +1 -0
  516. data/lib/puppet/pops/evaluator/access_operator.rb +2 -1
  517. data/lib/puppet/pops/evaluator/callable_signature.rb +1 -0
  518. data/lib/puppet/pops/evaluator/closure.rb +2 -1
  519. data/lib/puppet/pops/evaluator/collector_transformer.rb +1 -0
  520. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -0
  521. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -0
  522. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -0
  523. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +1 -0
  524. data/lib/puppet/pops/evaluator/compare_operator.rb +1 -0
  525. data/lib/puppet/pops/evaluator/deferred_resolver.rb +6 -22
  526. data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -0
  527. data/lib/puppet/pops/evaluator/evaluator_impl.rb +2 -1
  528. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -0
  529. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -1
  530. data/lib/puppet/pops/evaluator/literal_evaluator.rb +2 -1
  531. data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -0
  532. data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -0
  533. data/lib/puppet/pops/evaluator/runtime3_converter.rb +1 -0
  534. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +2 -1
  535. data/lib/puppet/pops/evaluator/runtime3_support.rb +2 -1
  536. data/lib/puppet/pops/functions/dispatch.rb +1 -0
  537. data/lib/puppet/pops/functions/dispatcher.rb +1 -0
  538. data/lib/puppet/pops/functions/function.rb +1 -0
  539. data/lib/puppet/pops/issue_reporter.rb +1 -0
  540. data/lib/puppet/pops/issues.rb +1 -0
  541. data/lib/puppet/pops/label_provider.rb +1 -0
  542. data/lib/puppet/pops/loader/base_loader.rb +1 -0
  543. data/lib/puppet/pops/loader/dependency_loader.rb +1 -0
  544. data/lib/puppet/pops/loader/gem_support.rb +1 -0
  545. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
  546. data/lib/puppet/pops/loader/loader.rb +3 -2
  547. data/lib/puppet/pops/loader/loader_paths.rb +13 -12
  548. data/lib/puppet/pops/loader/module_loaders.rb +2 -1
  549. data/lib/puppet/pops/loader/predefined_loader.rb +1 -0
  550. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +1 -0
  551. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +1 -0
  552. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +1 -0
  553. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +1 -0
  554. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +1 -0
  555. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +2 -1
  556. data/lib/puppet/pops/loader/runtime3_type_loader.rb +1 -0
  557. data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -0
  558. data/lib/puppet/pops/loader/static_loader.rb +1 -0
  559. data/lib/puppet/pops/loader/task_instantiator.rb +1 -0
  560. data/lib/puppet/pops/loader/type_definition_instantiator.rb +1 -0
  561. data/lib/puppet/pops/loader/typed_name.rb +2 -1
  562. data/lib/puppet/pops/loader/uri_helper.rb +1 -0
  563. data/lib/puppet/pops/loaders.rb +1 -0
  564. data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
  565. data/lib/puppet/pops/lookup/context.rb +1 -0
  566. data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
  567. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +3 -2
  568. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +4 -3
  569. data/lib/puppet/pops/lookup/data_provider.rb +1 -0
  570. data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
  571. data/lib/puppet/pops/lookup/explainer.rb +3 -2
  572. data/lib/puppet/pops/lookup/function_provider.rb +1 -0
  573. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -0
  574. data/lib/puppet/pops/lookup/hiera_config.rb +47 -42
  575. data/lib/puppet/pops/lookup/interpolation.rb +10 -4
  576. data/lib/puppet/pops/lookup/invocation.rb +1 -0
  577. data/lib/puppet/pops/lookup/key_recorder.rb +1 -0
  578. data/lib/puppet/pops/lookup/location_resolver.rb +1 -0
  579. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -6
  580. data/lib/puppet/pops/lookup/lookup_key.rb +1 -0
  581. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +3 -2
  582. data/lib/puppet/pops/lookup/module_data_provider.rb +1 -0
  583. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -0
  584. data/lib/puppet/pops/lookup.rb +3 -2
  585. data/lib/puppet/pops/merge_strategy.rb +1 -0
  586. data/lib/puppet/pops/migration/migration_checker.rb +1 -0
  587. data/lib/puppet/pops/model/ast_transformer.rb +1 -0
  588. data/lib/puppet/pops/model/factory.rb +1 -1
  589. data/lib/puppet/pops/model/model_label_provider.rb +1 -0
  590. data/lib/puppet/pops/model/model_tree_dumper.rb +1 -0
  591. data/lib/puppet/pops/model/pn_transformer.rb +1 -0
  592. data/lib/puppet/pops/model/tree_dumper.rb +2 -1
  593. data/lib/puppet/pops/parser/code_merger.rb +1 -0
  594. data/lib/puppet/pops/parser/epp_parser.rb +1 -0
  595. data/lib/puppet/pops/parser/epp_support.rb +2 -1
  596. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -1
  597. data/lib/puppet/pops/parser/heredoc_support.rb +1 -0
  598. data/lib/puppet/pops/parser/interpolation_support.rb +1 -0
  599. data/lib/puppet/pops/parser/lexer_support.rb +1 -0
  600. data/lib/puppet/pops/parser/locatable.rb +1 -0
  601. data/lib/puppet/pops/parser/locator.rb +1 -0
  602. data/lib/puppet/pops/parser/parser_support.rb +1 -0
  603. data/lib/puppet/pops/parser/pn_parser.rb +5 -4
  604. data/lib/puppet/pops/patterns.rb +1 -0
  605. data/lib/puppet/pops/pcore.rb +3 -2
  606. data/lib/puppet/pops/pn.rb +2 -1
  607. data/lib/puppet/pops/puppet_stack.rb +1 -0
  608. data/lib/puppet/pops/resource/param.rb +1 -0
  609. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -0
  610. data/lib/puppet/pops/semantic_error.rb +1 -0
  611. data/lib/puppet/pops/serialization/abstract_reader.rb +1 -0
  612. data/lib/puppet/pops/serialization/abstract_writer.rb +1 -0
  613. data/lib/puppet/pops/serialization/deserializer.rb +1 -0
  614. data/lib/puppet/pops/serialization/extension.rb +1 -0
  615. data/lib/puppet/pops/serialization/from_data_converter.rb +1 -0
  616. data/lib/puppet/pops/serialization/instance_reader.rb +1 -0
  617. data/lib/puppet/pops/serialization/instance_writer.rb +1 -0
  618. data/lib/puppet/pops/serialization/json.rb +1 -0
  619. data/lib/puppet/pops/serialization/json_path.rb +2 -1
  620. data/lib/puppet/pops/serialization/object.rb +1 -0
  621. data/lib/puppet/pops/serialization/serializer.rb +1 -0
  622. data/lib/puppet/pops/serialization/time_factory.rb +1 -0
  623. data/lib/puppet/pops/serialization/to_data_converter.rb +2 -1
  624. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -0
  625. data/lib/puppet/pops/serialization.rb +9 -8
  626. data/lib/puppet/pops/time/timespan.rb +14 -13
  627. data/lib/puppet/pops/time/timestamp.rb +3 -2
  628. data/lib/puppet/pops/types/annotatable.rb +2 -1
  629. data/lib/puppet/pops/types/annotation.rb +2 -1
  630. data/lib/puppet/pops/types/class_loader.rb +1 -0
  631. data/lib/puppet/pops/types/implementation_registry.rb +1 -0
  632. data/lib/puppet/pops/types/iterable.rb +1 -0
  633. data/lib/puppet/pops/types/p_binary_type.rb +1 -0
  634. data/lib/puppet/pops/types/p_init_type.rb +1 -0
  635. data/lib/puppet/pops/types/p_meta_type.rb +4 -3
  636. data/lib/puppet/pops/types/p_object_type.rb +16 -15
  637. data/lib/puppet/pops/types/p_object_type_extension.rb +1 -0
  638. data/lib/puppet/pops/types/p_runtime_type.rb +1 -0
  639. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -0
  640. data/lib/puppet/pops/types/p_sem_ver_type.rb +1 -0
  641. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -0
  642. data/lib/puppet/pops/types/p_timespan_type.rb +1 -0
  643. data/lib/puppet/pops/types/p_timestamp_type.rb +1 -0
  644. data/lib/puppet/pops/types/p_type_set_type.rb +9 -8
  645. data/lib/puppet/pops/types/p_uri_type.rb +9 -8
  646. data/lib/puppet/pops/types/puppet_object.rb +1 -0
  647. data/lib/puppet/pops/types/recursion_guard.rb +1 -0
  648. data/lib/puppet/pops/types/ruby_generator.rb +3 -2
  649. data/lib/puppet/pops/types/ruby_method.rb +1 -0
  650. data/lib/puppet/pops/types/string_converter.rb +10 -9
  651. data/lib/puppet/pops/types/tree_iterators.rb +1 -0
  652. data/lib/puppet/pops/types/type_acceptor.rb +1 -0
  653. data/lib/puppet/pops/types/type_asserter.rb +1 -0
  654. data/lib/puppet/pops/types/type_assertion_error.rb +1 -0
  655. data/lib/puppet/pops/types/type_calculator.rb +2 -1
  656. data/lib/puppet/pops/types/type_conversion_error.rb +1 -0
  657. data/lib/puppet/pops/types/type_factory.rb +2 -1
  658. data/lib/puppet/pops/types/type_formatter.rb +2 -2
  659. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -0
  660. data/lib/puppet/pops/types/type_parser.rb +1 -0
  661. data/lib/puppet/pops/types/type_set_reference.rb +1 -0
  662. data/lib/puppet/pops/types/type_with_members.rb +1 -0
  663. data/lib/puppet/pops/types/types.rb +3 -2
  664. data/lib/puppet/pops/utils.rb +3 -2
  665. data/lib/puppet/pops/validation/checker4_0.rb +1 -0
  666. data/lib/puppet/pops/validation/tasks_checker.rb +1 -0
  667. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
  668. data/lib/puppet/pops/validation.rb +1 -0
  669. data/lib/puppet/pops/visitable.rb +1 -0
  670. data/lib/puppet/pops/visitor.rb +1 -0
  671. data/lib/puppet/pops.rb +4 -3
  672. data/lib/puppet/property/boolean.rb +1 -0
  673. data/lib/puppet/property/ensure.rb +1 -0
  674. data/lib/puppet/property/keyvalue.rb +1 -0
  675. data/lib/puppet/property/list.rb +1 -0
  676. data/lib/puppet/property/ordered_list.rb +1 -0
  677. data/lib/puppet/property.rb +1 -0
  678. data/lib/puppet/provider/aix_object.rb +1 -0
  679. data/lib/puppet/provider/command.rb +1 -0
  680. data/lib/puppet/provider/confine.rb +1 -0
  681. data/lib/puppet/provider/exec/posix.rb +1 -0
  682. data/lib/puppet/provider/exec/shell.rb +1 -0
  683. data/lib/puppet/provider/exec/windows.rb +4 -3
  684. data/lib/puppet/provider/exec.rb +1 -0
  685. data/lib/puppet/provider/file/posix.rb +1 -0
  686. data/lib/puppet/provider/file/windows.rb +2 -1
  687. data/lib/puppet/provider/group/aix.rb +3 -2
  688. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  689. data/lib/puppet/provider/group/groupadd.rb +2 -1
  690. data/lib/puppet/provider/group/ldap.rb +1 -0
  691. data/lib/puppet/provider/group/pw.rb +3 -2
  692. data/lib/puppet/provider/group/windows_adsi.rb +3 -2
  693. data/lib/puppet/provider/ldap.rb +1 -0
  694. data/lib/puppet/provider/nameservice/directoryservice.rb +5 -4
  695. data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
  696. data/lib/puppet/provider/nameservice/pw.rb +1 -0
  697. data/lib/puppet/provider/nameservice.rb +1 -0
  698. data/lib/puppet/provider/network_device.rb +1 -0
  699. data/lib/puppet/provider/package/aix.rb +3 -2
  700. data/lib/puppet/provider/package/appdmg.rb +2 -1
  701. data/lib/puppet/provider/package/apple.rb +2 -1
  702. data/lib/puppet/provider/package/apt.rb +2 -1
  703. data/lib/puppet/provider/package/aptitude.rb +1 -0
  704. data/lib/puppet/provider/package/aptrpm.rb +1 -0
  705. data/lib/puppet/provider/package/blastwave.rb +2 -1
  706. data/lib/puppet/provider/package/dnf.rb +5 -4
  707. data/lib/puppet/provider/package/dnfmodule.rb +1 -0
  708. data/lib/puppet/provider/package/dpkg.rb +1 -0
  709. data/lib/puppet/provider/package/fink.rb +1 -0
  710. data/lib/puppet/provider/package/freebsd.rb +2 -1
  711. data/lib/puppet/provider/package/gem.rb +5 -4
  712. data/lib/puppet/provider/package/hpux.rb +3 -2
  713. data/lib/puppet/provider/package/macports.rb +2 -1
  714. data/lib/puppet/provider/package/nim.rb +1 -0
  715. data/lib/puppet/provider/package/openbsd.rb +3 -2
  716. data/lib/puppet/provider/package/opkg.rb +3 -2
  717. data/lib/puppet/provider/package/pacman.rb +3 -2
  718. data/lib/puppet/provider/package/pip.rb +1 -0
  719. data/lib/puppet/provider/package/pip2.rb +1 -0
  720. data/lib/puppet/provider/package/pip3.rb +1 -0
  721. data/lib/puppet/provider/package/pkg.rb +4 -3
  722. data/lib/puppet/provider/package/pkgdmg.rb +3 -2
  723. data/lib/puppet/provider/package/pkgin.rb +2 -1
  724. data/lib/puppet/provider/package/pkgng.rb +3 -2
  725. data/lib/puppet/provider/package/pkgutil.rb +2 -1
  726. data/lib/puppet/provider/package/portage.rb +3 -2
  727. data/lib/puppet/provider/package/ports.rb +1 -0
  728. data/lib/puppet/provider/package/portupgrade.rb +2 -1
  729. data/lib/puppet/provider/package/puppet_gem.rb +3 -2
  730. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -0
  731. data/lib/puppet/provider/package/rpm.rb +1 -0
  732. data/lib/puppet/provider/package/rug.rb +2 -1
  733. data/lib/puppet/provider/package/sun.rb +3 -2
  734. data/lib/puppet/provider/package/sunfreeware.rb +2 -1
  735. data/lib/puppet/provider/package/tdnf.rb +2 -1
  736. data/lib/puppet/provider/package/up2date.rb +3 -2
  737. data/lib/puppet/provider/package/urpmi.rb +2 -1
  738. data/lib/puppet/provider/package/windows/exe_package.rb +1 -0
  739. data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
  740. data/lib/puppet/provider/package/windows/package.rb +1 -0
  741. data/lib/puppet/provider/package/windows.rb +3 -2
  742. data/lib/puppet/provider/package/yum.rb +4 -3
  743. data/lib/puppet/provider/package/zypper.rb +3 -2
  744. data/lib/puppet/provider/package.rb +1 -0
  745. data/lib/puppet/provider/package_targetable.rb +1 -0
  746. data/lib/puppet/provider/parsedfile.rb +1 -0
  747. data/lib/puppet/provider/service/base.rb +2 -1
  748. data/lib/puppet/provider/service/bsd.rb +2 -1
  749. data/lib/puppet/provider/service/daemontools.rb +2 -1
  750. data/lib/puppet/provider/service/debian.rb +4 -3
  751. data/lib/puppet/provider/service/freebsd.rb +3 -2
  752. data/lib/puppet/provider/service/gentoo.rb +2 -1
  753. data/lib/puppet/provider/service/init.rb +6 -5
  754. data/lib/puppet/provider/service/launchd.rb +4 -3
  755. data/lib/puppet/provider/service/openbsd.rb +3 -2
  756. data/lib/puppet/provider/service/openrc.rb +3 -2
  757. data/lib/puppet/provider/service/openwrt.rb +3 -2
  758. data/lib/puppet/provider/service/rcng.rb +3 -2
  759. data/lib/puppet/provider/service/redhat.rb +4 -3
  760. data/lib/puppet/provider/service/runit.rb +1 -0
  761. data/lib/puppet/provider/service/service.rb +1 -0
  762. data/lib/puppet/provider/service/smf.rb +6 -5
  763. data/lib/puppet/provider/service/src.rb +3 -2
  764. data/lib/puppet/provider/service/systemd.rb +15 -14
  765. data/lib/puppet/provider/service/upstart.rb +8 -7
  766. data/lib/puppet/provider/service/windows.rb +3 -2
  767. data/lib/puppet/provider/user/aix.rb +3 -2
  768. data/lib/puppet/provider/user/directoryservice.rb +5 -4
  769. data/lib/puppet/provider/user/hpux.rb +3 -2
  770. data/lib/puppet/provider/user/ldap.rb +1 -0
  771. data/lib/puppet/provider/user/openbsd.rb +3 -2
  772. data/lib/puppet/provider/user/pw.rb +3 -2
  773. data/lib/puppet/provider/user/user_role_add.rb +2 -1
  774. data/lib/puppet/provider/user/useradd.rb +7 -6
  775. data/lib/puppet/provider/user/windows_adsi.rb +3 -2
  776. data/lib/puppet/provider.rb +1 -0
  777. data/lib/puppet/reference/configuration.rb +2 -1
  778. data/lib/puppet/reference/function.rb +1 -0
  779. data/lib/puppet/reference/indirection.rb +2 -1
  780. data/lib/puppet/reference/metaparameter.rb +1 -0
  781. data/lib/puppet/reference/providers.rb +5 -5
  782. data/lib/puppet/reference/report.rb +1 -0
  783. data/lib/puppet/reference/type.rb +1 -0
  784. data/lib/puppet/relationship.rb +1 -0
  785. data/lib/puppet/reports/http.rb +1 -0
  786. data/lib/puppet/reports/log.rb +1 -0
  787. data/lib/puppet/reports/store.rb +1 -0
  788. data/lib/puppet/reports.rb +2 -1
  789. data/lib/puppet/resource/catalog.rb +1 -0
  790. data/lib/puppet/resource/status.rb +1 -0
  791. data/lib/puppet/resource/type.rb +9 -8
  792. data/lib/puppet/resource.rb +9 -8
  793. data/lib/puppet/runtime.rb +1 -0
  794. data/lib/puppet/scheduler/job.rb +1 -0
  795. data/lib/puppet/scheduler/scheduler.rb +1 -0
  796. data/lib/puppet/scheduler/splay_job.rb +1 -0
  797. data/lib/puppet/scheduler/timer.rb +1 -0
  798. data/lib/puppet/scheduler.rb +1 -0
  799. data/lib/puppet/settings/alias_setting.rb +1 -0
  800. data/lib/puppet/settings/array_setting.rb +1 -0
  801. data/lib/puppet/settings/autosign_setting.rb +1 -0
  802. data/lib/puppet/settings/base_setting.rb +1 -0
  803. data/lib/puppet/settings/boolean_setting.rb +1 -0
  804. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -0
  805. data/lib/puppet/settings/config_file.rb +1 -0
  806. data/lib/puppet/settings/directory_setting.rb +1 -0
  807. data/lib/puppet/settings/duration_setting.rb +1 -0
  808. data/lib/puppet/settings/enum_setting.rb +1 -0
  809. data/lib/puppet/settings/environment_conf.rb +1 -0
  810. data/lib/puppet/settings/errors.rb +1 -0
  811. data/lib/puppet/settings/file_or_directory_setting.rb +1 -0
  812. data/lib/puppet/settings/file_setting.rb +1 -0
  813. data/lib/puppet/settings/http_extra_headers_setting.rb +1 -0
  814. data/lib/puppet/settings/ini_file.rb +1 -0
  815. data/lib/puppet/settings/integer_setting.rb +1 -0
  816. data/lib/puppet/settings/path_setting.rb +1 -0
  817. data/lib/puppet/settings/port_setting.rb +1 -0
  818. data/lib/puppet/settings/priority_setting.rb +1 -0
  819. data/lib/puppet/settings/server_list_setting.rb +1 -0
  820. data/lib/puppet/settings/string_setting.rb +1 -0
  821. data/lib/puppet/settings/symbolic_enum_setting.rb +1 -0
  822. data/lib/puppet/settings/terminus_setting.rb +1 -0
  823. data/lib/puppet/settings/ttl_setting.rb +1 -0
  824. data/lib/puppet/settings/value_translator.rb +1 -0
  825. data/lib/puppet/settings.rb +5 -4
  826. data/lib/puppet/ssl/base.rb +1 -0
  827. data/lib/puppet/ssl/certificate.rb +1 -0
  828. data/lib/puppet/ssl/certificate_request.rb +2 -4
  829. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -0
  830. data/lib/puppet/ssl/certificate_signer.rb +1 -0
  831. data/lib/puppet/ssl/digest.rb +1 -0
  832. data/lib/puppet/ssl/error.rb +1 -0
  833. data/lib/puppet/ssl/oids.rb +1 -1
  834. data/lib/puppet/ssl/openssl_loader.rb +1 -0
  835. data/lib/puppet/ssl/ssl_context.rb +1 -0
  836. data/lib/puppet/ssl/ssl_provider.rb +2 -1
  837. data/lib/puppet/ssl/state_machine.rb +1 -0
  838. data/lib/puppet/ssl/verifier.rb +1 -0
  839. data/lib/puppet/ssl.rb +2 -1
  840. data/lib/puppet/syntax_checkers/base64.rb +1 -0
  841. data/lib/puppet/syntax_checkers/epp.rb +1 -0
  842. data/lib/puppet/syntax_checkers/json.rb +1 -0
  843. data/lib/puppet/syntax_checkers/pp.rb +1 -0
  844. data/lib/puppet/syntax_checkers.rb +1 -0
  845. data/lib/puppet/test/test_helper.rb +4 -21
  846. data/lib/puppet/thread_local.rb +5 -1
  847. data/lib/puppet/transaction/additional_resource_generator.rb +1 -0
  848. data/lib/puppet/transaction/event.rb +1 -0
  849. data/lib/puppet/transaction/event_manager.rb +1 -0
  850. data/lib/puppet/transaction/persistence.rb +1 -0
  851. data/lib/puppet/transaction/report.rb +3 -2
  852. data/lib/puppet/transaction/resource_harness.rb +1 -0
  853. data/lib/puppet/transaction.rb +1 -0
  854. data/lib/puppet/trusted_external.rb +1 -0
  855. data/lib/puppet/type/component.rb +1 -0
  856. data/lib/puppet/type/exec.rb +1 -0
  857. data/lib/puppet/type/file/checksum.rb +1 -0
  858. data/lib/puppet/type/file/checksum_value.rb +1 -0
  859. data/lib/puppet/type/file/content.rb +1 -0
  860. data/lib/puppet/type/file/ctime.rb +1 -0
  861. data/lib/puppet/type/file/data_sync.rb +1 -0
  862. data/lib/puppet/type/file/ensure.rb +1 -0
  863. data/lib/puppet/type/file/group.rb +1 -0
  864. data/lib/puppet/type/file/mode.rb +1 -0
  865. data/lib/puppet/type/file/mtime.rb +1 -0
  866. data/lib/puppet/type/file/owner.rb +1 -0
  867. data/lib/puppet/type/file/selcontext.rb +1 -0
  868. data/lib/puppet/type/file/source.rb +2 -1
  869. data/lib/puppet/type/file/target.rb +1 -0
  870. data/lib/puppet/type/file/type.rb +1 -0
  871. data/lib/puppet/type/file.rb +1 -0
  872. data/lib/puppet/type/filebucket.rb +1 -0
  873. data/lib/puppet/type/group.rb +1 -0
  874. data/lib/puppet/type/notify.rb +1 -0
  875. data/lib/puppet/type/package.rb +3 -2
  876. data/lib/puppet/type/resources.rb +2 -1
  877. data/lib/puppet/type/schedule.rb +1 -0
  878. data/lib/puppet/type/service.rb +1 -0
  879. data/lib/puppet/type/stage.rb +1 -0
  880. data/lib/puppet/type/tidy.rb +1 -0
  881. data/lib/puppet/type/user.rb +1 -0
  882. data/lib/puppet/type/whit.rb +1 -0
  883. data/lib/puppet/type.rb +2 -42
  884. data/lib/puppet/util/at_fork/noop.rb +1 -0
  885. data/lib/puppet/util/at_fork/solaris.rb +1 -0
  886. data/lib/puppet/util/at_fork.rb +1 -0
  887. data/lib/puppet/util/autoload.rb +1 -0
  888. data/lib/puppet/util/backups.rb +1 -0
  889. data/lib/puppet/util/character_encoding.rb +1 -0
  890. data/lib/puppet/util/checksums.rb +1 -0
  891. data/lib/puppet/util/classgen.rb +1 -0
  892. data/lib/puppet/util/colors.rb +1 -0
  893. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -0
  894. data/lib/puppet/util/command_line/trollop.rb +1 -0
  895. data/lib/puppet/util/command_line.rb +1 -0
  896. data/lib/puppet/util/constant_inflector.rb +1 -0
  897. data/lib/puppet/util/diff.rb +2 -1
  898. data/lib/puppet/util/docs.rb +1 -0
  899. data/lib/puppet/util/errors.rb +1 -0
  900. data/lib/puppet/util/execution.rb +4 -3
  901. data/lib/puppet/util/execution_stub.rb +1 -0
  902. data/lib/puppet/util/feature.rb +1 -0
  903. data/lib/puppet/util/file_watcher.rb +1 -0
  904. data/lib/puppet/util/fileparsing.rb +1 -0
  905. data/lib/puppet/util/filetype.rb +3 -2
  906. data/lib/puppet/util/http_proxy.rb +1 -0
  907. data/lib/puppet/util/inifile.rb +3 -2
  908. data/lib/puppet/util/instance_loader.rb +1 -0
  909. data/lib/puppet/util/json.rb +1 -0
  910. data/lib/puppet/util/json_lockfile.rb +1 -0
  911. data/lib/puppet/util/ldap/connection.rb +1 -0
  912. data/lib/puppet/util/ldap/generator.rb +1 -0
  913. data/lib/puppet/util/ldap/manager.rb +1 -0
  914. data/lib/puppet/util/ldap.rb +1 -0
  915. data/lib/puppet/util/libuser.rb +1 -0
  916. data/lib/puppet/util/limits.rb +1 -0
  917. data/lib/puppet/util/lockfile.rb +1 -0
  918. data/lib/puppet/util/log/destination.rb +1 -0
  919. data/lib/puppet/util/log/destinations.rb +1 -0
  920. data/lib/puppet/util/log.rb +1 -0
  921. data/lib/puppet/util/logging.rb +1 -0
  922. data/lib/puppet/util/metaid.rb +1 -0
  923. data/lib/puppet/util/metric.rb +1 -0
  924. data/lib/puppet/util/monkey_patches.rb +3 -28
  925. data/lib/puppet/util/multi_match.rb +1 -0
  926. data/lib/puppet/util/network_device/base.rb +1 -0
  927. data/lib/puppet/util/network_device/config.rb +1 -0
  928. data/lib/puppet/util/network_device/transport/base.rb +1 -0
  929. data/lib/puppet/util/network_device/transport.rb +1 -0
  930. data/lib/puppet/util/network_device.rb +1 -0
  931. data/lib/puppet/util/package/version/debian.rb +1 -0
  932. data/lib/puppet/util/package/version/gem.rb +1 -0
  933. data/lib/puppet/util/package/version/pip.rb +2 -1
  934. data/lib/puppet/util/package/version/range/eq.rb +1 -0
  935. data/lib/puppet/util/package/version/range/gt.rb +1 -0
  936. data/lib/puppet/util/package/version/range/gt_eq.rb +1 -0
  937. data/lib/puppet/util/package/version/range/lt.rb +1 -0
  938. data/lib/puppet/util/package/version/range/lt_eq.rb +1 -0
  939. data/lib/puppet/util/package/version/range/min_max.rb +1 -0
  940. data/lib/puppet/util/package/version/range/simple.rb +1 -0
  941. data/lib/puppet/util/package/version/range.rb +1 -0
  942. data/lib/puppet/util/package/version/rpm.rb +1 -1
  943. data/lib/puppet/util/pidlock.rb +1 -0
  944. data/lib/puppet/util/platform.rb +3 -2
  945. data/lib/puppet/util/plist.rb +1 -0
  946. data/lib/puppet/util/posix.rb +1 -0
  947. data/lib/puppet/util/profiler/aggregate.rb +1 -0
  948. data/lib/puppet/util/profiler/around_profiler.rb +1 -0
  949. data/lib/puppet/util/profiler/logging.rb +1 -0
  950. data/lib/puppet/util/profiler/object_counts.rb +1 -0
  951. data/lib/puppet/util/profiler/wall_clock.rb +1 -0
  952. data/lib/puppet/util/profiler.rb +1 -0
  953. data/lib/puppet/util/provider_features.rb +2 -1
  954. data/lib/puppet/util/psych_support.rb +1 -0
  955. data/lib/puppet/util/rdoc/code_objects.rb +1 -0
  956. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -0
  957. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1 -0
  958. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -0
  959. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
  960. data/lib/puppet/util/rdoc/parser.rb +1 -0
  961. data/lib/puppet/util/rdoc.rb +1 -0
  962. data/lib/puppet/util/reference.rb +1 -0
  963. data/lib/puppet/util/resource_template.rb +1 -0
  964. data/lib/puppet/util/retry_action.rb +1 -0
  965. data/lib/puppet/util/rpm_compare.rb +1 -0
  966. data/lib/puppet/util/rubygems.rb +1 -0
  967. data/lib/puppet/util/run_mode.rb +1 -0
  968. data/lib/puppet/util/selinux.rb +2 -1
  969. data/lib/puppet/util/skip_tags.rb +1 -0
  970. data/lib/puppet/util/splayer.rb +1 -0
  971. data/lib/puppet/util/storage.rb +1 -0
  972. data/lib/puppet/util/suidmanager.rb +2 -1
  973. data/lib/puppet/util/symbolic_file_mode.rb +1 -0
  974. data/lib/puppet/util/tag_set.rb +1 -0
  975. data/lib/puppet/util/terminal.rb +1 -0
  976. data/lib/puppet/util/user_attr.rb +1 -0
  977. data/lib/puppet/util/warnings.rb +1 -0
  978. data/lib/puppet/util/watched_file.rb +1 -0
  979. data/lib/puppet/util/watcher/change_watcher.rb +1 -0
  980. data/lib/puppet/util/watcher/periodic_watcher.rb +1 -0
  981. data/lib/puppet/util/watcher/timer.rb +1 -0
  982. data/lib/puppet/util/watcher.rb +1 -0
  983. data/lib/puppet/util/windows/access_control_entry.rb +2 -1
  984. data/lib/puppet/util/windows/access_control_list.rb +2 -1
  985. data/lib/puppet/util/windows/adsi.rb +3 -2
  986. data/lib/puppet/util/windows/com.rb +1 -0
  987. data/lib/puppet/util/windows/daemon.rb +1 -0
  988. data/lib/puppet/util/windows/error.rb +2 -1
  989. data/lib/puppet/util/windows/eventlog.rb +1 -0
  990. data/lib/puppet/util/windows/file.rb +3 -2
  991. data/lib/puppet/util/windows/principal.rb +1 -0
  992. data/lib/puppet/util/windows/process.rb +2 -1
  993. data/lib/puppet/util/windows/registry.rb +1 -0
  994. data/lib/puppet/util/windows/root_certs.rb +1 -0
  995. data/lib/puppet/util/windows/security.rb +1 -0
  996. data/lib/puppet/util/windows/security_descriptor.rb +1 -0
  997. data/lib/puppet/util/windows/service.rb +1 -0
  998. data/lib/puppet/util/windows/sid.rb +1 -0
  999. data/lib/puppet/util/windows/string.rb +1 -0
  1000. data/lib/puppet/util/windows/user.rb +1 -0
  1001. data/lib/puppet/util/windows.rb +1 -0
  1002. data/lib/puppet/util/yaml.rb +1 -0
  1003. data/lib/puppet/util.rb +32 -87
  1004. data/lib/puppet/vendor.rb +1 -0
  1005. data/lib/puppet/version.rb +2 -1
  1006. data/lib/puppet/x509/cert_provider.rb +1 -0
  1007. data/lib/puppet/x509/pem_store.rb +1 -0
  1008. data/lib/puppet/x509.rb +1 -0
  1009. data/lib/puppet.rb +5 -8
  1010. data/lib/puppet_pal.rb +1 -0
  1011. data/lib/puppet_x.rb +1 -0
  1012. data/locales/puppet.pot +9679 -5
  1013. data/man/man5/puppet.conf.5 +13 -13
  1014. data/man/man8/puppet-agent.8 +1 -1
  1015. data/man/man8/puppet-apply.8 +1 -1
  1016. data/man/man8/puppet-catalog.8 +1 -5
  1017. data/man/man8/puppet-config.8 +1 -1
  1018. data/man/man8/puppet-describe.8 +1 -1
  1019. data/man/man8/puppet-device.8 +1 -1
  1020. data/man/man8/puppet-doc.8 +1 -1
  1021. data/man/man8/puppet-epp.8 +1 -1
  1022. data/man/man8/puppet-facts.8 +1 -5
  1023. data/man/man8/puppet-filebucket.8 +1 -1
  1024. data/man/man8/puppet-generate.8 +1 -1
  1025. data/man/man8/puppet-help.8 +1 -1
  1026. data/man/man8/puppet-lookup.8 +1 -1
  1027. data/man/man8/puppet-module.8 +1 -1
  1028. data/man/man8/puppet-node.8 +1 -5
  1029. data/man/man8/puppet-parser.8 +1 -1
  1030. data/man/man8/puppet-plugin.8 +1 -1
  1031. data/man/man8/puppet-report.8 +1 -5
  1032. data/man/man8/puppet-resource.8 +1 -1
  1033. data/man/man8/puppet-script.8 +1 -1
  1034. data/man/man8/puppet-ssl.8 +1 -1
  1035. data/man/man8/puppet.8 +2 -2
  1036. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +1 -1
  1037. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +1 -1
  1038. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +1 -1
  1039. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +1 -1
  1040. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +1 -1
  1041. data/spec/integration/application/agent_spec.rb +17 -12
  1042. data/spec/integration/application/apply_spec.rb +23 -29
  1043. data/spec/integration/configurer_spec.rb +4 -2
  1044. data/spec/integration/defaults_spec.rb +3 -3
  1045. data/spec/integration/http/client_spec.rb +2 -18
  1046. data/spec/integration/network/formats_spec.rb +1 -1
  1047. data/spec/integration/network/http/api/indirected_routes_spec.rb +2 -2
  1048. data/spec/integration/network/http_pool_spec.rb +2 -2
  1049. data/spec/integration/node/facts_spec.rb +2 -2
  1050. data/spec/integration/parser/compiler_spec.rb +15 -4
  1051. data/spec/integration/parser/conditionals_spec.rb +3 -0
  1052. data/spec/integration/parser/scope_spec.rb +10 -3
  1053. data/spec/integration/type/file_spec.rb +2 -2
  1054. data/spec/integration/type/package_spec.rb +5 -5
  1055. data/spec/integration/util_spec.rb +1 -1
  1056. data/spec/lib/puppet_spec/network.rb +18 -0
  1057. data/spec/shared_examples/rhel_package_provider.rb +2 -2
  1058. data/spec/unit/application/device_spec.rb +2 -2
  1059. data/spec/unit/application/lookup_spec.rb +6 -0
  1060. data/spec/unit/application/resource_spec.rb +22 -13
  1061. data/spec/unit/configurer/fact_handler_spec.rb +1 -1
  1062. data/spec/unit/confine_spec.rb +6 -6
  1063. data/spec/unit/data_providers/hiera_data_provider_spec.rb +2 -0
  1064. data/spec/unit/defaults_spec.rb +48 -2
  1065. data/spec/unit/external/pson_spec.rb +1 -3
  1066. data/spec/unit/face/epp_face_spec.rb +2 -2
  1067. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  1068. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  1069. data/spec/unit/file_serving/mount/file_spec.rb +2 -2
  1070. data/spec/unit/functions/epp_spec.rb +7 -1
  1071. data/spec/unit/functions/hiera_spec.rb +7 -7
  1072. data/spec/unit/functions/inline_epp_spec.rb +7 -1
  1073. data/spec/unit/functions/lookup_spec.rb +59 -69
  1074. data/spec/unit/functions/max_spec.rb +30 -1
  1075. data/spec/unit/functions/min_spec.rb +30 -1
  1076. data/spec/unit/functions/return_spec.rb +4 -0
  1077. data/spec/unit/hiera/scope_spec.rb +6 -1
  1078. data/spec/unit/hiera_puppet_spec.rb +1 -1
  1079. data/spec/unit/http/factory_spec.rb +1 -1
  1080. data/spec/unit/http/service/compiler_spec.rb +5 -3
  1081. data/spec/unit/http/service/file_server_spec.rb +5 -3
  1082. data/spec/unit/http/service/report_spec.rb +4 -14
  1083. data/spec/unit/http/service_spec.rb +5 -11
  1084. data/spec/unit/indirector/catalog/compiler_spec.rb +12 -11
  1085. data/spec/unit/indirector/face_spec.rb +4 -6
  1086. data/spec/unit/indirector/facts/facter_spec.rb +1 -1
  1087. data/spec/unit/indirector/hiera_spec.rb +7 -2
  1088. data/spec/unit/indirector/report/rest_spec.rb +0 -26
  1089. data/spec/unit/indirector/rest_spec.rb +1 -1
  1090. data/spec/unit/module_spec.rb +2 -6
  1091. data/spec/unit/module_tool/tar_spec.rb +3 -3
  1092. data/spec/unit/network/formats_spec.rb +1 -1
  1093. data/spec/unit/network/http/api/indirected_routes_spec.rb +10 -10
  1094. data/spec/unit/parser/scope_spec.rb +4 -0
  1095. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +8 -0
  1096. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +5 -0
  1097. data/spec/unit/pops/loaders/loaders_spec.rb +7 -7
  1098. data/spec/unit/pops/lookup/interpolation_spec.rb +12 -0
  1099. data/spec/unit/pops/serialization/serialization_spec.rb +2 -2
  1100. data/spec/unit/pops/serialization/to_from_hr_spec.rb +13 -1
  1101. data/spec/unit/pops/validator/validator_spec.rb +2 -3
  1102. data/spec/unit/provider/package/apt_spec.rb +2 -2
  1103. data/spec/unit/provider/package/dnf_spec.rb +15 -15
  1104. data/spec/unit/provider/package/dnfmodule_spec.rb +6 -6
  1105. data/spec/unit/provider/package/gem_spec.rb +4 -4
  1106. data/spec/unit/provider/package/pip2_spec.rb +2 -2
  1107. data/spec/unit/provider/package/pip3_spec.rb +2 -2
  1108. data/spec/unit/provider/package/pip_spec.rb +2 -2
  1109. data/spec/unit/provider/package/pkg_spec.rb +8 -8
  1110. data/spec/unit/provider/package/pkgng_spec.rb +1 -1
  1111. data/spec/unit/provider/package/portage_spec.rb +2 -2
  1112. data/spec/unit/provider/package/puppet_gem_spec.rb +6 -6
  1113. data/spec/unit/provider/package/puppetserver_gem_spec.rb +2 -2
  1114. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  1115. data/spec/unit/provider/package/up2date_spec.rb +2 -2
  1116. data/spec/unit/provider/package/yum_spec.rb +16 -16
  1117. data/spec/unit/provider/service/base_spec.rb +1 -1
  1118. data/spec/unit/provider/service/bsd_spec.rb +2 -2
  1119. data/spec/unit/provider/service/debian_spec.rb +7 -7
  1120. data/spec/unit/provider/service/freebsd_spec.rb +1 -1
  1121. data/spec/unit/provider/service/gentoo_spec.rb +2 -2
  1122. data/spec/unit/provider/service/init_spec.rb +8 -8
  1123. data/spec/unit/provider/service/openbsd_spec.rb +2 -2
  1124. data/spec/unit/provider/service/openwrt_spec.rb +1 -1
  1125. data/spec/unit/provider/service/rcng_spec.rb +2 -2
  1126. data/spec/unit/provider/service/redhat_spec.rb +7 -7
  1127. data/spec/unit/provider/service/smf_spec.rb +8 -8
  1128. data/spec/unit/provider/service/systemd_spec.rb +57 -57
  1129. data/spec/unit/provider/service/upstart_spec.rb +3 -3
  1130. data/spec/unit/provider/user/directoryservice_spec.rb +2 -2
  1131. data/spec/unit/provider/user/openbsd_spec.rb +2 -2
  1132. data/spec/unit/provider/user/useradd_spec.rb +14 -14
  1133. data/spec/unit/provider_spec.rb +51 -51
  1134. data/spec/unit/reports/store_spec.rb +5 -3
  1135. data/spec/unit/resource/catalog_spec.rb +13 -4
  1136. data/spec/unit/ssl/certificate_request_spec.rb +6 -2
  1137. data/spec/unit/ssl/ssl_provider_spec.rb +7 -2
  1138. data/spec/unit/ssl/state_machine_spec.rb +1 -6
  1139. data/spec/unit/test/test_helper_spec.rb +4 -4
  1140. data/spec/unit/transaction/report_spec.rb +39 -7
  1141. data/spec/unit/type/package_spec.rb +3 -3
  1142. data/spec/unit/type/resources_spec.rb +2 -2
  1143. data/spec/unit/type_spec.rb +2 -2
  1144. data/spec/unit/util/json_lockfile_spec.rb +1 -1
  1145. data/spec/unit/util/monkey_patches_spec.rb +0 -18
  1146. data/spec/unit/util/run_mode_spec.rb +0 -32
  1147. data/spec/unit/util_spec.rb +68 -62
  1148. data/spec/unit/x509/cert_provider_spec.rb +2 -2
  1149. metadata +19 -37
  1150. data/lib/puppet/external/pson/common.rb +0 -374
  1151. data/lib/puppet/external/pson/pure/generator.rb +0 -395
  1152. data/lib/puppet/external/pson/pure/parser.rb +0 -308
  1153. data/lib/puppet/external/pson/pure.rb +0 -15
  1154. data/lib/puppet/external/pson/version.rb +0 -8
@@ -137,7 +137,7 @@ describe "Puppet defaults" do
137
137
 
138
138
  it "path should not add anything" do
139
139
  path = "c:\\windows\\system32#{File::PATH_SEPARATOR}c:\\windows"
140
- Puppet::Util.withenv( {"PATH" => path }, :windows ) do
140
+ Puppet::Util.withenv("PATH" => path) do
141
141
  Puppet.settings[:path] = "none" # this causes it to ignore the setting
142
142
  expect(ENV["PATH"]).to eq(path)
143
143
  end
@@ -145,10 +145,10 @@ describe "Puppet defaults" do
145
145
 
146
146
  it "path should support UTF8 characters" do
147
147
  path = "c:\\windows\\system32#{File::PATH_SEPARATOR}c:\\windows#{File::PATH_SEPARATOR}C:\\" + rune_utf8
148
- Puppet::Util.withenv( {"PATH" => path }, :windows) do
148
+ Puppet::Util.withenv("PATH" => path) do
149
149
  Puppet.settings[:path] = "none" # this causes it to ignore the setting
150
150
 
151
- expect(Puppet::Util.get_env('Path')).to eq(path)
151
+ expect(ENV['Path']).to eq(path)
152
152
  end
153
153
  end
154
154
  end
@@ -53,7 +53,7 @@ describe Puppet::HTTP::Client, unless: Puppet::Util::Platform.jruby? do
53
53
  expect {
54
54
  client.get(URI("https://127.0.0.1:#{port}"), options: {ssl_context: alt_context})
55
55
  }.to raise_error(Puppet::SSL::CertVerifyError,
56
- %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})
56
+ %r{certificate verify failed.* .self.signed certificate in certificate chain for CN=Test CA.})
57
57
  end
58
58
  end
59
59
 
@@ -170,23 +170,7 @@ describe Puppet::HTTP::Client, unless: Puppet::Util::Platform.jruby? do
170
170
  expect {
171
171
  client.get(URI("https://127.0.0.1:#{port}"), options: {ssl_context: system_context})
172
172
  }.to raise_error(Puppet::SSL::CertVerifyError,
173
- %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})
174
- end
175
- end
176
- end
177
-
178
- context 'ensure that retrying does not attempt to read the body after closing the connection' do
179
- let(:client) { Puppet::HTTP::Client.new(retry_limit: 1) }
180
- it 'raises a retry error instead' do
181
- response_proc = -> (req, res) {
182
- res['Retry-After'] = 1
183
- res.status = 503
184
- }
185
-
186
- https_server.start_server(response_proc: response_proc) do |port|
187
- uri = URI("https://127.0.0.1:#{port}")
188
- kwargs = {headers: {'Content-Type' => 'text/plain'}, options: {ssl_context: root_context}}
189
- expect{client.post(uri, '', **kwargs)}.to raise_error(Puppet::HTTP::TooManyRetryAfters)
173
+ %r{certificate verify failed.* .self.signed certificate in certificate chain for CN=Test CA.})
190
174
  end
191
175
  end
192
176
  end
@@ -43,7 +43,7 @@ describe Puppet::Network::FormatHandler.format(:s) do
43
43
  end
44
44
  end
45
45
 
46
- describe Puppet::Network::FormatHandler.format(:pson) do
46
+ describe Puppet::Network::FormatHandler.format(:pson), if: Puppet.features.pson? do
47
47
  before do
48
48
  @pson = Puppet::Network::FormatHandler.format(:pson)
49
49
  end
@@ -32,7 +32,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
32
32
 
33
33
  it "should find the file metadata with expected checksum" do
34
34
  request = a_request_that_finds(Puppet::IndirectorProxy.new("modules/lib/file.rb", "file_metadata"),
35
- {:accept_header => 'unknown, text/pson'},
35
+ {:accept_header => 'unknown, application/json'},
36
36
  {:environment => 'production', :checksum_type => checksum_type})
37
37
  handler.call(request, response)
38
38
  resp = Puppet::Util::Json.load(response.body)
@@ -43,7 +43,7 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
43
43
 
44
44
  it "should search for the file metadata with expected checksum" do
45
45
  request = a_request_that_searches(Puppet::IndirectorProxy.new("modules/lib", "file_metadata"),
46
- {:accept_header => 'unknown, text/pson'},
46
+ {:accept_header => 'unknown, application/json'},
47
47
  {:environment => 'production', :checksum_type => checksum_type, :recurse => 'yes'})
48
48
  handler.call(request, response)
49
49
  resp = Puppet::Util::Json.load(response.body)
@@ -77,7 +77,7 @@ describe Puppet::Network::HttpPool, unless: Puppet::Util::Platform.jruby? do
77
77
  expect {
78
78
  http.get('/')
79
79
  }.to raise_error(Puppet::Error,
80
- %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})
80
+ %r{certificate verify failed.* .self.signed certificate in certificate chain for CN=Test CA.})
81
81
  end
82
82
  end
83
83
 
@@ -219,7 +219,7 @@ describe Puppet::Network::HttpPool, unless: Puppet::Util::Platform.jruby? do
219
219
  expect {
220
220
  http.get('/')
221
221
  }.to raise_error(Puppet::Error,
222
- %r{certificate verify failed.* .self signed certificate in certificate chain for CN=Test CA.})
222
+ %r{certificate verify failed.* .self.signed certificate in certificate chain for CN=Test CA.})
223
223
  end
224
224
  end
225
225
 
@@ -30,9 +30,9 @@ describe Puppet::Node::Facts do
30
30
  it "should be able to delegate to the :facter terminus" do
31
31
  allow(Puppet::Node::Facts.indirection).to receive(:terminus_class).and_return(:facter)
32
32
 
33
- expect(Facter).to receive(:to_hash).and_return("facter_hash")
33
+ expect(Facter).to receive(:resolve).and_return({1 => 2})
34
34
  facts = Puppet::Node::Facts.new("me")
35
- expect(Puppet::Node::Facts).to receive(:new).with("me", "facter_hash").and_return(facts)
35
+ expect(Puppet::Node::Facts).to receive(:new).with("me", {1 => 2}).and_return(facts)
36
36
 
37
37
  expect(Puppet::Node::Facts.indirection.find("me")).to equal(facts)
38
38
  end
@@ -158,7 +158,7 @@ describe Puppet::Parser::Compiler do
158
158
  it 'makes $settings::strict available as string' do
159
159
  node = Puppet::Node.new("testing")
160
160
  catalog = compile_to_catalog(<<-MANIFEST, node)
161
- notify { 'test': message => $settings::strict == 'warning' }
161
+ notify { 'test': message => $settings::strict == 'error' }
162
162
  MANIFEST
163
163
  expect(catalog).to have_resource("Notify[test]").with_parameter(:message, true)
164
164
  end
@@ -174,7 +174,7 @@ describe Puppet::Parser::Compiler do
174
174
  it 'makes all server settings available as $settings::all_local hash' do
175
175
  node = Puppet::Node.new("testing")
176
176
  catalog = compile_to_catalog(<<-MANIFEST, node)
177
- notify { 'test': message => $settings::all_local['strict'] == 'warning' }
177
+ notify { 'test': message => $settings::all_local['strict'] == 'error' }
178
178
  MANIFEST
179
179
  expect(catalog).to have_resource("Notify[test]").with_parameter(:message, true)
180
180
  end
@@ -693,8 +693,19 @@ describe Puppet::Parser::Compiler do
693
693
  end.to raise_error(/Illegal variable name/)
694
694
  end
695
695
 
696
- it 'a missing variable as default value becomes undef' do
697
- # strict variables not on
696
+ it 'a missing variable as default causes an evaluation error' do
697
+ # strict mode on by default for 8.x
698
+ expect {
699
+ compile_to_catalog(<<-MANIFEST)
700
+ class a ($b=$x) { notify {test: message=>"yes ${undef == $b}" } }
701
+ include a
702
+ MANIFEST
703
+ }.to raise_error(/Evaluation Error: Unknown variable: 'x'/)
704
+ end
705
+
706
+ it 'a missing variable as default value becomes undef when strict mode is off' do
707
+ Puppet[:strict_variables] = false
708
+ Puppet[:strict] = :warning
698
709
  catalog = compile_to_catalog(<<-MANIFEST)
699
710
  class a ($b=$x) { notify {test: message=>"yes ${undef == $b}" } }
700
711
  include a
@@ -68,6 +68,9 @@ describe "Evaluation of Conditionals" do
68
68
  end
69
69
 
70
70
  it "evaluates undefined variables as false" do
71
+ # strict mode is off so behavior this test is trying to check isn't stubbed out
72
+ Puppet[:strict_variables] = false
73
+ Puppet[:strict] = :warning
71
74
  catalog = compile_to_catalog(<<-CODE)
72
75
  if $undef_var {
73
76
  } else {
@@ -276,6 +276,9 @@ describe "Two step scoping for variables" do
276
276
 
277
277
  ['a:.b', '::a::b'].each do |ref|
278
278
  it "does not resolve a qualified name on the form #{ref} against top scope" do
279
+ # strict mode is off so behavior this test is trying to check isn't stubbed out
280
+ Puppet[:strict_variables] = false
281
+ Puppet[:strict] = :warning
279
282
  expect_the_message_not_to_be("from topscope") do <<-"MANIFEST"
280
283
  class c {
281
284
  notify { 'something': message => "$#{ref}" }
@@ -297,6 +300,9 @@ describe "Two step scoping for variables" do
297
300
 
298
301
  ['a:.b', '::a::b'].each do |ref|
299
302
  it "does not resolve a qualified name on the form #{ref} against node scope" do
303
+ # strict mode is off so behavior this test is trying to check isn't stubbed out
304
+ Puppet[:strict_variables] = false
305
+ Puppet[:strict] = :warning
300
306
  expect_the_message_not_to_be("from node") do <<-MANIFEST
301
307
  class c {
302
308
  notify { 'something': message => "$a::b" }
@@ -626,8 +632,9 @@ describe "Two step scoping for variables" do
626
632
  end
627
633
  end
628
634
 
629
- it "finds nil when the only set variable is in the dynamic scope" do
630
- expect_the_message_to_be(nil) do <<-MANIFEST
635
+ it "raises an evaluation error when the only set variable is in the dynamic scope" do
636
+ expect {
637
+ compile_to_catalog(<<-MANIFEST)
631
638
  node default {
632
639
  include baz
633
640
  }
@@ -641,7 +648,7 @@ describe "Two step scoping for variables" do
641
648
  include bar
642
649
  }
643
650
  MANIFEST
644
- end
651
+ }.to raise_error(/Evaluation Error: Unknown variable: 'var'./)
645
652
  end
646
653
 
647
654
  it "ignores the value in the dynamic scope for a defined type" do
@@ -1710,11 +1710,11 @@ describe Puppet::Type.type(:file), :uses_checksums => true do
1710
1710
 
1711
1711
  describe "when using validate_cmd" do
1712
1712
  test_cmd = '/bin/test'
1713
- if Puppet.runtime[:facter].value(:osfamily) == 'Debian'
1713
+ if Puppet.runtime[:facter].value('os.family') == 'Debian'
1714
1714
  test_cmd = '/usr/bin/test'
1715
1715
  end
1716
1716
 
1717
- if Puppet.runtime[:facter].value(:operatingsystem) == 'Darwin'
1717
+ if Puppet.runtime[:facter].value('os.name') == 'Darwin'
1718
1718
  stat_cmd = "stat -f '%Lp'"
1719
1719
  else
1720
1720
  stat_cmd = "stat --format=%a"
@@ -21,19 +21,19 @@ describe Puppet::Type.type(:package), "when choosing a default package provider"
21
21
  when 'Darwin'
22
22
  :pkgdmg
23
23
  when 'RedHat'
24
- if ['2.1', '3', '4'].include?(Puppet.runtime[:facter].value(:lsbdistrelease))
24
+ if ['2.1', '3', '4'].include?(Puppet.runtime[:facter].value('os.distro.release.full'))
25
25
  :up2date
26
26
  else
27
27
  :yum
28
28
  end
29
29
  when 'Fedora'
30
- if Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value(:operatingsystemmajrelease), '22') >= 0
30
+ if Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value('os.release.major'), '22') >= 0
31
31
  :dnf
32
32
  else
33
33
  :yum
34
34
  end
35
35
  when 'Suse'
36
- if Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value(:operatingsystemmajrelease), '10') >= 0
36
+ if Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value('os.release.major'), '10') >= 0
37
37
  :zypper
38
38
  else
39
39
  :rug
@@ -54,8 +54,8 @@ describe Puppet::Type.type(:package), "when choosing a default package provider"
54
54
  end
55
55
 
56
56
  it "should choose the correct provider each platform" do
57
- unless default_provider = provider_name(Puppet.runtime[:facter].value(:operatingsystem))
58
- pending("No default provider specified in this test for #{Puppet.runtime[:facter].value(:operatingsystem)}")
57
+ unless default_provider = provider_name(Puppet.runtime[:facter].value('os.name'))
58
+ pending("No default provider specified in this test for #{Puppet.runtime[:facter].value('os.name')}")
59
59
  end
60
60
  expect(Puppet::Type.type(:package).defaultprovider.name).to eq(default_provider)
61
61
  end
@@ -96,7 +96,7 @@ describe Puppet::Util do
96
96
  Puppet::FileSystem.touch(filepath)
97
97
 
98
98
  path = [utf8, "c:\\windows\\system32", "c:\\windows"].join(File::PATH_SEPARATOR)
99
- Puppet::Util.withenv( { "PATH" => path } , :windows) do
99
+ Puppet::Util.withenv("PATH" => path) do
100
100
  expect(Puppet::Util.which(filename)).to eq(filepath)
101
101
  end
102
102
  end
@@ -33,6 +33,24 @@ module PuppetSpec::Network
33
33
  { :environment => "production" }
34
34
  end
35
35
 
36
+ def acceptable_content_types
37
+ types = ['application/json']
38
+ types << 'application/x-msgpack' if Puppet.features.msgpack?
39
+ types << 'text/pson' if Puppet.features.pson?
40
+ types
41
+ end
42
+
43
+ def acceptable_content_types_string
44
+ acceptable_content_types.join(', ')
45
+ end
46
+
47
+ def acceptable_catalog_content_types
48
+ types = %w[application/vnd.puppet.rich+json application/json]
49
+ types.concat(%w[application/vnd.puppet.rich+msgpack application/x-msgpack]) if Puppet.features.msgpack?
50
+ types << 'text/pson' if Puppet.features.pson?
51
+ types
52
+ end
53
+
36
54
  def master_url_prefix
37
55
  "#{Puppet::Network::HTTP::MASTER_URL_PREFIX}/v3"
38
56
  end
@@ -69,7 +69,7 @@ shared_examples "RHEL package provider" do |provider_class, provider_name|
69
69
  allow(Puppet::Util).to receive(:which).with("rpm").and_return("/bin/rpm")
70
70
  allow(provider).to receive(:which).with("rpm").and_return("/bin/rpm")
71
71
  expect(Puppet::Util::Execution).to receive(:execute).with(["/bin/rpm", "--version"], {:combine => true, :custom_environment => {}, :failonfail => true}).and_return(Puppet::Util::Execution::ProcessOutput.new("4.10.1\n", 0)).at_most(:once)
72
- allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return('6')
72
+ allow(Facter).to receive(:value).with('os.release.major').and_return('6')
73
73
  end
74
74
 
75
75
  it "should call #{provider_name} install for :installed" do
@@ -81,7 +81,7 @@ shared_examples "RHEL package provider" do |provider_class, provider_name|
81
81
  if provider_name == 'yum'
82
82
  context 'on el-5' do
83
83
  before(:each) do
84
- allow(Facter).to receive(:value).with(:operatingsystemmajrelease).and_return('5')
84
+ allow(Facter).to receive(:value).with('os.release.major').and_return('5')
85
85
  end
86
86
 
87
87
  it "should catch #{provider_name} install failures when status code is wrong" do
@@ -482,10 +482,10 @@ describe Puppet::Application::Device do
482
482
  end
483
483
 
484
484
  it "retrieves facts" do
485
- indirection_fact_values = {"operatingsystem"=>"cisco_ios","clientcert"=>"3750"}
485
+ indirection_fact_values = {"os"=> {"name" => "cisco_ios"},"clientcert"=>"3750"}
486
486
  indirection_facts = Puppet::Node::Facts.new("nil", indirection_fact_values)
487
487
  expect(Puppet::Node::Facts.indirection).to receive(:find).with(nil, anything()).and_return(indirection_facts)
488
- expect(device).to receive(:puts).with(/name.*3750.*\n.*values.*\n.*operatingsystem.*cisco_ios/)
488
+ expect(device).to receive(:puts).with(/name.*3750.*\n.*values.*\n.*os.*\n.*name.*cisco_ios/)
489
489
  expect { device.main }.to exit_with 0
490
490
  end
491
491
  end
@@ -503,6 +503,9 @@ Searching for "a"
503
503
  include PuppetSpec::Files
504
504
 
505
505
  it "is unaffected by global variables unless '--compile' is used" do
506
+ # strict mode is off so behavior this test is trying to check isn't stubbed out
507
+ Puppet[:strict_variables] = false
508
+ Puppet[:strict] = :warning
506
509
  lookup.options[:node] = node
507
510
  lookup.options[:render_as] = :s
508
511
  allow(lookup.command_line).to receive(:args).and_return(['c'])
@@ -673,6 +676,9 @@ Searching for "a"
673
676
  let(:node) { Puppet::Node.new("testnode", :facts => facts, :environment => 'puppet_func_provider') }
674
677
 
675
678
  it "works OK in the absense of '--compile'" do
679
+ # strict mode is off so behavior this test is trying to check isn't stubbed out
680
+ Puppet[:strict_variables] = false
681
+ Puppet[:strict] = :warning
676
682
  lookup.options[:node] = node
677
683
  allow(lookup.command_line).to receive(:args).and_return(['c'])
678
684
  lookup.options[:render_as] = :s
@@ -129,22 +129,24 @@ describe Puppet::Application::Resource do
129
129
  end
130
130
 
131
131
  describe "when printing output" do
132
- it "should not emit puppet class tags when printing yaml" do
133
- Puppet::Type.newtype(:stringify) do
134
- ensurable
135
- newparam(:name, isnamevar: true)
136
- newproperty(:string)
137
- end
132
+ Puppet::Type.newtype(:stringify) do
133
+ ensurable
134
+ newparam(:name, isnamevar: true)
135
+ newproperty(:string)
136
+ end
138
137
 
139
- Puppet::Type.type(:stringify).provide(:stringify) do
140
- def exists?
141
- true
142
- end
138
+ Puppet::Type.type(:stringify).provide(:stringify) do
139
+ def exists?
140
+ true
141
+ end
143
142
 
144
- def string
145
- Puppet::Util::Execution::ProcessOutput.new('test', 0)
146
- end
143
+ def string
144
+ Puppet::Util::Execution::ProcessOutput.new('test', 0)
147
145
  end
146
+ end
147
+
148
+ it "should not emit puppet class tags when printing yaml when strict mode is off" do
149
+ Puppet[:strict] = :warning
148
150
 
149
151
  @resource_app.options[:to_yaml] = true
150
152
  allow(@resource_app.command_line).to receive(:args).and_return(['stringify', 'hello', 'ensure=present', 'string=asd'])
@@ -158,6 +160,13 @@ describe Puppet::Application::Resource do
158
160
  expect { @resource_app.main }.not_to raise_error
159
161
  end
160
162
 
163
+ it "should raise an error when printing yaml by default" do
164
+ @resource_app.options[:to_yaml] = true
165
+ allow(@resource_app.command_line).to receive(:args).and_return(['stringify', 'hello', 'ensure=present', 'string=asd'])
166
+ expect { @resource_app.main }.to raise_error( Puppet::PreformattedError,
167
+ /Stringify\[hello\]\['string'\] contains a Puppet::Util::Execution::ProcessOutput value. It will be converted to the String 'test'/)
168
+ end
169
+
161
170
  it "should ensure all values to be printed are in the external encoding" do
162
171
  resources = [
163
172
  Puppet::Type.type(:user).new(:name => "\u2603".force_encoding(Encoding::UTF_8)).to_resource,
@@ -79,7 +79,7 @@ describe Puppet::Configurer::FactHandler do
79
79
  { :hash => { 'afact' => "A\u06FF\u16A0\u{2070E}" }, :encoded => '%22values%22%3A%7B%22afact%22%3A%22' + 'A%DB%BF%E1%9A%A0%F0%A0%9C%8E' + '%22%7D' },
80
80
  ]
81
81
 
82
- context "as pson" do
82
+ context "as pson", if: Puppet.features.pson? do
83
83
  before :each do
84
84
  Puppet[:preferred_serialization_format] = 'pson'
85
85
  end
@@ -84,16 +84,16 @@ describe Puppet::Confine do
84
84
  describe "when requiring" do
85
85
  it "does not cache failed requires when always_retry_plugins is true" do
86
86
  Puppet[:always_retry_plugins] = true
87
- expect(Puppet::Confine).to receive(:require).with('puppet/confine/osfamily').twice.and_raise(LoadError)
88
- Puppet::Confine.test(:osfamily)
89
- Puppet::Confine.test(:osfamily)
87
+ expect(Puppet::Confine).to receive(:require).with('puppet/confine/os.family').twice.and_raise(LoadError)
88
+ Puppet::Confine.test('os.family')
89
+ Puppet::Confine.test('os.family')
90
90
  end
91
91
 
92
92
  it "caches failed requires when always_retry_plugins is false" do
93
93
  Puppet[:always_retry_plugins] = false
94
- expect(Puppet::Confine).to receive(:require).with('puppet/confine/osfamily').once.and_raise(LoadError)
95
- Puppet::Confine.test(:osfamily)
96
- Puppet::Confine.test(:osfamily)
94
+ expect(Puppet::Confine).to receive(:require).with('puppet/confine/os.family').once.and_raise(LoadError)
95
+ Puppet::Confine.test('os.family')
96
+ Puppet::Confine.test('os.family')
97
97
  end
98
98
  end
99
99
  end
@@ -35,6 +35,7 @@ describe "when using a hiera data provider" do
35
35
  node = Puppet::Node.new("testnode", :facts => facts, :environment => environment)
36
36
  compiler = Puppet::Parser::Compiler.new(node)
37
37
  compiler.topscope['domain'] = 'example.com'
38
+ compiler.topscope['my_fact'] = 'server3'
38
39
  block_given? ? compiler.compile { |catalog| yield(compiler); catalog } : compiler.compile
39
40
  end
40
41
 
@@ -164,6 +165,7 @@ describe "when using a hiera data provider" do
164
165
  expect(extract_notifications(compiler.compile)).to include('server2')
165
166
 
166
167
  compiler = Puppet::Parser::Compiler.new(node)
168
+ compiler.topscope['my_fact'] = 'server3'
167
169
  expect(extract_notifications(compiler.compile)).to include('In name.yaml')
168
170
  end
169
171
 
@@ -3,8 +3,46 @@ require 'puppet/settings'
3
3
 
4
4
  describe "Defaults" do
5
5
  describe ".default_diffargs" do
6
- it "should be '-u'" do
7
- expect(Puppet.default_diffargs).to eq("-u")
6
+ describe "on AIX" do
7
+ before(:each) do
8
+ allow(Facter).to receive(:value).with(:kernel).and_return("AIX")
9
+ end
10
+
11
+ describe "on 5.3" do
12
+ before(:each) do
13
+ allow(Facter).to receive(:value).with(:kernelmajversion).and_return("5300")
14
+ end
15
+
16
+ it "should be empty" do
17
+ expect(Puppet.default_diffargs).to eq("")
18
+ end
19
+ end
20
+
21
+ [ "",
22
+ nil,
23
+ "6300",
24
+ "7300",
25
+ ].each do |kernel_version|
26
+ describe "on kernel version #{kernel_version.inspect}" do
27
+ before(:each) do
28
+ allow(Facter).to receive(:value).with(:kernelmajversion).and_return(kernel_version)
29
+ end
30
+
31
+ it "should be '-u'" do
32
+ expect(Puppet.default_diffargs).to eq("-u")
33
+ end
34
+ end
35
+ end
36
+ end
37
+
38
+ describe "on everything else" do
39
+ before(:each) do
40
+ allow(Facter).to receive(:value).with(:kernel).and_return("NOT_AIX")
41
+ end
42
+
43
+ it "should be '-u'" do
44
+ expect(Puppet.default_diffargs).to eq("-u")
45
+ end
8
46
  end
9
47
  end
10
48
 
@@ -171,4 +209,12 @@ describe "Defaults" do
171
209
  expect(Puppet.default_cadir).to eq(cadir)
172
210
  end
173
211
  end
212
+
213
+ describe "#preferred_serialization_format" do
214
+ it 'raises if PSON is not available', unless: Puppet.features.pson? do
215
+ expect {
216
+ Puppet.settings[:preferred_serialization_format] = "pson"
217
+ }.to raise_error(Puppet::Settings::ValidationError, "The 'puppet-pson' gem must be installed to use the PSON serialization format.")
218
+ end
219
+ end
174
220
  end
@@ -1,9 +1,7 @@
1
1
  # Encoding: UTF-8
2
2
  require 'spec_helper'
3
3
 
4
- require 'puppet/external/pson/common'
5
-
6
- describe PSON do
4
+ describe 'PSON', if: Puppet.features.pson? do
7
5
  {
8
6
  'foo' => '"foo"',
9
7
  1 => '1',
@@ -311,8 +311,8 @@ describe Puppet::Face[:epp, :current] do
311
311
 
312
312
  it "facts can be overridden" do
313
313
  expect(eppface.render({
314
- :facts => {'operatingsystem' => 'Merwin'},
315
- :e => '<%= $facts[operatingsystem] %>',
314
+ :facts => {'os' => {'name' => 'Merwin'} },
315
+ :e => '<%= $facts[os][name] %>',
316
316
  })).to eql("Merwin")
317
317
  end
318
318
 
@@ -104,8 +104,8 @@ describe Puppet::FileBucket::Dipper, :uses_checksums => true do
104
104
  # Diff without the context
105
105
  # Lines we need to see match 'Content' instead of trimming diff output filter out
106
106
  # surrounding noise...or hard code the check values
107
- if Puppet.runtime[:facter].value(:osfamily) == 'Solaris' &&
108
- Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value(:operatingsystemrelease), '11.0') >= 0
107
+ if Puppet.runtime[:facter].value('os.family') == 'Solaris' &&
108
+ Puppet::Util::Package.versioncmp(Puppet.runtime[:facter].value('os.release.full'), '11.0') >= 0
109
109
  # Use gdiff on Solaris
110
110
  diff12 = Puppet::Util::Execution.execute("gdiff -uN #{file1} #{file2}| grep Content")
111
111
  diff21 = Puppet::Util::Execution.execute("gdiff -uN #{file2} #{file1}| grep Content")
@@ -21,9 +21,9 @@ describe Puppet::FileServing::Metadata do
21
21
  expect(Puppet::FileServing::Metadata.default_format).to eq(:json)
22
22
  end
23
23
 
24
- it "should support json, pson, yaml" do
25
- # msgpack is optional, so using include instead of eq
26
- expect(Puppet::FileServing::Metadata.supported_formats).to include(:json, :pson, :yaml)
24
+ it "should support json and yaml" do
25
+ # msgpack and pson are optional, so using include instead of eq
26
+ expect(Puppet::FileServing::Metadata.supported_formats).to include(:json, :yaml)
27
27
  end
28
28
 
29
29
  it "should support deserialization" do
@@ -3,8 +3,8 @@ require 'puppet/file_serving/mount/file'
3
3
 
4
4
  module FileServingMountTesting
5
5
  def stub_facter(hostname)
6
- allow(Facter).to receive(:value).with("hostname").and_return(hostname.sub(/\..+/, ''))
7
- allow(Facter).to receive(:value).with("domain").and_return(hostname.sub(/^[^.]+\./, ''))
6
+ allow(Facter).to receive(:value).with("networking.hostname").and_return(hostname.sub(/\..+/, ''))
7
+ allow(Facter).to receive(:value).with("networking.domain").and_return(hostname.sub(/^[^.]+\./, ''))
8
8
  end
9
9
  end
10
10
 
@@ -18,7 +18,13 @@ describe "the epp function" do
18
18
  expect(eval_template("all your base <%= $what::is %> to us")).to eq("all your base are belong to us")
19
19
  end
20
20
 
21
- it "get nil accessing a variable that does not exist" do
21
+ it "gets error accessing a variable that does not exist" do
22
+ expect { eval_template("<%= $kryptonite == undef %>")}.to raise_error(/Evaluation Error: Unknown variable: 'kryptonite'./)
23
+ end
24
+
25
+ it "get nil accessing a variable that does not exist when strict mode is off" do
26
+ Puppet[:strict_variables] = false
27
+ Puppet[:strict] = :warning
22
28
  expect(eval_template("<%= $kryptonite == undef %>")).to eq("true")
23
29
  end
24
30