puppet 7.28.0-x86-mingw32 → 8.0.1-x86-mingw32

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1167) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +5 -5
  3. data/Gemfile +8 -7
  4. data/Gemfile.lock +76 -75
  5. data/Rakefile +27 -0
  6. data/bin/puppet +1 -0
  7. data/examples/enc/regexp_nodes/regexp_nodes.rb +1 -1
  8. data/ext/build_defaults.yaml +1 -1
  9. data/ext/project_data.yaml +8 -9
  10. data/ext/windows/service/daemon.rb +1 -0
  11. data/install.rb +18 -18
  12. data/lib/hiera/puppet_function.rb +1 -0
  13. data/lib/hiera/scope.rb +6 -5
  14. data/lib/hiera_puppet.rb +2 -1
  15. data/lib/puppet/agent/disabler.rb +1 -0
  16. data/lib/puppet/agent/locker.rb +1 -0
  17. data/lib/puppet/agent.rb +1 -0
  18. data/lib/puppet/application/agent.rb +1 -0
  19. data/lib/puppet/application/apply.rb +1 -0
  20. data/lib/puppet/application/catalog.rb +1 -0
  21. data/lib/puppet/application/config.rb +1 -0
  22. data/lib/puppet/application/describe.rb +1 -0
  23. data/lib/puppet/application/device.rb +1 -0
  24. data/lib/puppet/application/doc.rb +2 -1
  25. data/lib/puppet/application/epp.rb +1 -0
  26. data/lib/puppet/application/face_base.rb +1 -0
  27. data/lib/puppet/application/facts.rb +1 -0
  28. data/lib/puppet/application/filebucket.rb +1 -0
  29. data/lib/puppet/application/generate.rb +1 -0
  30. data/lib/puppet/application/help.rb +1 -0
  31. data/lib/puppet/application/indirection_base.rb +1 -0
  32. data/lib/puppet/application/lookup.rb +2 -1
  33. data/lib/puppet/application/module.rb +1 -0
  34. data/lib/puppet/application/node.rb +1 -0
  35. data/lib/puppet/application/parser.rb +1 -0
  36. data/lib/puppet/application/plugin.rb +1 -0
  37. data/lib/puppet/application/report.rb +1 -0
  38. data/lib/puppet/application/resource.rb +1 -0
  39. data/lib/puppet/application/script.rb +1 -0
  40. data/lib/puppet/application/ssl.rb +8 -42
  41. data/lib/puppet/application.rb +2 -5
  42. data/lib/puppet/application_support.rb +1 -0
  43. data/lib/puppet/coercion.rb +1 -0
  44. data/lib/puppet/compilable_resource_type.rb +1 -0
  45. data/lib/puppet/concurrent/lock.rb +1 -0
  46. data/lib/puppet/concurrent/synchronized.rb +1 -0
  47. data/lib/puppet/concurrent.rb +1 -0
  48. data/lib/puppet/configurer/downloader.rb +1 -0
  49. data/lib/puppet/configurer/fact_handler.rb +1 -0
  50. data/lib/puppet/configurer/plugin_handler.rb +1 -0
  51. data/lib/puppet/configurer.rb +2 -1
  52. data/lib/puppet/confine/any.rb +1 -0
  53. data/lib/puppet/confine/boolean.rb +1 -0
  54. data/lib/puppet/confine/exists.rb +1 -0
  55. data/lib/puppet/confine/false.rb +1 -0
  56. data/lib/puppet/confine/feature.rb +1 -0
  57. data/lib/puppet/confine/true.rb +1 -0
  58. data/lib/puppet/confine/variable.rb +1 -0
  59. data/lib/puppet/confine.rb +1 -0
  60. data/lib/puppet/confine_collection.rb +1 -0
  61. data/lib/puppet/confiner.rb +2 -1
  62. data/lib/puppet/context/trusted_information.rb +7 -6
  63. data/lib/puppet/context.rb +1 -0
  64. data/lib/puppet/daemon.rb +1 -0
  65. data/lib/puppet/data_binding.rb +1 -0
  66. data/lib/puppet/datatypes/error.rb +1 -0
  67. data/lib/puppet/datatypes/impl/error.rb +1 -0
  68. data/lib/puppet/datatypes.rb +1 -0
  69. data/lib/puppet/defaults.rb +30 -18
  70. data/lib/puppet/environments.rb +1 -0
  71. data/lib/puppet/error.rb +1 -0
  72. data/lib/puppet/etc.rb +1 -0
  73. data/lib/puppet/external/dot.rb +1 -0
  74. data/lib/puppet/face/catalog/select.rb +1 -0
  75. data/lib/puppet/face/catalog.rb +1 -0
  76. data/lib/puppet/face/config.rb +2 -1
  77. data/lib/puppet/face/epp.rb +3 -2
  78. data/lib/puppet/face/facts.rb +1 -0
  79. data/lib/puppet/face/generate.rb +1 -0
  80. data/lib/puppet/face/help/action.erb +0 -1
  81. data/lib/puppet/face/help/face.erb +0 -1
  82. data/lib/puppet/face/help.rb +4 -3
  83. data/lib/puppet/face/module/changes.rb +1 -0
  84. data/lib/puppet/face/module/install.rb +1 -0
  85. data/lib/puppet/face/module/list.rb +3 -2
  86. data/lib/puppet/face/module/uninstall.rb +1 -0
  87. data/lib/puppet/face/module/upgrade.rb +1 -0
  88. data/lib/puppet/face/module.rb +1 -0
  89. data/lib/puppet/face/node/clean.rb +1 -0
  90. data/lib/puppet/face/node.rb +1 -0
  91. data/lib/puppet/face/parser.rb +2 -1
  92. data/lib/puppet/face/plugin.rb +1 -0
  93. data/lib/puppet/face/report.rb +1 -0
  94. data/lib/puppet/face/resource.rb +1 -0
  95. data/lib/puppet/face.rb +1 -0
  96. data/lib/puppet/feature/base.rb +1 -0
  97. data/lib/puppet/feature/bolt.rb +1 -0
  98. data/lib/puppet/feature/cfpropertylist.rb +1 -0
  99. data/lib/puppet/feature/eventlog.rb +1 -0
  100. data/lib/puppet/feature/hiera_eyaml.rb +1 -0
  101. data/lib/puppet/feature/hocon.rb +1 -0
  102. data/lib/puppet/feature/libuser.rb +1 -0
  103. data/lib/puppet/feature/msgpack.rb +1 -0
  104. data/lib/puppet/feature/pe_license.rb +1 -0
  105. data/lib/puppet/feature/pson.rb +5 -0
  106. data/lib/puppet/feature/selinux.rb +1 -0
  107. data/lib/puppet/feature/ssh.rb +1 -0
  108. data/lib/puppet/feature/telnet.rb +1 -0
  109. data/lib/puppet/feature/zlib.rb +1 -0
  110. data/lib/puppet/ffi/posix/constants.rb +1 -0
  111. data/lib/puppet/ffi/posix/functions.rb +1 -0
  112. data/lib/puppet/ffi/posix.rb +1 -0
  113. data/lib/puppet/ffi/windows/api_types.rb +2 -1
  114. data/lib/puppet/ffi/windows/constants.rb +1 -0
  115. data/lib/puppet/ffi/windows/functions.rb +1 -0
  116. data/lib/puppet/ffi/windows/structs.rb +1 -0
  117. data/lib/puppet/ffi/windows.rb +1 -0
  118. data/lib/puppet/file_bucket/dipper.rb +1 -0
  119. data/lib/puppet/file_bucket/file.rb +1 -0
  120. data/lib/puppet/file_bucket.rb +1 -0
  121. data/lib/puppet/file_serving/base.rb +1 -0
  122. data/lib/puppet/file_serving/configuration/parser.rb +1 -0
  123. data/lib/puppet/file_serving/configuration.rb +1 -0
  124. data/lib/puppet/file_serving/content.rb +1 -0
  125. data/lib/puppet/file_serving/fileset.rb +1 -0
  126. data/lib/puppet/file_serving/http_metadata.rb +1 -0
  127. data/lib/puppet/file_serving/metadata.rb +1 -0
  128. data/lib/puppet/file_serving/mount/file.rb +5 -4
  129. data/lib/puppet/file_serving/mount/locales.rb +1 -0
  130. data/lib/puppet/file_serving/mount/modules.rb +1 -0
  131. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -0
  132. data/lib/puppet/file_serving/mount/plugins.rb +1 -0
  133. data/lib/puppet/file_serving/mount/scripts.rb +1 -0
  134. data/lib/puppet/file_serving/mount/tasks.rb +1 -0
  135. data/lib/puppet/file_serving/mount.rb +1 -0
  136. data/lib/puppet/file_serving/terminus_helper.rb +1 -0
  137. data/lib/puppet/file_serving/terminus_selector.rb +1 -0
  138. data/lib/puppet/file_serving.rb +1 -0
  139. data/lib/puppet/file_system/file_impl.rb +2 -1
  140. data/lib/puppet/file_system/jruby.rb +1 -0
  141. data/lib/puppet/file_system/memory_file.rb +1 -0
  142. data/lib/puppet/file_system/memory_impl.rb +1 -0
  143. data/lib/puppet/file_system/path_pattern.rb +2 -1
  144. data/lib/puppet/file_system/posix.rb +4 -3
  145. data/lib/puppet/file_system/uniquefile.rb +2 -1
  146. data/lib/puppet/file_system/windows.rb +1 -0
  147. data/lib/puppet/file_system.rb +1 -0
  148. data/lib/puppet/forge/cache.rb +1 -0
  149. data/lib/puppet/forge/errors.rb +1 -0
  150. data/lib/puppet/forge/repository.rb +1 -0
  151. data/lib/puppet/forge.rb +2 -1
  152. data/lib/puppet/functions/abs.rb +1 -0
  153. data/lib/puppet/functions/alert.rb +1 -0
  154. data/lib/puppet/functions/all.rb +1 -0
  155. data/lib/puppet/functions/annotate.rb +1 -0
  156. data/lib/puppet/functions/any.rb +1 -0
  157. data/lib/puppet/functions/assert_type.rb +1 -0
  158. data/lib/puppet/functions/binary_file.rb +1 -0
  159. data/lib/puppet/functions/break.rb +1 -0
  160. data/lib/puppet/functions/call.rb +1 -0
  161. data/lib/puppet/functions/camelcase.rb +1 -0
  162. data/lib/puppet/functions/capitalize.rb +1 -0
  163. data/lib/puppet/functions/ceiling.rb +1 -0
  164. data/lib/puppet/functions/chomp.rb +1 -0
  165. data/lib/puppet/functions/chop.rb +1 -0
  166. data/lib/puppet/functions/compare.rb +1 -0
  167. data/lib/puppet/functions/contain.rb +1 -0
  168. data/lib/puppet/functions/convert_to.rb +1 -0
  169. data/lib/puppet/functions/crit.rb +1 -0
  170. data/lib/puppet/functions/debug.rb +1 -0
  171. data/lib/puppet/functions/defined.rb +1 -0
  172. data/lib/puppet/functions/dig.rb +1 -0
  173. data/lib/puppet/functions/downcase.rb +1 -0
  174. data/lib/puppet/functions/each.rb +1 -0
  175. data/lib/puppet/functions/emerg.rb +1 -0
  176. data/lib/puppet/functions/empty.rb +1 -0
  177. data/lib/puppet/functions/epp.rb +1 -0
  178. data/lib/puppet/functions/err.rb +1 -0
  179. data/lib/puppet/functions/eyaml_lookup_key.rb +1 -0
  180. data/lib/puppet/functions/filter.rb +1 -0
  181. data/lib/puppet/functions/find_file.rb +1 -0
  182. data/lib/puppet/functions/find_template.rb +1 -0
  183. data/lib/puppet/functions/flatten.rb +1 -0
  184. data/lib/puppet/functions/floor.rb +1 -0
  185. data/lib/puppet/functions/get.rb +1 -0
  186. data/lib/puppet/functions/getvar.rb +1 -0
  187. data/lib/puppet/functions/hiera.rb +1 -0
  188. data/lib/puppet/functions/hiera_array.rb +1 -0
  189. data/lib/puppet/functions/hiera_hash.rb +1 -0
  190. data/lib/puppet/functions/hiera_include.rb +1 -0
  191. data/lib/puppet/functions/hocon_data.rb +1 -0
  192. data/lib/puppet/functions/import.rb +1 -0
  193. data/lib/puppet/functions/include.rb +1 -0
  194. data/lib/puppet/functions/index.rb +1 -0
  195. data/lib/puppet/functions/info.rb +1 -0
  196. data/lib/puppet/functions/inline_epp.rb +1 -0
  197. data/lib/puppet/functions/join.rb +1 -0
  198. data/lib/puppet/functions/json_data.rb +1 -0
  199. data/lib/puppet/functions/keys.rb +1 -0
  200. data/lib/puppet/functions/length.rb +1 -0
  201. data/lib/puppet/functions/lest.rb +1 -0
  202. data/lib/puppet/functions/lookup.rb +1 -0
  203. data/lib/puppet/functions/lstrip.rb +1 -0
  204. data/lib/puppet/functions/map.rb +1 -0
  205. data/lib/puppet/functions/match.rb +1 -0
  206. data/lib/puppet/functions/max.rb +67 -0
  207. data/lib/puppet/functions/min.rb +67 -0
  208. data/lib/puppet/functions/module_directory.rb +1 -0
  209. data/lib/puppet/functions/new.rb +1 -0
  210. data/lib/puppet/functions/next.rb +1 -0
  211. data/lib/puppet/functions/notice.rb +1 -0
  212. data/lib/puppet/functions/reduce.rb +1 -0
  213. data/lib/puppet/functions/regsubst.rb +1 -0
  214. data/lib/puppet/functions/require.rb +1 -0
  215. data/lib/puppet/functions/return.rb +1 -0
  216. data/lib/puppet/functions/reverse_each.rb +1 -0
  217. data/lib/puppet/functions/round.rb +1 -0
  218. data/lib/puppet/functions/rstrip.rb +1 -0
  219. data/lib/puppet/functions/scanf.rb +1 -0
  220. data/lib/puppet/functions/size.rb +1 -0
  221. data/lib/puppet/functions/slice.rb +1 -0
  222. data/lib/puppet/functions/sort.rb +1 -0
  223. data/lib/puppet/functions/split.rb +2 -28
  224. data/lib/puppet/functions/step.rb +1 -0
  225. data/lib/puppet/functions/strftime.rb +1 -0
  226. data/lib/puppet/functions/strip.rb +1 -0
  227. data/lib/puppet/functions/then.rb +1 -0
  228. data/lib/puppet/functions/tree_each.rb +1 -0
  229. data/lib/puppet/functions/type.rb +1 -0
  230. data/lib/puppet/functions/unique.rb +1 -0
  231. data/lib/puppet/functions/unwrap.rb +1 -0
  232. data/lib/puppet/functions/upcase.rb +1 -0
  233. data/lib/puppet/functions/values.rb +1 -0
  234. data/lib/puppet/functions/versioncmp.rb +2 -1
  235. data/lib/puppet/functions/warning.rb +1 -0
  236. data/lib/puppet/functions/with.rb +1 -0
  237. data/lib/puppet/functions/yaml_data.rb +1 -0
  238. data/lib/puppet/functions.rb +6 -5
  239. data/lib/puppet/generate/models/type/property.rb +1 -0
  240. data/lib/puppet/generate/models/type/type.rb +1 -0
  241. data/lib/puppet/generate/type.rb +1 -0
  242. data/lib/puppet/gettext/config.rb +1 -0
  243. data/lib/puppet/gettext/module_translations.rb +1 -0
  244. data/lib/puppet/gettext/stubs.rb +1 -0
  245. data/lib/puppet/graph/key.rb +1 -0
  246. data/lib/puppet/graph/prioritizer.rb +1 -0
  247. data/lib/puppet/graph/rb_tree_map.rb +1 -0
  248. data/lib/puppet/graph/relationship_graph.rb +1 -0
  249. data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
  250. data/lib/puppet/graph/simple_graph.rb +1 -0
  251. data/lib/puppet/graph.rb +1 -0
  252. data/lib/puppet/http/client.rb +6 -12
  253. data/lib/puppet/http/dns.rb +1 -0
  254. data/lib/puppet/http/errors.rb +1 -0
  255. data/lib/puppet/http/external_client.rb +1 -0
  256. data/lib/puppet/http/factory.rb +1 -0
  257. data/lib/puppet/http/pool.rb +1 -0
  258. data/lib/puppet/http/pool_entry.rb +1 -0
  259. data/lib/puppet/http/proxy.rb +1 -0
  260. data/lib/puppet/http/redirector.rb +1 -0
  261. data/lib/puppet/http/resolver/server_list.rb +1 -0
  262. data/lib/puppet/http/resolver/settings.rb +1 -0
  263. data/lib/puppet/http/resolver/srv.rb +1 -0
  264. data/lib/puppet/http/resolver.rb +1 -0
  265. data/lib/puppet/http/response.rb +1 -0
  266. data/lib/puppet/http/response_converter.rb +1 -0
  267. data/lib/puppet/http/response_net_http.rb +1 -0
  268. data/lib/puppet/http/retry_after_handler.rb +1 -0
  269. data/lib/puppet/http/service/ca.rb +2 -1
  270. data/lib/puppet/http/service/compiler.rb +2 -5
  271. data/lib/puppet/http/service/file_server.rb +2 -1
  272. data/lib/puppet/http/service/puppetserver.rb +1 -0
  273. data/lib/puppet/http/service/report.rb +2 -4
  274. data/lib/puppet/http/service.rb +1 -0
  275. data/lib/puppet/http/session.rb +3 -2
  276. data/lib/puppet/http/site.rb +1 -0
  277. data/lib/puppet/http.rb +3 -2
  278. data/lib/puppet/indirector/catalog/compiler.rb +10 -17
  279. data/lib/puppet/indirector/catalog/json.rb +1 -0
  280. data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
  281. data/lib/puppet/indirector/catalog/rest.rb +1 -8
  282. data/lib/puppet/indirector/catalog/store_configs.rb +1 -0
  283. data/lib/puppet/indirector/catalog/yaml.rb +1 -0
  284. data/lib/puppet/indirector/code.rb +1 -0
  285. data/lib/puppet/indirector/data_binding/hiera.rb +1 -0
  286. data/lib/puppet/indirector/data_binding/none.rb +1 -0
  287. data/lib/puppet/indirector/direct_file_server.rb +1 -0
  288. data/lib/puppet/indirector/envelope.rb +1 -0
  289. data/lib/puppet/indirector/errors.rb +1 -0
  290. data/lib/puppet/indirector/exec.rb +1 -0
  291. data/lib/puppet/indirector/face.rb +6 -16
  292. data/lib/puppet/indirector/fact_search.rb +1 -0
  293. data/lib/puppet/indirector/facts/facter.rb +1 -0
  294. data/lib/puppet/indirector/facts/json.rb +1 -0
  295. data/lib/puppet/indirector/facts/memory.rb +1 -0
  296. data/lib/puppet/indirector/facts/network_device.rb +1 -0
  297. data/lib/puppet/indirector/facts/rest.rb +1 -0
  298. data/lib/puppet/indirector/facts/store_configs.rb +1 -0
  299. data/lib/puppet/indirector/facts/yaml.rb +1 -0
  300. data/lib/puppet/indirector/file_bucket_file/file.rb +2 -1
  301. data/lib/puppet/indirector/file_bucket_file/rest.rb +1 -0
  302. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -0
  303. data/lib/puppet/indirector/file_content/file.rb +1 -0
  304. data/lib/puppet/indirector/file_content/file_server.rb +1 -0
  305. data/lib/puppet/indirector/file_content/rest.rb +1 -0
  306. data/lib/puppet/indirector/file_content/selector.rb +1 -0
  307. data/lib/puppet/indirector/file_content.rb +1 -0
  308. data/lib/puppet/indirector/file_metadata/file.rb +1 -0
  309. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
  310. data/lib/puppet/indirector/file_metadata/http.rb +1 -0
  311. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  312. data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
  313. data/lib/puppet/indirector/file_metadata.rb +1 -0
  314. data/lib/puppet/indirector/file_server.rb +1 -0
  315. data/lib/puppet/indirector/generic_http.rb +1 -0
  316. data/lib/puppet/indirector/hiera.rb +1 -0
  317. data/lib/puppet/indirector/indirection.rb +2 -1
  318. data/lib/puppet/indirector/json.rb +1 -0
  319. data/lib/puppet/indirector/memory.rb +1 -0
  320. data/lib/puppet/indirector/msgpack.rb +1 -0
  321. data/lib/puppet/indirector/node/exec.rb +1 -0
  322. data/lib/puppet/indirector/node/json.rb +1 -0
  323. data/lib/puppet/indirector/node/memory.rb +1 -0
  324. data/lib/puppet/indirector/node/msgpack.rb +1 -0
  325. data/lib/puppet/indirector/node/plain.rb +1 -0
  326. data/lib/puppet/indirector/node/rest.rb +1 -0
  327. data/lib/puppet/indirector/node/store_configs.rb +1 -0
  328. data/lib/puppet/indirector/node/yaml.rb +1 -0
  329. data/lib/puppet/indirector/none.rb +1 -0
  330. data/lib/puppet/indirector/plain.rb +1 -0
  331. data/lib/puppet/indirector/report/json.rb +1 -0
  332. data/lib/puppet/indirector/report/msgpack.rb +1 -0
  333. data/lib/puppet/indirector/report/processor.rb +1 -0
  334. data/lib/puppet/indirector/report/rest.rb +1 -13
  335. data/lib/puppet/indirector/report/yaml.rb +1 -0
  336. data/lib/puppet/indirector/request.rb +1 -0
  337. data/lib/puppet/indirector/resource/ral.rb +1 -0
  338. data/lib/puppet/indirector/resource/store_configs.rb +1 -0
  339. data/lib/puppet/indirector/resource/validator.rb +1 -0
  340. data/lib/puppet/indirector/rest.rb +1 -0
  341. data/lib/puppet/indirector/store_configs.rb +1 -0
  342. data/lib/puppet/indirector/terminus.rb +1 -0
  343. data/lib/puppet/indirector/yaml.rb +1 -0
  344. data/lib/puppet/indirector.rb +1 -0
  345. data/lib/puppet/info_service/class_information_service.rb +1 -0
  346. data/lib/puppet/info_service/plan_information_service.rb +1 -0
  347. data/lib/puppet/info_service/task_information_service.rb +1 -0
  348. data/lib/puppet/info_service.rb +1 -0
  349. data/lib/puppet/interface/action.rb +3 -4
  350. data/lib/puppet/interface/action_builder.rb +10 -4
  351. data/lib/puppet/interface/action_manager.rb +1 -0
  352. data/lib/puppet/interface/documentation.rb +1 -1
  353. data/lib/puppet/interface/face_collection.rb +1 -0
  354. data/lib/puppet/interface/option.rb +1 -0
  355. data/lib/puppet/interface/option_builder.rb +1 -0
  356. data/lib/puppet/interface/option_manager.rb +1 -0
  357. data/lib/puppet/interface.rb +1 -0
  358. data/lib/puppet/loaders.rb +1 -0
  359. data/lib/puppet/metatype/manager.rb +1 -0
  360. data/lib/puppet/module/plan.rb +1 -0
  361. data/lib/puppet/module/task.rb +1 -2
  362. data/lib/puppet/module.rb +4 -1
  363. data/lib/puppet/module_tool/applications/application.rb +1 -0
  364. data/lib/puppet/module_tool/applications/checksummer.rb +1 -0
  365. data/lib/puppet/module_tool/applications/installer.rb +1 -0
  366. data/lib/puppet/module_tool/applications/uninstaller.rb +1 -0
  367. data/lib/puppet/module_tool/applications/unpacker.rb +1 -0
  368. data/lib/puppet/module_tool/applications/upgrader.rb +1 -0
  369. data/lib/puppet/module_tool/applications.rb +1 -0
  370. data/lib/puppet/module_tool/checksums.rb +1 -0
  371. data/lib/puppet/module_tool/contents_description.rb +1 -0
  372. data/lib/puppet/module_tool/dependency.rb +1 -0
  373. data/lib/puppet/module_tool/errors/base.rb +1 -0
  374. data/lib/puppet/module_tool/errors/installer.rb +1 -0
  375. data/lib/puppet/module_tool/errors/shared.rb +1 -0
  376. data/lib/puppet/module_tool/errors/uninstaller.rb +1 -0
  377. data/lib/puppet/module_tool/errors/upgrader.rb +1 -0
  378. data/lib/puppet/module_tool/errors.rb +1 -0
  379. data/lib/puppet/module_tool/install_directory.rb +1 -0
  380. data/lib/puppet/module_tool/installed_modules.rb +1 -0
  381. data/lib/puppet/module_tool/local_tarball.rb +1 -0
  382. data/lib/puppet/module_tool/metadata.rb +1 -0
  383. data/lib/puppet/module_tool/shared_behaviors.rb +1 -0
  384. data/lib/puppet/module_tool/tar/gnu.rb +1 -0
  385. data/lib/puppet/module_tool/tar/mini.rb +1 -0
  386. data/lib/puppet/module_tool/tar.rb +1 -0
  387. data/lib/puppet/module_tool.rb +2 -1
  388. data/lib/puppet/network/authconfig.rb +1 -0
  389. data/lib/puppet/network/authorization.rb +1 -0
  390. data/lib/puppet/network/client_request.rb +1 -0
  391. data/lib/puppet/network/format.rb +1 -0
  392. data/lib/puppet/network/format_handler.rb +2 -1
  393. data/lib/puppet/network/format_support.rb +1 -0
  394. data/lib/puppet/network/formats.rb +6 -3
  395. data/lib/puppet/network/http/api/indirected_routes.rb +1 -0
  396. data/lib/puppet/network/http/api/indirection_type.rb +1 -0
  397. data/lib/puppet/network/http/api/master/v3/environments.rb +1 -0
  398. data/lib/puppet/network/http/api/master/v3.rb +1 -0
  399. data/lib/puppet/network/http/api/master.rb +1 -0
  400. data/lib/puppet/network/http/api/server/v3/environments.rb +1 -0
  401. data/lib/puppet/network/http/api/server/v3.rb +1 -0
  402. data/lib/puppet/network/http/api/server.rb +1 -0
  403. data/lib/puppet/network/http/api.rb +1 -0
  404. data/lib/puppet/network/http/connection.rb +1 -0
  405. data/lib/puppet/network/http/error.rb +1 -0
  406. data/lib/puppet/network/http/handler.rb +1 -0
  407. data/lib/puppet/network/http/issues.rb +1 -0
  408. data/lib/puppet/network/http/memory_response.rb +2 -1
  409. data/lib/puppet/network/http/request.rb +1 -0
  410. data/lib/puppet/network/http/response.rb +1 -0
  411. data/lib/puppet/network/http/route.rb +1 -0
  412. data/lib/puppet/network/http.rb +1 -0
  413. data/lib/puppet/network/http_pool.rb +1 -0
  414. data/lib/puppet/network/uri.rb +1 -0
  415. data/lib/puppet/network.rb +1 -0
  416. data/lib/puppet/node/environment.rb +7 -8
  417. data/lib/puppet/node/facts.rb +1 -0
  418. data/lib/puppet/node.rb +2 -1
  419. data/lib/puppet/pal/catalog_compiler.rb +1 -0
  420. data/lib/puppet/pal/compiler.rb +1 -0
  421. data/lib/puppet/pal/function_signature.rb +1 -0
  422. data/lib/puppet/pal/json_catalog_encoder.rb +1 -0
  423. data/lib/puppet/pal/pal_api.rb +1 -0
  424. data/lib/puppet/pal/pal_impl.rb +1 -0
  425. data/lib/puppet/pal/plan_signature.rb +1 -0
  426. data/lib/puppet/pal/script_compiler.rb +1 -0
  427. data/lib/puppet/pal/task_signature.rb +1 -0
  428. data/lib/puppet/parameter/boolean.rb +1 -0
  429. data/lib/puppet/parameter/package_options.rb +1 -0
  430. data/lib/puppet/parameter/path.rb +1 -0
  431. data/lib/puppet/parameter/value.rb +1 -0
  432. data/lib/puppet/parameter/value_collection.rb +2 -1
  433. data/lib/puppet/parameter.rb +1 -0
  434. data/lib/puppet/parser/abstract_compiler.rb +1 -0
  435. data/lib/puppet/parser/ast/block_expression.rb +1 -0
  436. data/lib/puppet/parser/ast/branch.rb +1 -0
  437. data/lib/puppet/parser/ast/hostclass.rb +1 -0
  438. data/lib/puppet/parser/ast/leaf.rb +1 -0
  439. data/lib/puppet/parser/ast/node.rb +1 -0
  440. data/lib/puppet/parser/ast/pops_bridge.rb +1 -0
  441. data/lib/puppet/parser/ast/resource.rb +1 -0
  442. data/lib/puppet/parser/ast/resource_instance.rb +1 -0
  443. data/lib/puppet/parser/ast/resourceparam.rb +1 -0
  444. data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
  445. data/lib/puppet/parser/ast.rb +1 -0
  446. data/lib/puppet/parser/catalog_compiler.rb +1 -0
  447. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +1 -0
  448. data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
  449. data/lib/puppet/parser/compiler.rb +2 -1
  450. data/lib/puppet/parser/e4_parser_adapter.rb +1 -0
  451. data/lib/puppet/parser/files.rb +1 -0
  452. data/lib/puppet/parser/functions/assert_type.rb +1 -0
  453. data/lib/puppet/parser/functions/binary_file.rb +1 -0
  454. data/lib/puppet/parser/functions/break.rb +1 -0
  455. data/lib/puppet/parser/functions/contain.rb +1 -0
  456. data/lib/puppet/parser/functions/create_resources.rb +1 -0
  457. data/lib/puppet/parser/functions/defined.rb +1 -0
  458. data/lib/puppet/parser/functions/dig.rb +1 -0
  459. data/lib/puppet/parser/functions/digest.rb +1 -0
  460. data/lib/puppet/parser/functions/each.rb +1 -0
  461. data/lib/puppet/parser/functions/epp.rb +1 -0
  462. data/lib/puppet/parser/functions/fail.rb +1 -0
  463. data/lib/puppet/parser/functions/file.rb +1 -0
  464. data/lib/puppet/parser/functions/filter.rb +1 -0
  465. data/lib/puppet/parser/functions/find_file.rb +1 -0
  466. data/lib/puppet/parser/functions/fqdn_rand.rb +1 -0
  467. data/lib/puppet/parser/functions/generate.rb +1 -0
  468. data/lib/puppet/parser/functions/hiera.rb +1 -0
  469. data/lib/puppet/parser/functions/hiera_array.rb +1 -0
  470. data/lib/puppet/parser/functions/hiera_hash.rb +1 -0
  471. data/lib/puppet/parser/functions/hiera_include.rb +1 -0
  472. data/lib/puppet/parser/functions/include.rb +1 -0
  473. data/lib/puppet/parser/functions/inline_epp.rb +1 -0
  474. data/lib/puppet/parser/functions/inline_template.rb +1 -0
  475. data/lib/puppet/parser/functions/lest.rb +1 -0
  476. data/lib/puppet/parser/functions/lookup.rb +1 -0
  477. data/lib/puppet/parser/functions/map.rb +1 -0
  478. data/lib/puppet/parser/functions/match.rb +1 -0
  479. data/lib/puppet/parser/functions/md5.rb +1 -0
  480. data/lib/puppet/parser/functions/new.rb +1 -0
  481. data/lib/puppet/parser/functions/next.rb +1 -0
  482. data/lib/puppet/parser/functions/realize.rb +1 -0
  483. data/lib/puppet/parser/functions/reduce.rb +1 -0
  484. data/lib/puppet/parser/functions/regsubst.rb +1 -0
  485. data/lib/puppet/parser/functions/require.rb +1 -0
  486. data/lib/puppet/parser/functions/return.rb +1 -0
  487. data/lib/puppet/parser/functions/reverse_each.rb +1 -0
  488. data/lib/puppet/parser/functions/scanf.rb +1 -0
  489. data/lib/puppet/parser/functions/sha1.rb +1 -0
  490. data/lib/puppet/parser/functions/sha256.rb +1 -0
  491. data/lib/puppet/parser/functions/shellquote.rb +1 -0
  492. data/lib/puppet/parser/functions/slice.rb +1 -0
  493. data/lib/puppet/parser/functions/split.rb +1 -0
  494. data/lib/puppet/parser/functions/sprintf.rb +1 -0
  495. data/lib/puppet/parser/functions/step.rb +1 -0
  496. data/lib/puppet/parser/functions/strftime.rb +1 -0
  497. data/lib/puppet/parser/functions/tag.rb +1 -0
  498. data/lib/puppet/parser/functions/tagged.rb +1 -0
  499. data/lib/puppet/parser/functions/template.rb +1 -0
  500. data/lib/puppet/parser/functions/then.rb +1 -0
  501. data/lib/puppet/parser/functions/type.rb +1 -0
  502. data/lib/puppet/parser/functions/versioncmp.rb +1 -0
  503. data/lib/puppet/parser/functions/with.rb +1 -0
  504. data/lib/puppet/parser/functions.rb +2 -1
  505. data/lib/puppet/parser/parser_factory.rb +1 -0
  506. data/lib/puppet/parser/relationship.rb +1 -0
  507. data/lib/puppet/parser/resource/param.rb +1 -0
  508. data/lib/puppet/parser/resource.rb +1 -0
  509. data/lib/puppet/parser/scope.rb +6 -1
  510. data/lib/puppet/parser/script_compiler.rb +1 -0
  511. data/lib/puppet/parser/type_loader.rb +1 -0
  512. data/lib/puppet/parser.rb +1 -0
  513. data/lib/puppet/plugins/configuration.rb +1 -0
  514. data/lib/puppet/plugins/syntax_checkers.rb +1 -0
  515. data/lib/puppet/plugins.rb +1 -0
  516. data/lib/puppet/pops/adaptable.rb +1 -0
  517. data/lib/puppet/pops/adapters.rb +1 -0
  518. data/lib/puppet/pops/evaluator/access_operator.rb +2 -1
  519. data/lib/puppet/pops/evaluator/callable_signature.rb +1 -0
  520. data/lib/puppet/pops/evaluator/closure.rb +2 -1
  521. data/lib/puppet/pops/evaluator/collector_transformer.rb +1 -0
  522. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +1 -0
  523. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +1 -0
  524. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +1 -0
  525. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +1 -0
  526. data/lib/puppet/pops/evaluator/compare_operator.rb +1 -0
  527. data/lib/puppet/pops/evaluator/deferred_resolver.rb +6 -22
  528. data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -0
  529. data/lib/puppet/pops/evaluator/evaluator_impl.rb +2 -1
  530. data/lib/puppet/pops/evaluator/external_syntax_support.rb +1 -0
  531. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +2 -1
  532. data/lib/puppet/pops/evaluator/literal_evaluator.rb +2 -1
  533. data/lib/puppet/pops/evaluator/puppet_proc.rb +1 -0
  534. data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -0
  535. data/lib/puppet/pops/evaluator/runtime3_converter.rb +1 -0
  536. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +2 -1
  537. data/lib/puppet/pops/evaluator/runtime3_support.rb +2 -1
  538. data/lib/puppet/pops/functions/dispatch.rb +1 -0
  539. data/lib/puppet/pops/functions/dispatcher.rb +1 -0
  540. data/lib/puppet/pops/functions/function.rb +1 -0
  541. data/lib/puppet/pops/issue_reporter.rb +1 -0
  542. data/lib/puppet/pops/issues.rb +1 -0
  543. data/lib/puppet/pops/label_provider.rb +1 -0
  544. data/lib/puppet/pops/loader/base_loader.rb +1 -0
  545. data/lib/puppet/pops/loader/dependency_loader.rb +1 -0
  546. data/lib/puppet/pops/loader/gem_support.rb +1 -0
  547. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
  548. data/lib/puppet/pops/loader/loader.rb +3 -2
  549. data/lib/puppet/pops/loader/loader_paths.rb +13 -12
  550. data/lib/puppet/pops/loader/module_loaders.rb +2 -1
  551. data/lib/puppet/pops/loader/predefined_loader.rb +1 -0
  552. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +1 -0
  553. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +1 -0
  554. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +1 -0
  555. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +2 -1
  556. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +2 -1
  557. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +3 -2
  558. data/lib/puppet/pops/loader/runtime3_type_loader.rb +1 -0
  559. data/lib/puppet/pops/loader/simple_environment_loader.rb +1 -0
  560. data/lib/puppet/pops/loader/static_loader.rb +1 -0
  561. data/lib/puppet/pops/loader/task_instantiator.rb +1 -0
  562. data/lib/puppet/pops/loader/type_definition_instantiator.rb +1 -0
  563. data/lib/puppet/pops/loader/typed_name.rb +2 -1
  564. data/lib/puppet/pops/loader/uri_helper.rb +1 -0
  565. data/lib/puppet/pops/loaders.rb +1 -0
  566. data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
  567. data/lib/puppet/pops/lookup/context.rb +1 -0
  568. data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
  569. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +3 -2
  570. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +4 -3
  571. data/lib/puppet/pops/lookup/data_provider.rb +1 -0
  572. data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
  573. data/lib/puppet/pops/lookup/explainer.rb +3 -2
  574. data/lib/puppet/pops/lookup/function_provider.rb +1 -0
  575. data/lib/puppet/pops/lookup/global_data_provider.rb +1 -0
  576. data/lib/puppet/pops/lookup/hiera_config.rb +47 -42
  577. data/lib/puppet/pops/lookup/interpolation.rb +10 -4
  578. data/lib/puppet/pops/lookup/invocation.rb +1 -0
  579. data/lib/puppet/pops/lookup/key_recorder.rb +1 -0
  580. data/lib/puppet/pops/lookup/location_resolver.rb +1 -0
  581. data/lib/puppet/pops/lookup/lookup_adapter.rb +7 -6
  582. data/lib/puppet/pops/lookup/lookup_key.rb +1 -0
  583. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +3 -2
  584. data/lib/puppet/pops/lookup/module_data_provider.rb +1 -0
  585. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -0
  586. data/lib/puppet/pops/lookup.rb +3 -2
  587. data/lib/puppet/pops/merge_strategy.rb +1 -0
  588. data/lib/puppet/pops/migration/migration_checker.rb +1 -0
  589. data/lib/puppet/pops/model/ast_transformer.rb +1 -0
  590. data/lib/puppet/pops/model/factory.rb +1 -1
  591. data/lib/puppet/pops/model/model_label_provider.rb +1 -0
  592. data/lib/puppet/pops/model/model_tree_dumper.rb +1 -0
  593. data/lib/puppet/pops/model/pn_transformer.rb +1 -0
  594. data/lib/puppet/pops/model/tree_dumper.rb +2 -1
  595. data/lib/puppet/pops/parser/code_merger.rb +1 -0
  596. data/lib/puppet/pops/parser/epp_parser.rb +1 -0
  597. data/lib/puppet/pops/parser/epp_support.rb +2 -1
  598. data/lib/puppet/pops/parser/evaluating_parser.rb +2 -1
  599. data/lib/puppet/pops/parser/heredoc_support.rb +1 -0
  600. data/lib/puppet/pops/parser/interpolation_support.rb +1 -0
  601. data/lib/puppet/pops/parser/lexer_support.rb +1 -0
  602. data/lib/puppet/pops/parser/locatable.rb +1 -0
  603. data/lib/puppet/pops/parser/locator.rb +1 -0
  604. data/lib/puppet/pops/parser/parser_support.rb +1 -0
  605. data/lib/puppet/pops/parser/pn_parser.rb +5 -4
  606. data/lib/puppet/pops/patterns.rb +1 -0
  607. data/lib/puppet/pops/pcore.rb +3 -2
  608. data/lib/puppet/pops/pn.rb +2 -1
  609. data/lib/puppet/pops/puppet_stack.rb +1 -0
  610. data/lib/puppet/pops/resource/param.rb +1 -0
  611. data/lib/puppet/pops/resource/resource_type_impl.rb +1 -0
  612. data/lib/puppet/pops/semantic_error.rb +1 -0
  613. data/lib/puppet/pops/serialization/abstract_reader.rb +1 -0
  614. data/lib/puppet/pops/serialization/abstract_writer.rb +1 -0
  615. data/lib/puppet/pops/serialization/deserializer.rb +1 -0
  616. data/lib/puppet/pops/serialization/extension.rb +1 -0
  617. data/lib/puppet/pops/serialization/from_data_converter.rb +1 -0
  618. data/lib/puppet/pops/serialization/instance_reader.rb +1 -0
  619. data/lib/puppet/pops/serialization/instance_writer.rb +1 -0
  620. data/lib/puppet/pops/serialization/json.rb +1 -0
  621. data/lib/puppet/pops/serialization/json_path.rb +2 -1
  622. data/lib/puppet/pops/serialization/object.rb +1 -0
  623. data/lib/puppet/pops/serialization/serializer.rb +1 -0
  624. data/lib/puppet/pops/serialization/time_factory.rb +1 -0
  625. data/lib/puppet/pops/serialization/to_data_converter.rb +2 -1
  626. data/lib/puppet/pops/serialization/to_stringified_converter.rb +1 -0
  627. data/lib/puppet/pops/serialization.rb +9 -8
  628. data/lib/puppet/pops/time/timespan.rb +15 -14
  629. data/lib/puppet/pops/time/timestamp.rb +3 -2
  630. data/lib/puppet/pops/types/annotatable.rb +2 -1
  631. data/lib/puppet/pops/types/annotation.rb +2 -1
  632. data/lib/puppet/pops/types/class_loader.rb +1 -0
  633. data/lib/puppet/pops/types/implementation_registry.rb +1 -0
  634. data/lib/puppet/pops/types/iterable.rb +1 -0
  635. data/lib/puppet/pops/types/p_binary_type.rb +1 -0
  636. data/lib/puppet/pops/types/p_init_type.rb +1 -0
  637. data/lib/puppet/pops/types/p_meta_type.rb +4 -3
  638. data/lib/puppet/pops/types/p_object_type.rb +16 -15
  639. data/lib/puppet/pops/types/p_object_type_extension.rb +1 -0
  640. data/lib/puppet/pops/types/p_runtime_type.rb +1 -0
  641. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -0
  642. data/lib/puppet/pops/types/p_sem_ver_type.rb +1 -0
  643. data/lib/puppet/pops/types/p_sensitive_type.rb +1 -0
  644. data/lib/puppet/pops/types/p_timespan_type.rb +1 -0
  645. data/lib/puppet/pops/types/p_timestamp_type.rb +1 -0
  646. data/lib/puppet/pops/types/p_type_set_type.rb +9 -8
  647. data/lib/puppet/pops/types/p_uri_type.rb +9 -8
  648. data/lib/puppet/pops/types/puppet_object.rb +1 -0
  649. data/lib/puppet/pops/types/recursion_guard.rb +1 -0
  650. data/lib/puppet/pops/types/ruby_generator.rb +3 -2
  651. data/lib/puppet/pops/types/ruby_method.rb +1 -0
  652. data/lib/puppet/pops/types/string_converter.rb +10 -9
  653. data/lib/puppet/pops/types/tree_iterators.rb +1 -0
  654. data/lib/puppet/pops/types/type_acceptor.rb +1 -0
  655. data/lib/puppet/pops/types/type_asserter.rb +1 -0
  656. data/lib/puppet/pops/types/type_assertion_error.rb +1 -0
  657. data/lib/puppet/pops/types/type_calculator.rb +2 -1
  658. data/lib/puppet/pops/types/type_conversion_error.rb +1 -0
  659. data/lib/puppet/pops/types/type_factory.rb +2 -1
  660. data/lib/puppet/pops/types/type_formatter.rb +2 -2
  661. data/lib/puppet/pops/types/type_mismatch_describer.rb +1 -0
  662. data/lib/puppet/pops/types/type_parser.rb +1 -0
  663. data/lib/puppet/pops/types/type_set_reference.rb +1 -0
  664. data/lib/puppet/pops/types/type_with_members.rb +1 -0
  665. data/lib/puppet/pops/types/types.rb +3 -2
  666. data/lib/puppet/pops/utils.rb +3 -2
  667. data/lib/puppet/pops/validation/checker4_0.rb +1 -0
  668. data/lib/puppet/pops/validation/tasks_checker.rb +1 -0
  669. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -0
  670. data/lib/puppet/pops/validation.rb +1 -0
  671. data/lib/puppet/pops/visitable.rb +1 -0
  672. data/lib/puppet/pops/visitor.rb +1 -0
  673. data/lib/puppet/pops.rb +4 -3
  674. data/lib/puppet/property/boolean.rb +1 -0
  675. data/lib/puppet/property/ensure.rb +1 -0
  676. data/lib/puppet/property/keyvalue.rb +1 -0
  677. data/lib/puppet/property/list.rb +1 -0
  678. data/lib/puppet/property/ordered_list.rb +1 -0
  679. data/lib/puppet/property.rb +1 -0
  680. data/lib/puppet/provider/aix_object.rb +1 -0
  681. data/lib/puppet/provider/command.rb +1 -0
  682. data/lib/puppet/provider/confine.rb +1 -0
  683. data/lib/puppet/provider/exec/posix.rb +1 -0
  684. data/lib/puppet/provider/exec/shell.rb +1 -0
  685. data/lib/puppet/provider/exec/windows.rb +4 -3
  686. data/lib/puppet/provider/exec.rb +1 -0
  687. data/lib/puppet/provider/file/posix.rb +1 -0
  688. data/lib/puppet/provider/file/windows.rb +2 -1
  689. data/lib/puppet/provider/group/aix.rb +3 -2
  690. data/lib/puppet/provider/group/directoryservice.rb +3 -2
  691. data/lib/puppet/provider/group/groupadd.rb +2 -1
  692. data/lib/puppet/provider/group/ldap.rb +1 -0
  693. data/lib/puppet/provider/group/pw.rb +3 -2
  694. data/lib/puppet/provider/group/windows_adsi.rb +3 -2
  695. data/lib/puppet/provider/ldap.rb +1 -0
  696. data/lib/puppet/provider/nameservice/directoryservice.rb +5 -4
  697. data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
  698. data/lib/puppet/provider/nameservice/pw.rb +1 -0
  699. data/lib/puppet/provider/nameservice.rb +1 -0
  700. data/lib/puppet/provider/network_device.rb +1 -0
  701. data/lib/puppet/provider/package/aix.rb +3 -2
  702. data/lib/puppet/provider/package/appdmg.rb +3 -2
  703. data/lib/puppet/provider/package/apple.rb +2 -1
  704. data/lib/puppet/provider/package/apt.rb +3 -2
  705. data/lib/puppet/provider/package/aptitude.rb +1 -0
  706. data/lib/puppet/provider/package/aptrpm.rb +1 -0
  707. data/lib/puppet/provider/package/blastwave.rb +2 -1
  708. data/lib/puppet/provider/package/dnf.rb +6 -6
  709. data/lib/puppet/provider/package/dnfmodule.rb +2 -1
  710. data/lib/puppet/provider/package/dpkg.rb +1 -0
  711. data/lib/puppet/provider/package/fink.rb +1 -0
  712. data/lib/puppet/provider/package/freebsd.rb +2 -1
  713. data/lib/puppet/provider/package/gem.rb +5 -4
  714. data/lib/puppet/provider/package/hpux.rb +3 -2
  715. data/lib/puppet/provider/package/macports.rb +2 -1
  716. data/lib/puppet/provider/package/nim.rb +1 -0
  717. data/lib/puppet/provider/package/openbsd.rb +3 -2
  718. data/lib/puppet/provider/package/opkg.rb +3 -2
  719. data/lib/puppet/provider/package/pacman.rb +3 -2
  720. data/lib/puppet/provider/package/pip.rb +1 -0
  721. data/lib/puppet/provider/package/pip2.rb +1 -0
  722. data/lib/puppet/provider/package/pip3.rb +1 -0
  723. data/lib/puppet/provider/package/pkg.rb +4 -3
  724. data/lib/puppet/provider/package/pkgdmg.rb +3 -2
  725. data/lib/puppet/provider/package/pkgin.rb +2 -1
  726. data/lib/puppet/provider/package/pkgng.rb +3 -2
  727. data/lib/puppet/provider/package/pkgutil.rb +2 -1
  728. data/lib/puppet/provider/package/portage.rb +3 -2
  729. data/lib/puppet/provider/package/ports.rb +1 -0
  730. data/lib/puppet/provider/package/portupgrade.rb +2 -1
  731. data/lib/puppet/provider/package/puppet_gem.rb +3 -2
  732. data/lib/puppet/provider/package/puppetserver_gem.rb +1 -0
  733. data/lib/puppet/provider/package/rpm.rb +1 -0
  734. data/lib/puppet/provider/package/rug.rb +2 -1
  735. data/lib/puppet/provider/package/sun.rb +3 -2
  736. data/lib/puppet/provider/package/sunfreeware.rb +2 -1
  737. data/lib/puppet/provider/package/tdnf.rb +2 -1
  738. data/lib/puppet/provider/package/up2date.rb +3 -2
  739. data/lib/puppet/provider/package/urpmi.rb +2 -1
  740. data/lib/puppet/provider/package/windows/exe_package.rb +1 -0
  741. data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
  742. data/lib/puppet/provider/package/windows/package.rb +3 -2
  743. data/lib/puppet/provider/package/windows.rb +3 -2
  744. data/lib/puppet/provider/package/yum.rb +6 -5
  745. data/lib/puppet/provider/package/zypper.rb +3 -2
  746. data/lib/puppet/provider/package.rb +1 -0
  747. data/lib/puppet/provider/package_targetable.rb +1 -0
  748. data/lib/puppet/provider/parsedfile.rb +1 -0
  749. data/lib/puppet/provider/service/base.rb +2 -1
  750. data/lib/puppet/provider/service/bsd.rb +2 -1
  751. data/lib/puppet/provider/service/daemontools.rb +2 -1
  752. data/lib/puppet/provider/service/debian.rb +4 -3
  753. data/lib/puppet/provider/service/freebsd.rb +3 -2
  754. data/lib/puppet/provider/service/gentoo.rb +2 -1
  755. data/lib/puppet/provider/service/init.rb +9 -5
  756. data/lib/puppet/provider/service/launchd.rb +4 -3
  757. data/lib/puppet/provider/service/openbsd.rb +3 -2
  758. data/lib/puppet/provider/service/openrc.rb +3 -2
  759. data/lib/puppet/provider/service/openwrt.rb +3 -2
  760. data/lib/puppet/provider/service/rcng.rb +3 -2
  761. data/lib/puppet/provider/service/redhat.rb +4 -3
  762. data/lib/puppet/provider/service/runit.rb +1 -0
  763. data/lib/puppet/provider/service/service.rb +1 -0
  764. data/lib/puppet/provider/service/smf.rb +6 -5
  765. data/lib/puppet/provider/service/src.rb +3 -2
  766. data/lib/puppet/provider/service/systemd.rb +17 -17
  767. data/lib/puppet/provider/service/upstart.rb +8 -7
  768. data/lib/puppet/provider/service/windows.rb +3 -2
  769. data/lib/puppet/provider/user/aix.rb +3 -2
  770. data/lib/puppet/provider/user/directoryservice.rb +5 -4
  771. data/lib/puppet/provider/user/hpux.rb +3 -2
  772. data/lib/puppet/provider/user/ldap.rb +1 -0
  773. data/lib/puppet/provider/user/openbsd.rb +3 -2
  774. data/lib/puppet/provider/user/pw.rb +3 -2
  775. data/lib/puppet/provider/user/user_role_add.rb +2 -1
  776. data/lib/puppet/provider/user/useradd.rb +7 -6
  777. data/lib/puppet/provider/user/windows_adsi.rb +3 -2
  778. data/lib/puppet/provider.rb +1 -0
  779. data/lib/puppet/reference/configuration.rb +2 -1
  780. data/lib/puppet/reference/function.rb +1 -0
  781. data/lib/puppet/reference/indirection.rb +2 -1
  782. data/lib/puppet/reference/metaparameter.rb +1 -0
  783. data/lib/puppet/reference/providers.rb +5 -5
  784. data/lib/puppet/reference/report.rb +1 -0
  785. data/lib/puppet/reference/type.rb +1 -0
  786. data/lib/puppet/relationship.rb +1 -0
  787. data/lib/puppet/reports/http.rb +1 -0
  788. data/lib/puppet/reports/log.rb +1 -0
  789. data/lib/puppet/reports/store.rb +1 -0
  790. data/lib/puppet/reports.rb +2 -1
  791. data/lib/puppet/resource/catalog.rb +1 -0
  792. data/lib/puppet/resource/status.rb +1 -0
  793. data/lib/puppet/resource/type.rb +9 -8
  794. data/lib/puppet/resource.rb +9 -8
  795. data/lib/puppet/runtime.rb +1 -0
  796. data/lib/puppet/scheduler/job.rb +1 -0
  797. data/lib/puppet/scheduler/scheduler.rb +1 -0
  798. data/lib/puppet/scheduler/splay_job.rb +1 -0
  799. data/lib/puppet/scheduler/timer.rb +1 -0
  800. data/lib/puppet/scheduler.rb +1 -0
  801. data/lib/puppet/settings/alias_setting.rb +1 -0
  802. data/lib/puppet/settings/array_setting.rb +1 -0
  803. data/lib/puppet/settings/autosign_setting.rb +1 -0
  804. data/lib/puppet/settings/base_setting.rb +1 -0
  805. data/lib/puppet/settings/boolean_setting.rb +1 -0
  806. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -0
  807. data/lib/puppet/settings/config_file.rb +1 -0
  808. data/lib/puppet/settings/directory_setting.rb +1 -0
  809. data/lib/puppet/settings/duration_setting.rb +1 -0
  810. data/lib/puppet/settings/enum_setting.rb +1 -0
  811. data/lib/puppet/settings/environment_conf.rb +1 -0
  812. data/lib/puppet/settings/errors.rb +1 -0
  813. data/lib/puppet/settings/file_or_directory_setting.rb +1 -0
  814. data/lib/puppet/settings/file_setting.rb +1 -0
  815. data/lib/puppet/settings/http_extra_headers_setting.rb +1 -0
  816. data/lib/puppet/settings/ini_file.rb +1 -0
  817. data/lib/puppet/settings/integer_setting.rb +1 -0
  818. data/lib/puppet/settings/path_setting.rb +1 -0
  819. data/lib/puppet/settings/port_setting.rb +1 -0
  820. data/lib/puppet/settings/priority_setting.rb +1 -0
  821. data/lib/puppet/settings/server_list_setting.rb +1 -0
  822. data/lib/puppet/settings/string_setting.rb +1 -0
  823. data/lib/puppet/settings/symbolic_enum_setting.rb +1 -0
  824. data/lib/puppet/settings/terminus_setting.rb +1 -0
  825. data/lib/puppet/settings/ttl_setting.rb +1 -0
  826. data/lib/puppet/settings/value_translator.rb +1 -0
  827. data/lib/puppet/settings.rb +7 -20
  828. data/lib/puppet/ssl/base.rb +1 -0
  829. data/lib/puppet/ssl/certificate.rb +1 -0
  830. data/lib/puppet/ssl/certificate_request.rb +2 -4
  831. data/lib/puppet/ssl/certificate_request_attributes.rb +1 -0
  832. data/lib/puppet/ssl/certificate_signer.rb +1 -0
  833. data/lib/puppet/ssl/digest.rb +1 -0
  834. data/lib/puppet/ssl/error.rb +1 -0
  835. data/lib/puppet/ssl/oids.rb +1 -1
  836. data/lib/puppet/ssl/openssl_loader.rb +1 -0
  837. data/lib/puppet/ssl/ssl_context.rb +16 -10
  838. data/lib/puppet/ssl/ssl_provider.rb +2 -1
  839. data/lib/puppet/ssl/state_machine.rb +1 -0
  840. data/lib/puppet/ssl/verifier.rb +1 -0
  841. data/lib/puppet/ssl.rb +2 -1
  842. data/lib/puppet/syntax_checkers/base64.rb +1 -0
  843. data/lib/puppet/syntax_checkers/epp.rb +1 -0
  844. data/lib/puppet/syntax_checkers/json.rb +1 -0
  845. data/lib/puppet/syntax_checkers/pp.rb +1 -0
  846. data/lib/puppet/syntax_checkers.rb +1 -0
  847. data/lib/puppet/test/test_helper.rb +4 -21
  848. data/lib/puppet/thread_local.rb +5 -1
  849. data/lib/puppet/transaction/additional_resource_generator.rb +1 -0
  850. data/lib/puppet/transaction/event.rb +1 -0
  851. data/lib/puppet/transaction/event_manager.rb +1 -0
  852. data/lib/puppet/transaction/persistence.rb +1 -0
  853. data/lib/puppet/transaction/report.rb +3 -2
  854. data/lib/puppet/transaction/resource_harness.rb +1 -0
  855. data/lib/puppet/transaction.rb +1 -0
  856. data/lib/puppet/trusted_external.rb +1 -0
  857. data/lib/puppet/type/component.rb +2 -1
  858. data/lib/puppet/type/exec.rb +8 -15
  859. data/lib/puppet/type/file/checksum.rb +1 -0
  860. data/lib/puppet/type/file/checksum_value.rb +1 -0
  861. data/lib/puppet/type/file/content.rb +1 -0
  862. data/lib/puppet/type/file/ctime.rb +1 -0
  863. data/lib/puppet/type/file/data_sync.rb +1 -0
  864. data/lib/puppet/type/file/ensure.rb +1 -0
  865. data/lib/puppet/type/file/group.rb +1 -0
  866. data/lib/puppet/type/file/mode.rb +1 -0
  867. data/lib/puppet/type/file/mtime.rb +1 -0
  868. data/lib/puppet/type/file/owner.rb +1 -0
  869. data/lib/puppet/type/file/selcontext.rb +1 -0
  870. data/lib/puppet/type/file/source.rb +2 -1
  871. data/lib/puppet/type/file/target.rb +1 -0
  872. data/lib/puppet/type/file/type.rb +1 -0
  873. data/lib/puppet/type/file.rb +1 -0
  874. data/lib/puppet/type/filebucket.rb +1 -0
  875. data/lib/puppet/type/group.rb +1 -0
  876. data/lib/puppet/type/notify.rb +1 -0
  877. data/lib/puppet/type/package.rb +3 -2
  878. data/lib/puppet/type/resources.rb +2 -2
  879. data/lib/puppet/type/schedule.rb +1 -0
  880. data/lib/puppet/type/service.rb +1 -0
  881. data/lib/puppet/type/stage.rb +1 -0
  882. data/lib/puppet/type/tidy.rb +1 -0
  883. data/lib/puppet/type/user.rb +1 -0
  884. data/lib/puppet/type/whit.rb +1 -0
  885. data/lib/puppet/type.rb +2 -42
  886. data/lib/puppet/util/at_fork/noop.rb +1 -0
  887. data/lib/puppet/util/at_fork/solaris.rb +1 -0
  888. data/lib/puppet/util/at_fork.rb +1 -0
  889. data/lib/puppet/util/autoload.rb +1 -0
  890. data/lib/puppet/util/backups.rb +1 -0
  891. data/lib/puppet/util/character_encoding.rb +1 -0
  892. data/lib/puppet/util/checksums.rb +1 -0
  893. data/lib/puppet/util/classgen.rb +1 -0
  894. data/lib/puppet/util/colors.rb +1 -0
  895. data/lib/puppet/util/command_line/puppet_option_parser.rb +1 -0
  896. data/lib/puppet/util/command_line/trollop.rb +2 -1
  897. data/lib/puppet/util/command_line.rb +1 -0
  898. data/lib/puppet/util/constant_inflector.rb +1 -0
  899. data/lib/puppet/util/diff.rb +2 -1
  900. data/lib/puppet/util/docs.rb +1 -0
  901. data/lib/puppet/util/errors.rb +1 -0
  902. data/lib/puppet/util/execution.rb +7 -12
  903. data/lib/puppet/util/execution_stub.rb +1 -0
  904. data/lib/puppet/util/feature.rb +1 -0
  905. data/lib/puppet/util/file_watcher.rb +1 -0
  906. data/lib/puppet/util/fileparsing.rb +1 -0
  907. data/lib/puppet/util/filetype.rb +3 -2
  908. data/lib/puppet/util/http_proxy.rb +1 -0
  909. data/lib/puppet/util/inifile.rb +3 -2
  910. data/lib/puppet/util/instance_loader.rb +1 -0
  911. data/lib/puppet/util/json.rb +1 -0
  912. data/lib/puppet/util/json_lockfile.rb +1 -0
  913. data/lib/puppet/util/ldap/connection.rb +1 -0
  914. data/lib/puppet/util/ldap/generator.rb +1 -0
  915. data/lib/puppet/util/ldap/manager.rb +1 -0
  916. data/lib/puppet/util/ldap.rb +1 -0
  917. data/lib/puppet/util/libuser.rb +1 -0
  918. data/lib/puppet/util/limits.rb +1 -0
  919. data/lib/puppet/util/lockfile.rb +1 -0
  920. data/lib/puppet/util/log/destination.rb +1 -0
  921. data/lib/puppet/util/log/destinations.rb +1 -0
  922. data/lib/puppet/util/log.rb +1 -0
  923. data/lib/puppet/util/logging.rb +1 -0
  924. data/lib/puppet/util/metaid.rb +1 -0
  925. data/lib/puppet/util/metric.rb +1 -0
  926. data/lib/puppet/util/monkey_patches.rb +3 -28
  927. data/lib/puppet/util/multi_match.rb +1 -0
  928. data/lib/puppet/util/network_device/base.rb +1 -0
  929. data/lib/puppet/util/network_device/config.rb +1 -0
  930. data/lib/puppet/util/network_device/transport/base.rb +1 -0
  931. data/lib/puppet/util/network_device/transport.rb +1 -0
  932. data/lib/puppet/util/network_device.rb +1 -0
  933. data/lib/puppet/util/package/version/debian.rb +1 -0
  934. data/lib/puppet/util/package/version/gem.rb +1 -0
  935. data/lib/puppet/util/package/version/pip.rb +4 -3
  936. data/lib/puppet/util/package/version/range/eq.rb +1 -0
  937. data/lib/puppet/util/package/version/range/gt.rb +1 -0
  938. data/lib/puppet/util/package/version/range/gt_eq.rb +1 -0
  939. data/lib/puppet/util/package/version/range/lt.rb +1 -0
  940. data/lib/puppet/util/package/version/range/lt_eq.rb +1 -0
  941. data/lib/puppet/util/package/version/range/min_max.rb +1 -0
  942. data/lib/puppet/util/package/version/range/simple.rb +1 -0
  943. data/lib/puppet/util/package/version/range.rb +1 -0
  944. data/lib/puppet/util/package/version/rpm.rb +1 -1
  945. data/lib/puppet/util/pidlock.rb +1 -0
  946. data/lib/puppet/util/platform.rb +3 -2
  947. data/lib/puppet/util/plist.rb +1 -0
  948. data/lib/puppet/util/posix.rb +1 -0
  949. data/lib/puppet/util/profiler/aggregate.rb +1 -0
  950. data/lib/puppet/util/profiler/around_profiler.rb +1 -0
  951. data/lib/puppet/util/profiler/logging.rb +1 -0
  952. data/lib/puppet/util/profiler/object_counts.rb +1 -0
  953. data/lib/puppet/util/profiler/wall_clock.rb +1 -0
  954. data/lib/puppet/util/profiler.rb +1 -0
  955. data/lib/puppet/util/provider_features.rb +2 -1
  956. data/lib/puppet/util/psych_support.rb +1 -0
  957. data/lib/puppet/util/rdoc/code_objects.rb +1 -0
  958. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -0
  959. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +1 -0
  960. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +1 -0
  961. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
  962. data/lib/puppet/util/rdoc/parser.rb +1 -0
  963. data/lib/puppet/util/rdoc.rb +1 -0
  964. data/lib/puppet/util/reference.rb +1 -0
  965. data/lib/puppet/util/resource_template.rb +1 -0
  966. data/lib/puppet/util/retry_action.rb +1 -0
  967. data/lib/puppet/util/rpm_compare.rb +1 -0
  968. data/lib/puppet/util/rubygems.rb +1 -0
  969. data/lib/puppet/util/run_mode.rb +1 -0
  970. data/lib/puppet/util/selinux.rb +2 -1
  971. data/lib/puppet/util/skip_tags.rb +1 -0
  972. data/lib/puppet/util/splayer.rb +1 -0
  973. data/lib/puppet/util/storage.rb +1 -0
  974. data/lib/puppet/util/suidmanager.rb +2 -1
  975. data/lib/puppet/util/symbolic_file_mode.rb +1 -0
  976. data/lib/puppet/util/tag_set.rb +1 -0
  977. data/lib/puppet/util/terminal.rb +1 -0
  978. data/lib/puppet/util/user_attr.rb +1 -0
  979. data/lib/puppet/util/warnings.rb +1 -0
  980. data/lib/puppet/util/watched_file.rb +1 -0
  981. data/lib/puppet/util/watcher/change_watcher.rb +1 -0
  982. data/lib/puppet/util/watcher/periodic_watcher.rb +1 -0
  983. data/lib/puppet/util/watcher/timer.rb +1 -0
  984. data/lib/puppet/util/watcher.rb +1 -0
  985. data/lib/puppet/util/windows/access_control_entry.rb +2 -1
  986. data/lib/puppet/util/windows/access_control_list.rb +2 -1
  987. data/lib/puppet/util/windows/adsi.rb +3 -9
  988. data/lib/puppet/util/windows/com.rb +1 -0
  989. data/lib/puppet/util/windows/daemon.rb +1 -0
  990. data/lib/puppet/util/windows/error.rb +2 -1
  991. data/lib/puppet/util/windows/eventlog.rb +1 -0
  992. data/lib/puppet/util/windows/file.rb +3 -2
  993. data/lib/puppet/util/windows/principal.rb +1 -0
  994. data/lib/puppet/util/windows/process.rb +2 -1
  995. data/lib/puppet/util/windows/registry.rb +1 -0
  996. data/lib/puppet/util/windows/root_certs.rb +1 -0
  997. data/lib/puppet/util/windows/security.rb +1 -0
  998. data/lib/puppet/util/windows/security_descriptor.rb +1 -0
  999. data/lib/puppet/util/windows/service.rb +1 -0
  1000. data/lib/puppet/util/windows/sid.rb +3 -4
  1001. data/lib/puppet/util/windows/string.rb +1 -0
  1002. data/lib/puppet/util/windows/user.rb +1 -0
  1003. data/lib/puppet/util/windows.rb +1 -0
  1004. data/lib/puppet/util/yaml.rb +1 -0
  1005. data/lib/puppet/util.rb +32 -87
  1006. data/lib/puppet/vendor.rb +1 -0
  1007. data/lib/puppet/version.rb +2 -1
  1008. data/lib/puppet/x509/cert_provider.rb +3 -6
  1009. data/lib/puppet/x509/pem_store.rb +1 -0
  1010. data/lib/puppet/x509.rb +1 -0
  1011. data/lib/puppet.rb +5 -8
  1012. data/lib/puppet_pal.rb +1 -0
  1013. data/lib/puppet_x.rb +1 -0
  1014. data/locales/puppet.pot +9679 -5
  1015. data/man/man5/puppet.conf.5 +13 -13
  1016. data/man/man8/puppet-agent.8 +1 -1
  1017. data/man/man8/puppet-apply.8 +1 -1
  1018. data/man/man8/puppet-catalog.8 +1 -5
  1019. data/man/man8/puppet-config.8 +1 -1
  1020. data/man/man8/puppet-describe.8 +1 -1
  1021. data/man/man8/puppet-device.8 +1 -1
  1022. data/man/man8/puppet-doc.8 +1 -1
  1023. data/man/man8/puppet-epp.8 +1 -1
  1024. data/man/man8/puppet-facts.8 +1 -5
  1025. data/man/man8/puppet-filebucket.8 +1 -1
  1026. data/man/man8/puppet-generate.8 +1 -1
  1027. data/man/man8/puppet-help.8 +1 -1
  1028. data/man/man8/puppet-lookup.8 +1 -1
  1029. data/man/man8/puppet-module.8 +1 -1
  1030. data/man/man8/puppet-node.8 +1 -5
  1031. data/man/man8/puppet-parser.8 +1 -1
  1032. data/man/man8/puppet-plugin.8 +1 -1
  1033. data/man/man8/puppet-report.8 +1 -5
  1034. data/man/man8/puppet-resource.8 +1 -1
  1035. data/man/man8/puppet-script.8 +1 -1
  1036. data/man/man8/puppet-ssl.8 +1 -5
  1037. data/man/man8/puppet.8 +2 -2
  1038. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +1 -1
  1039. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +1 -1
  1040. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +1 -1
  1041. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +1 -1
  1042. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +1 -1
  1043. data/spec/integration/application/agent_spec.rb +17 -25
  1044. data/spec/integration/application/apply_spec.rb +23 -29
  1045. data/spec/integration/configurer_spec.rb +4 -2
  1046. data/spec/integration/defaults_spec.rb +3 -3
  1047. data/spec/integration/http/client_spec.rb +2 -18
  1048. data/spec/integration/network/formats_spec.rb +1 -1
  1049. data/spec/integration/network/http/api/indirected_routes_spec.rb +2 -2
  1050. data/spec/integration/network/http_pool_spec.rb +2 -2
  1051. data/spec/integration/node/facts_spec.rb +2 -2
  1052. data/spec/integration/parser/compiler_spec.rb +15 -4
  1053. data/spec/integration/parser/conditionals_spec.rb +3 -0
  1054. data/spec/integration/parser/scope_spec.rb +10 -3
  1055. data/spec/integration/type/exec_spec.rb +0 -13
  1056. data/spec/integration/type/file_spec.rb +2 -2
  1057. data/spec/integration/type/package_spec.rb +5 -5
  1058. data/spec/integration/util_spec.rb +1 -1
  1059. data/spec/lib/puppet_spec/network.rb +18 -0
  1060. data/spec/lib/puppet_spec/puppetserver.rb +0 -1
  1061. data/spec/shared_examples/rhel_package_provider.rb +2 -2
  1062. data/spec/unit/application/device_spec.rb +2 -2
  1063. data/spec/unit/application/lookup_spec.rb +6 -0
  1064. data/spec/unit/application/resource_spec.rb +22 -13
  1065. data/spec/unit/application/ssl_spec.rb +0 -49
  1066. data/spec/unit/configurer/fact_handler_spec.rb +1 -1
  1067. data/spec/unit/confine_spec.rb +6 -6
  1068. data/spec/unit/data_providers/hiera_data_provider_spec.rb +2 -0
  1069. data/spec/unit/defaults_spec.rb +48 -2
  1070. data/spec/unit/external/pson_spec.rb +1 -3
  1071. data/spec/unit/face/epp_face_spec.rb +2 -2
  1072. data/spec/unit/file_bucket/dipper_spec.rb +2 -2
  1073. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  1074. data/spec/unit/file_serving/mount/file_spec.rb +2 -2
  1075. data/spec/unit/file_system/path_pattern_spec.rb +0 -15
  1076. data/spec/unit/functions/epp_spec.rb +7 -1
  1077. data/spec/unit/functions/hiera_spec.rb +7 -7
  1078. data/spec/unit/functions/inline_epp_spec.rb +7 -1
  1079. data/spec/unit/functions/lookup_spec.rb +59 -69
  1080. data/spec/unit/functions/max_spec.rb +30 -1
  1081. data/spec/unit/functions/min_spec.rb +30 -1
  1082. data/spec/unit/functions/return_spec.rb +4 -0
  1083. data/spec/unit/functions/split_spec.rb +0 -6
  1084. data/spec/unit/hiera/scope_spec.rb +6 -1
  1085. data/spec/unit/hiera_puppet_spec.rb +1 -1
  1086. data/spec/unit/http/factory_spec.rb +1 -1
  1087. data/spec/unit/http/service/compiler_spec.rb +5 -3
  1088. data/spec/unit/http/service/file_server_spec.rb +5 -3
  1089. data/spec/unit/http/service/report_spec.rb +4 -14
  1090. data/spec/unit/http/service_spec.rb +5 -11
  1091. data/spec/unit/indirector/catalog/compiler_spec.rb +12 -28
  1092. data/spec/unit/indirector/catalog/rest_spec.rb +0 -17
  1093. data/spec/unit/indirector/face_spec.rb +4 -6
  1094. data/spec/unit/indirector/facts/facter_spec.rb +1 -1
  1095. data/spec/unit/indirector/hiera_spec.rb +7 -2
  1096. data/spec/unit/indirector/report/rest_spec.rb +0 -26
  1097. data/spec/unit/indirector/rest_spec.rb +1 -1
  1098. data/spec/unit/module_spec.rb +2 -6
  1099. data/spec/unit/module_tool/tar_spec.rb +3 -3
  1100. data/spec/unit/network/formats_spec.rb +1 -1
  1101. data/spec/unit/network/http/api/indirected_routes_spec.rb +10 -10
  1102. data/spec/unit/parser/scope_spec.rb +4 -0
  1103. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +8 -0
  1104. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +5 -0
  1105. data/spec/unit/pops/loaders/loaders_spec.rb +7 -7
  1106. data/spec/unit/pops/lookup/interpolation_spec.rb +12 -0
  1107. data/spec/unit/pops/serialization/serialization_spec.rb +2 -2
  1108. data/spec/unit/pops/serialization/to_from_hr_spec.rb +13 -1
  1109. data/spec/unit/pops/validator/validator_spec.rb +2 -3
  1110. data/spec/unit/provider/package/appdmg_spec.rb +1 -1
  1111. data/spec/unit/provider/package/apt_spec.rb +2 -2
  1112. data/spec/unit/provider/package/dnf_spec.rb +15 -22
  1113. data/spec/unit/provider/package/dnfmodule_spec.rb +8 -28
  1114. data/spec/unit/provider/package/gem_spec.rb +4 -4
  1115. data/spec/unit/provider/package/pip2_spec.rb +2 -2
  1116. data/spec/unit/provider/package/pip3_spec.rb +2 -2
  1117. data/spec/unit/provider/package/pip_spec.rb +2 -2
  1118. data/spec/unit/provider/package/pkg_spec.rb +8 -8
  1119. data/spec/unit/provider/package/pkgng_spec.rb +1 -1
  1120. data/spec/unit/provider/package/portage_spec.rb +2 -2
  1121. data/spec/unit/provider/package/puppet_gem_spec.rb +6 -6
  1122. data/spec/unit/provider/package/puppetserver_gem_spec.rb +2 -2
  1123. data/spec/unit/provider/package/tdnf_spec.rb +2 -2
  1124. data/spec/unit/provider/package/up2date_spec.rb +2 -2
  1125. data/spec/unit/provider/package/yum_spec.rb +16 -16
  1126. data/spec/unit/provider/service/base_spec.rb +1 -1
  1127. data/spec/unit/provider/service/bsd_spec.rb +2 -2
  1128. data/spec/unit/provider/service/debian_spec.rb +7 -7
  1129. data/spec/unit/provider/service/freebsd_spec.rb +1 -1
  1130. data/spec/unit/provider/service/gentoo_spec.rb +2 -2
  1131. data/spec/unit/provider/service/init_spec.rb +8 -8
  1132. data/spec/unit/provider/service/openbsd_spec.rb +2 -2
  1133. data/spec/unit/provider/service/openwrt_spec.rb +1 -1
  1134. data/spec/unit/provider/service/rcng_spec.rb +2 -2
  1135. data/spec/unit/provider/service/redhat_spec.rb +7 -7
  1136. data/spec/unit/provider/service/smf_spec.rb +8 -8
  1137. data/spec/unit/provider/service/systemd_spec.rb +60 -62
  1138. data/spec/unit/provider/service/upstart_spec.rb +3 -3
  1139. data/spec/unit/provider/user/directoryservice_spec.rb +2 -2
  1140. data/spec/unit/provider/user/openbsd_spec.rb +2 -2
  1141. data/spec/unit/provider/user/useradd_spec.rb +14 -14
  1142. data/spec/unit/provider_spec.rb +51 -51
  1143. data/spec/unit/reports/store_spec.rb +5 -3
  1144. data/spec/unit/resource/catalog_spec.rb +13 -4
  1145. data/spec/unit/ssl/certificate_request_spec.rb +6 -2
  1146. data/spec/unit/ssl/ssl_provider_spec.rb +9 -4
  1147. data/spec/unit/ssl/state_machine_spec.rb +1 -6
  1148. data/spec/unit/test/test_helper_spec.rb +4 -4
  1149. data/spec/unit/transaction/report_spec.rb +39 -7
  1150. data/spec/unit/type/exec_spec.rb +0 -13
  1151. data/spec/unit/type/package_spec.rb +3 -3
  1152. data/spec/unit/type/resources_spec.rb +2 -2
  1153. data/spec/unit/type_spec.rb +2 -2
  1154. data/spec/unit/util/execution_spec.rb +0 -1
  1155. data/spec/unit/util/json_lockfile_spec.rb +1 -1
  1156. data/spec/unit/util/monkey_patches_spec.rb +0 -18
  1157. data/spec/unit/util/run_mode_spec.rb +0 -32
  1158. data/spec/unit/util/windows/adsi_spec.rb +0 -25
  1159. data/spec/unit/util_spec.rb +68 -62
  1160. data/spec/unit/x509/cert_provider_spec.rb +2 -2
  1161. metadata +29 -43
  1162. data/lib/puppet/external/pson/common.rb +0 -374
  1163. data/lib/puppet/external/pson/pure/generator.rb +0 -395
  1164. data/lib/puppet/external/pson/pure/parser.rb +0 -308
  1165. data/lib/puppet/external/pson/pure.rb +0 -15
  1166. data/lib/puppet/external/pson/version.rb +0 -8
  1167. data/spec/unit/ssl/certificate_signer_spec.rb +0 -17
@@ -1,8 +1,10 @@
1
1
  require 'spec_helper'
2
+ require 'puppet_spec/network'
2
3
  require 'puppet/http'
3
4
 
4
5
  describe Puppet::HTTP::Service::FileServer do
5
6
  include PuppetSpec::Files
7
+ include PuppetSpec::Network
6
8
 
7
9
  let(:ssl_context) { Puppet::SSL::SSLContext.new }
8
10
  let(:client) { Puppet::HTTP::Client.new(ssl_context: ssl_context) }
@@ -57,7 +59,7 @@ describe Puppet::HTTP::Service::FileServer do
57
59
 
58
60
  it 'submits a request for file metadata to the server' do
59
61
  stub_request(:get, url).with(
60
- headers: {'Accept'=>'application/json, application/x-msgpack, text/pson',}
62
+ headers: {'Accept'=>acceptable_content_types_string}
61
63
  ).to_return(
62
64
  status: 200, body: filemetadata.render, headers: { 'Content-Type' => 'application/json' }
63
65
  )
@@ -139,7 +141,7 @@ describe Puppet::HTTP::Service::FileServer do
139
141
 
140
142
  it 'submits a request for file metadata to the server' do
141
143
  stub_request(:get, url).with(
142
- headers: {'Accept'=>'application/json, application/x-msgpack, text/pson',}
144
+ headers: {'Accept' => acceptable_content_types_string}
143
145
  ).to_return(
144
146
  status: 200, body: formatter.render_multiple(filemetadatas), headers: { 'Content-Type' => 'application/json' }
145
147
  )
@@ -160,7 +162,7 @@ describe Puppet::HTTP::Service::FileServer do
160
162
  it 'automatically converts an array of parameters to the stringified query' do
161
163
  url = "https://www.example.com/puppet/v3/file_metadatas/:mount/#{path}?checksum_type=sha256&environment=testing&ignore=CVS&ignore=.git&ignore=.hg&links=manage&recurse=false&source_permissions=ignore"
162
164
  stub_request(:get, url).with(
163
- headers: {'Accept'=>'application/json, application/x-msgpack, text/pson',}
165
+ headers: {'Accept'=>acceptable_content_types_string}
164
166
  ).to_return(
165
167
  status: 200, body: formatter.render_multiple(filemetadatas), headers: { 'Content-Type' => 'application/json' }
166
168
  )
@@ -1,7 +1,10 @@
1
1
  require 'spec_helper'
2
+ require 'puppet_spec/network'
2
3
  require 'puppet/http'
3
4
 
4
5
  describe Puppet::HTTP::Service::Report do
6
+ include PuppetSpec::Network
7
+
5
8
  let(:ssl_context) { Puppet::SSL::SSLContext.new }
6
9
  let(:client) { Puppet::HTTP::Client.new(ssl_context: ssl_context) }
7
10
  let(:subject) { client.create_session.route_to(:report) }
@@ -64,7 +67,7 @@ describe Puppet::HTTP::Service::Report do
64
67
  stub_request(:put, url)
65
68
  .with(
66
69
  headers: {
67
- 'Accept'=>'application/json, application/x-msgpack, text/pson',
70
+ 'Accept'=>acceptable_content_types_string,
68
71
  'Content-Type'=>'application/json',
69
72
  }).
70
73
  to_return(status: 200, body: "", headers: {})
@@ -100,18 +103,5 @@ describe Puppet::HTTP::Service::Report do
100
103
  expect(err.response.code).to eq(400)
101
104
  end
102
105
  end
103
-
104
- it 'raises an error if unsuccessful, the server version is < 5, and the current serialization format is not pson' do
105
- Puppet[:preferred_serialization_format] = 'json'
106
-
107
- stub_request(:put, url).to_return(status: [400, 'Bad Request'], headers: {'X-Puppet-Version' => '4.2.3' })
108
-
109
- expect {
110
- subject.put_report('infinity', report, environment: environment)
111
- }.to raise_error do |err|
112
- expect(err).to be_an_instance_of(Puppet::HTTP::ProtocolError)
113
- expect(err.message).to eq('To submit reports to a server running puppetserver 4.2.3, set preferred_serialization_format to pson')
114
- end
115
- end
116
106
  end
117
107
  end
@@ -1,10 +1,13 @@
1
1
  require 'spec_helper'
2
+ require 'puppet_spec/network'
2
3
  require 'puppet/http'
3
4
  require 'puppet/file_serving'
4
5
  require 'puppet/file_serving/content'
5
6
  require 'puppet/file_serving/metadata'
6
7
 
7
8
  describe Puppet::HTTP::Service do
9
+ include PuppetSpec::Network
10
+
8
11
  let(:ssl_context) { Puppet::SSL::SSLContext.new }
9
12
  let(:client) { Puppet::HTTP::Client.new(ssl_context: ssl_context) }
10
13
  let(:session) { Puppet::HTTP::Session.new(client, []) }
@@ -114,11 +117,7 @@ describe Puppet::HTTP::Service do
114
117
  end
115
118
 
116
119
  it 'returns different mime types for different models' do
117
- mimes = if Puppet.features.msgpack?
118
- %w[application/json application/x-msgpack text/pson]
119
- else
120
- %w[application/json text/pson]
121
- end
120
+ mimes = acceptable_content_types
122
121
 
123
122
  service = TestService.new(client, session, url)
124
123
  [
@@ -133,11 +132,6 @@ describe Puppet::HTTP::Service do
133
132
  # These are special
134
133
  expect(service.mime_types(Puppet::FileServing::Content)).to eq(%w[application/octet-stream])
135
134
 
136
- catalog_mimes = if Puppet.features.msgpack?
137
- %w[application/vnd.puppet.rich+json application/json application/vnd.puppet.rich+msgpack application/x-msgpack text/pson]
138
- else
139
- %w[application/vnd.puppet.rich+json application/json text/pson]
140
- end
141
- expect(service.mime_types(Puppet::Resource::Catalog)).to eq(catalog_mimes)
135
+ expect(service.mime_types(Puppet::Resource::Catalog)).to eq(acceptable_catalog_content_types)
142
136
  end
143
137
  end
@@ -271,23 +271,6 @@ describe Puppet::Resource::Catalog::Compiler do
271
271
  expect(catalog).to have_resource('Stage[main]')
272
272
  end
273
273
 
274
- # versioned environment directories can cause this
275
- it 'allows environments with the same name but mismatched modulepaths' do
276
- envs = Puppet.lookup(:environments)
277
- env_server = envs.get!(:env_server)
278
- v1_env = env_server.override_with({ modulepath: ['/code-v1/env-v1/'] })
279
- v2_env = env_server.override_with({ modulepath: ['/code-v2/env-v2/'] })
280
-
281
- @request.options[:check_environment] = "true"
282
- @request.environment = v1_env
283
- node.environment = v2_env
284
-
285
- catalog = compiler.find(@request)
286
-
287
- expect(catalog.environment).to eq('env_server')
288
- expect(catalog).to have_resource('Stage[main]')
289
- end
290
-
291
274
  it 'returns an empty catalog if asked to check the environment and they are mismatched' do
292
275
  @request.options[:check_environment] = "true"
293
276
  catalog = compiler.find(@request)
@@ -338,7 +321,7 @@ describe Puppet::Resource::Catalog::Compiler do
338
321
  expect(facts.timestamp).to eq(time)
339
322
  end
340
323
 
341
- it "accepts PSON facts from older agents" do
324
+ it "accepts PSON facts from older agents", :if => Puppet.features.pson? do
342
325
  request = a_legacy_request_that_contains(facts)
343
326
 
344
327
  facts = compiler.extract_facts_from_request(request)
@@ -449,9 +432,9 @@ describe Puppet::Resource::Catalog::Compiler do
449
432
  before do
450
433
  allow(Puppet).to receive(:version).and_return(1)
451
434
  set_facts({
452
- 'fqdn' => "my.server.com",
453
- 'ipaddress' => "my.ip.address",
454
- 'ipaddress6' => nil
435
+ 'networking.fqdn' => "my.server.com",
436
+ 'networking.ip' => "my.ip.address",
437
+ 'networking.ip6' => nil
455
438
  })
456
439
  @request = Puppet::Indirector::Request.new(:catalog, :find, node_name, nil)
457
440
  allow(compiler).to receive(:compile)
@@ -484,16 +467,16 @@ describe Puppet::Resource::Catalog::Compiler do
484
467
  before do |example|
485
468
  allow(Puppet).to receive(:version).and_return(1)
486
469
  set_facts({
487
- 'fqdn' => "my.server.com",
488
- 'ipaddress' => nil,
470
+ 'networking.fqdn' => "my.server.com",
471
+ 'networking.ip' => nil,
489
472
  })
490
473
  if example.metadata[:nil_ipv6]
491
474
  set_facts({
492
- 'ipaddress6' => nil
475
+ 'networking.ip6' => nil
493
476
  })
494
477
  else
495
478
  set_facts({
496
- 'ipaddress6' => "my.ipv6.address"
479
+ 'networking.ip6' => "my.ipv6.address"
497
480
  })
498
481
  end
499
482
  @request = Puppet::Indirector::Request.new(:catalog, :find, node_name, nil)
@@ -531,9 +514,10 @@ describe Puppet::Resource::Catalog::Compiler do
531
514
 
532
515
  it "should not add 'pe_serverversion' when FOSS" do
533
516
  allow(Puppet::Node.indirection).to receive(:find).with(node_name, anything).and_return(node)
534
- catalog = compiler.find(request)
535
-
536
- expect(catalog.resource('notify', 'PE Version: 2019.2.0')).to be_nil
517
+ expect {
518
+ catalog = compiler.find(request)
519
+ catalog.resource('notify', 'PE Version: 2019.2.0')
520
+ }.to raise_error(/Evaluation Error: Unknown variable: 'pe_serverversion'./)
537
521
  end
538
522
 
539
523
  it "should add 'pe_serverversion' when PE" do
@@ -25,23 +25,6 @@ describe Puppet::Resource::Catalog::Rest do
25
25
  expect(described_class.indirection.find(certname)).to be_a(Puppet::Resource::Catalog)
26
26
  end
27
27
 
28
- it 'logs a notice when requesting a catalog' do
29
- expect(Puppet).to receive(:notice).with("Requesting catalog from compiler.example.com:8140")
30
-
31
- stub_request(:post, uri).to_return(**catalog_response(catalog))
32
-
33
- described_class.indirection.find(certname)
34
- end
35
-
36
- it 'logs a notice when the IP address is resolvable when requesting a catalog' do
37
- allow(Resolv).to receive_message_chain(:getaddress).and_return('192.0.2.0')
38
- expect(Puppet).to receive(:notice).with("Requesting catalog from compiler.example.com:8140 (192.0.2.0)")
39
-
40
- stub_request(:post, uri).to_return(**catalog_response(catalog))
41
-
42
- described_class.indirection.find(certname)
43
- end
44
-
45
28
  it "serializes the environment" do
46
29
  stub_request(:post, uri)
47
30
  .with(query: hash_including('environment' => 'outerspace'))
@@ -11,8 +11,6 @@ describe Puppet::Indirector::Face do
11
11
  instance
12
12
  end
13
13
 
14
- it { is_expected.to be_option :extra }
15
-
16
14
  it "should be able to return a list of indirections" do
17
15
  expect(Puppet::Indirector::Face.indirections).to be_include("catalog")
18
16
  end
@@ -56,14 +54,14 @@ describe Puppet::Indirector::Face do
56
54
  end
57
55
 
58
56
  it "should forward passed options" do
59
- expect(subject.indirection).to receive(method).with(:test, *params(method, {'one'=>'1'}))
60
- subject.send(method, :test, :extra => {'one'=>'1'})
57
+ expect(subject.indirection).to receive(method).with(:test, *params(method, {}))
58
+ subject.send(method, :test, {})
61
59
  end
62
60
  end
63
61
 
64
62
  it "should default key to certname for find action" do
65
- expect(subject.indirection).to receive(:find).with(Puppet[:certname], {'one'=>'1'})
66
- subject.send(:find, :extra => {'one'=>'1'})
63
+ expect(subject.indirection).to receive(:find).with(Puppet[:certname], {})
64
+ subject.send(:find, {})
67
65
  end
68
66
 
69
67
  it "should be able to override its indirection name" do
@@ -65,7 +65,7 @@ describe Puppet::Node::Facts::Facter do
65
65
  end
66
66
 
67
67
  it "should return the Facter facts as the values in the Facts instance" do
68
- expect(Facter).to receive(:to_hash).and_return("one" => "two")
68
+ expect(Facter).to receive(:resolve).and_return("one" => "two")
69
69
  facts = @facter.find(@request)
70
70
  expect(facts.values["one"]).to eq("two")
71
71
  end
@@ -1,9 +1,14 @@
1
1
  require 'spec_helper'
2
2
  require 'puppet/data_binding'
3
3
  require 'puppet/indirector/hiera'
4
- require 'hiera/backend'
5
4
 
6
- describe Puppet::Indirector::Hiera do
5
+ begin
6
+ require 'hiera/backend'
7
+ rescue LoadError => e
8
+ Puppet.warning(_("Unable to load Hiera 3 backend: %{message}") % {message: e.message})
9
+ end
10
+
11
+ describe Puppet::Indirector::Hiera, :if => Puppet.features.hiera? do
7
12
 
8
13
  module Testing
9
14
  module DataBinding
@@ -55,30 +55,4 @@ describe Puppet::Transaction::Report::Rest do
55
55
 
56
56
  expect(described_class.indirection.save(report)).to eq(["store"])
57
57
  end
58
-
59
- describe "when the server major version is less than 5" do
60
- it "raises if the save fails and we're not using pson" do
61
- Puppet[:preferred_serialization_format] = "json"
62
-
63
- stub_request(:put, uri)
64
- .to_return(status: 500,
65
- headers: { 'Content-Type' => 'text/pson', Puppet::HTTP::HEADER_PUPPET_VERSION => '4.10.1' })
66
-
67
- expect {
68
- described_class.indirection.save(report)
69
- }.to raise_error(Puppet::Error, /To submit reports to a server running puppetserver 4.10.1, set preferred_serialization_format to pson/)
70
- end
71
-
72
- it "raises with HTTP 500 if the save fails and we're already using pson" do
73
- Puppet[:preferred_serialization_format] = "pson"
74
-
75
- stub_request(:put, uri)
76
- .to_return(status: 500,
77
- headers: { 'Content-Type' => 'text/pson', Puppet::HTTP::HEADER_PUPPET_VERSION => '4.10.1' })
78
-
79
- expect {
80
- described_class.indirection.save(report)
81
- }.to raise_error(Net::HTTPError, /Error 500 on SERVER/)
82
- end
83
- end
84
58
  end
@@ -123,7 +123,7 @@ describe Puppet::Indirector::REST do
123
123
  }.to raise_error(Net::HTTPError, 'Error 500 on SERVER: json error')
124
124
  end
125
125
 
126
- it 'parses the response body as pson and returns the "message"' do
126
+ it 'parses the response body as pson and returns the "message"', if: Puppet.features.pson? do
127
127
  stub_request(
128
128
  :get, 'http://puppet.example.com:8140/puppet/v3/failing_test_model'
129
129
  ).to_return(status: [500, 'Internal Server Error'],
@@ -773,12 +773,14 @@ describe Puppet::Module do
773
773
  end
774
774
 
775
775
  it "should not have metadata if it has a metadata file and its data is empty" do
776
+ Puppet[:strict] = :warning
776
777
  allow(File).to receive(:read).with(mymod_metadata, {:encoding => 'utf-8'}).and_return("")
777
778
 
778
779
  expect(mymod).not_to be_has_metadata
779
780
  end
780
781
 
781
782
  it "should not have metadata if has a metadata file and its data is invalid" do
783
+ Puppet[:strict] = :warning
782
784
  allow(File).to receive(:read).with(mymod_metadata, {:encoding => 'utf-8'}).and_return("This is some invalid json.\n")
783
785
  expect(mymod).not_to be_has_metadata
784
786
  end
@@ -799,12 +801,6 @@ describe Puppet::Module do
799
801
  Puppet::Module.new("yay", "/path", double("env"))
800
802
  end
801
803
 
802
- it "should tolerate failure to parse" do
803
- allow(File).to receive(:read).with(mymod_metadata, {:encoding => 'utf-8'}).and_return(my_fixture('trailing-comma.json'))
804
-
805
- expect(mymod.has_metadata?).to be_falsey
806
- end
807
-
808
804
  describe 'when --strict is warning' do
809
805
  before :each do
810
806
  Puppet[:strict] = :warning
@@ -7,7 +7,7 @@ describe Puppet::ModuleTool::Tar do
7
7
  { :name => 'Windows', :win => true }
8
8
  ].each do |os|
9
9
  it "always prefers minitar if it and zlib are present, even with tar available" do
10
- allow(Facter).to receive(:value).with('osfamily').and_return(os[:name])
10
+ allow(Facter).to receive(:value).with('os.family').and_return(os[:name])
11
11
  allow(Puppet::Util).to receive(:which).with('tar').and_return('/usr/bin/tar')
12
12
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(os[:win])
13
13
  allow(Puppet).to receive(:features).and_return(double(:minitar? => true, :zlib? => true))
@@ -17,7 +17,7 @@ describe Puppet::ModuleTool::Tar do
17
17
  end
18
18
 
19
19
  it "falls back to tar when minitar not present and not on Windows" do
20
- allow(Facter).to receive(:value).with('osfamily').and_return('ObscureLinuxDistro')
20
+ allow(Facter).to receive(:value).with('os.family').and_return('ObscureLinuxDistro')
21
21
  allow(Puppet::Util).to receive(:which).with('tar').and_return('/usr/bin/tar')
22
22
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
23
23
  allow(Puppet).to receive(:features).and_return(double(:minitar? => false))
@@ -26,7 +26,7 @@ describe Puppet::ModuleTool::Tar do
26
26
  end
27
27
 
28
28
  it "fails when there is no possible implementation" do
29
- allow(Facter).to receive(:value).with('osfamily').and_return('Windows')
29
+ allow(Facter).to receive(:value).with('os.family').and_return('Windows')
30
30
  allow(Puppet::Util).to receive(:which).with('tar')
31
31
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
32
32
  allow(Puppet).to receive(:features).and_return(double(:minitar? => false, :zlib? => false))
@@ -247,7 +247,7 @@ describe "Puppet Network Format" do
247
247
  end
248
248
  end
249
249
 
250
- describe "pson" do
250
+ describe "pson", :if => Puppet.features.pson? do
251
251
  let(:pson) { Puppet::Network::FormatHandler.format(:pson) }
252
252
 
253
253
  it "should include a pson format" do
@@ -177,7 +177,8 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
177
177
  expect(response.type).to eq(Puppet::Network::FormatHandler.format(:json))
178
178
  end
179
179
 
180
- it "falls back to the next supported format" do
180
+ it "falls back to the next supported format", if: Puppet.features.pson? do
181
+ Puppet[:allow_pson_serialization] = true
181
182
  data = Puppet::IndirectorTesting.new("my data")
182
183
  indirection.save(data, "my data")
183
184
  request = a_request_that_finds(data, :accept_header => "application/json, text/pson")
@@ -211,11 +212,11 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
211
212
  }.to raise_error(not_found_error)
212
213
  end
213
214
 
214
- it "should raise FormatError if tries to fallback and pson serialization is not allowed" do
215
- Puppet[:allow_pson_serialization] = false
215
+ it "should raise FormatError if tries to fallback" do
216
216
  data = Puppet::IndirectorTesting.new("my data")
217
217
  indirection.save(data, "my data")
218
218
  request = a_request_that_finds(data, :accept_header => "unknown, text/pson")
219
+ allow(Puppet.features).to receive(:pson?).and_return(true)
219
220
  allow(data).to receive(:to_pson).and_raise(Puppet::Network::FormatHandler::FormatError, 'Could not render to Puppet::Network::Format[pson]: source sequence is illegal/malformed utf-8')
220
221
 
221
222
  expect {
@@ -237,7 +238,8 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
237
238
  expect(response.body).to eq(Puppet::IndirectorTesting.render_multiple(:json, [data]))
238
239
  end
239
240
 
240
- it "falls back to the next supported format" do
241
+ it "falls back to the next supported format", if: Puppet.features.pson? do
242
+ Puppet[:allow_pson_serialization] = true
241
243
  data = Puppet::IndirectorTesting.new("my data")
242
244
  indirection.save(data, "my data")
243
245
  request = a_request_that_searches(Puppet::IndirectorTesting.new("my"), :accept_header => "application/json, text/pson")
@@ -253,21 +255,19 @@ describe Puppet::Network::HTTP::API::IndirectedRoutes do
253
255
  it "raises 406 not acceptable if no formats are accceptable" do
254
256
  data = Puppet::IndirectorTesting.new("my data")
255
257
  indirection.save(data, "my data")
256
- request = a_request_that_searches(Puppet::IndirectorTesting.new("my"), :accept_header => "application/json, text/pson")
257
- allow(data).to receive(:to_json).and_raise(Puppet::Network::FormatHandler::FormatError, 'Could not render to Puppet::Network::Format[json]: source sequence is illegal/malformed utf-8')
258
- allow(data).to receive(:to_pson).and_raise(Puppet::Network::FormatHandler::FormatError, 'Could not render to Puppet::Network::Format[pson]: source sequence is illegal/malformed utf-8')
258
+ request = a_request_that_searches(Puppet::IndirectorTesting.new("my"), :accept_header => "unknown")
259
259
 
260
260
  expect {
261
261
  handler.call(request, response)
262
262
  }.to raise_error(Puppet::Network::HTTP::Error::HTTPNotAcceptableError,
263
- %r{No supported formats are acceptable \(Accept: application/json, text/pson\)})
263
+ %r{No supported formats are acceptable \(Accept: unknown\)})
264
264
  end
265
265
 
266
- it "raises FormatError if tries to fallback and pson serialization is not allowed" do
267
- Puppet[:allow_pson_serialization] = false
266
+ it "raises FormatError if tries to fallback" do
268
267
  data = Puppet::IndirectorTesting.new("my data")
269
268
  indirection.save(data, "my data")
270
269
  request = a_request_that_searches(Puppet::IndirectorTesting.new("my"), :accept_header => "unknown, text/pson")
270
+ allow(Puppet.features).to receive(:pson?).and_return(true)
271
271
  allow(data).to receive(:to_pson).and_raise(Puppet::Network::FormatHandler::FormatError, 'Could not render to Puppet::Network::Format[pson]: source sequence is illegal/malformed utf-8')
272
272
 
273
273
  expect {
@@ -162,6 +162,10 @@ describe Puppet::Parser::Scope do
162
162
  end
163
163
 
164
164
  describe "when looking up a variable" do
165
+ before :each do
166
+ Puppet[:strict] = :warning
167
+ end
168
+
165
169
  it "should support :lookupvar and :setvar for backward compatibility" do
166
170
  @scope.setvar("var", "yep")
167
171
  expect(@scope.lookupvar("var")).to eq("yep")
@@ -94,6 +94,9 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
94
94
  end
95
95
 
96
96
  context "on strings requiring boxing to Numeric" do
97
+ before :each do
98
+ Puppet[:strict] = :off
99
+ end
97
100
  it "'2' + '2' == 4" do
98
101
  expect(evaluate(literal('2') + literal('2'))).to eq(4)
99
102
  end
@@ -125,6 +128,11 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
125
128
  it "'012.3' + '010' == 20.3 (not error, floats can start with 0)" do
126
129
  expect(evaluate(literal('012.3') + literal('010'))).to eq(20.3)
127
130
  end
131
+
132
+ it "raises an error when coercing string to numerical by default" do
133
+ Puppet[:strict] = :error
134
+ expect { evaluate(literal('2') + literal('2')) }.to raise_error(/Evaluation Error: The string '2' was automatically coerced to the numerical value 2/)
135
+ end
128
136
  end
129
137
 
130
138
  context 'on binary values' do
@@ -439,6 +439,10 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
439
439
  end
440
440
 
441
441
  context "on strings requiring boxing to Numeric" do
442
+ # turn strict mode off so behavior is not stubbed out
443
+ before :each do
444
+ Puppet[:strict] = :off
445
+ end
442
446
  let(:logs) { [] }
443
447
  let(:notices) { logs.select { |log| log.level == :notice }.map { |log| log.message } }
444
448
  let(:warnings) { logs.select { |log| log.level == :warning }.map { |log| log.message } }
@@ -851,6 +855,7 @@ describe 'Puppet::Pops::Evaluator::EvaluatorImpl' do
851
855
  "[1,2][1, -1.0]" => "An Array[] cannot use Float where Integer is expected",
852
856
  }.each do |source, result|
853
857
  it "should parse and evaluate the expression '#{source}' to #{result}" do
858
+ Puppet[:strict] = :off
854
859
  expect { parser.evaluate_string(scope, source, __FILE__)}.to raise_error(Regexp.new(Regexp.quote(result)))
855
860
  end
856
861
  end
@@ -307,7 +307,7 @@ describe 'loaders' do
307
307
  end
308
308
 
309
309
  it 'all dependent modules are visible' do
310
- allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'}, { 'name' => 'test-usee2'} ]).to_pson)
310
+ allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'}, { 'name' => 'test-usee2'} ]).to_json)
311
311
  allow(File).to receive(:read).with(usee_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
312
312
  allow(File).to receive(:read).with(usee2_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
313
313
  loaders = Puppet::Pops::Loaders.new(env)
@@ -338,7 +338,7 @@ describe 'loaders' do
338
338
  case_number = from_idx * 3 + called_idx + 1
339
339
 
340
340
  it "can call #{desc[:called]} from #{desc[:from]} when dependency is present in metadata.json" do
341
- allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson)
341
+ allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_json)
342
342
  allow(File).to receive(:read).with(usee_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
343
343
  allow(File).to receive(:read).with(usee2_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
344
344
  Puppet[:code] = "$case_number = #{case_number}\ninclude ::user"
@@ -360,7 +360,7 @@ describe 'loaders' do
360
360
  end
361
361
 
362
362
  it "can not call #{desc[:called]} from #{desc[:from]} if dependency is missing in existing metadata.json" do
363
- allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => []).to_pson)
363
+ allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => []).to_json)
364
364
  allow(File).to receive(:read).with(usee_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
365
365
  allow(File).to receive(:read).with(usee2_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
366
366
  Puppet[:code] = "$case_number = #{case_number}\ninclude ::user"
@@ -373,7 +373,7 @@ describe 'loaders' do
373
373
  end
374
374
 
375
375
  it "a type can reference an autoloaded type alias from another module when dependency is present in metadata.json" do
376
- allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson)
376
+ allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_json)
377
377
  allow(File).to receive(:read).with(usee_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
378
378
  allow(File).to receive(:read).with(usee2_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
379
379
  expect(eval_and_collect_notices(<<-CODE, node)).to eq(['ok'])
@@ -391,7 +391,7 @@ describe 'loaders' do
391
391
  end
392
392
 
393
393
  it "a type can reference a type alias from another module when other module has it declared in init.pp" do
394
- allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson)
394
+ allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_json)
395
395
  allow(File).to receive(:read).with(usee_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
396
396
  allow(File).to receive(:read).with(usee2_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
397
397
  expect(eval_and_collect_notices(<<-CODE, node)).to eq(['ok'])
@@ -402,7 +402,7 @@ describe 'loaders' do
402
402
  end
403
403
 
404
404
  it "an autoloaded type can reference an autoloaded type alias from another module when dependency is present in metadata.json" do
405
- allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson)
405
+ allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_json)
406
406
  allow(File).to receive(:read).with(usee_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
407
407
  allow(File).to receive(:read).with(usee2_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
408
408
  expect(eval_and_collect_notices(<<-CODE, node)).to eq(['ok'])
@@ -412,7 +412,7 @@ describe 'loaders' do
412
412
  end
413
413
 
414
414
  it "an autoloaded type can reference an autoloaded type alias from another module when other module has it declared in init.pp" do
415
- allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_pson)
415
+ allow(File).to receive(:read).with(user_metadata_path, {:encoding => 'utf-8'}).and_return(user_metadata.merge('dependencies' => [ { 'name' => 'test-usee'} ]).to_json)
416
416
  allow(File).to receive(:read).with(usee_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
417
417
  allow(File).to receive(:read).with(usee2_metadata_path, {:encoding => 'utf-8'}).and_raise(Errno::ENOENT)
418
418
  expect(eval_and_collect_notices(<<-CODE, node)).to eq(['ok'])
@@ -45,6 +45,18 @@ describe 'Puppet::Pops::Lookup::Interpolation' do
45
45
  keys.each { |key| expect(adapter).to receive(:track).with(key) }
46
46
  end
47
47
 
48
+ context 'when the invocation has a default falsey values' do
49
+ let(:lookup_invocation) { Lookup::Invocation.new(scope, {}, {'key' => false, 'key2' => nil}, nil) }
50
+
51
+ it 'converts boolean false to a "false" string in interpolation' do
52
+ expect(interpolator.interpolate('%{key}', lookup_invocation, true)).to eq("false")
53
+ end
54
+
55
+ it 'converts nil to an empty string in interpolation' do
56
+ expect(interpolator.interpolate('%{key2}', lookup_invocation, true)).to eq("")
57
+ end
58
+ end
59
+
48
60
  context 'when interpolating nested data' do
49
61
  let(:nested_hash) { {'a' => {'aa' => "%{alias('aaa')}"}} }
50
62
 
@@ -298,7 +298,7 @@ module Serialization
298
298
 
299
299
  it 'nested Expression' do
300
300
  expr = parse(<<-CODE)
301
- $rootgroup = $osfamily ? {
301
+ $rootgroup = $os['family'] ? {
302
302
  'Solaris' => 'wheel',
303
303
  /(Darwin|FreeBSD)/ => 'wheel',
304
304
  default => 'root',
@@ -435,7 +435,7 @@ module Serialization
435
435
 
436
436
  it 'can write and read an AST expression' do
437
437
  expr = parse(<<-CODE)
438
- $rootgroup = $osfamily ? {
438
+ $rootgroup = $os['family'] ? {
439
439
  'Solaris' => 'wheel',
440
440
  /(Darwin|FreeBSD)/ => 'wheel',
441
441
  default => 'root',
@@ -344,7 +344,7 @@ module Serialization
344
344
 
345
345
  it 'nested Expression' do
346
346
  expr = parse(<<-CODE)
347
- $rootgroup = $osfamily ? {
347
+ $rootgroup = $os['family'] ? {
348
348
  'Solaris' => 'wheel',
349
349
  /(Darwin|FreeBSD)/ => 'wheel',
350
350
  default => 'root',
@@ -493,6 +493,10 @@ module Serialization
493
493
  end
494
494
 
495
495
  context 'with rich_data set to false' do
496
+ before :each do
497
+ # strict mode off so behavior is not stubbed
498
+ Puppet[:strict] = :warning
499
+ end
496
500
  let(:to_converter) { ToDataConverter.new(:message_prefix => 'Test Hash', :rich_data => false) }
497
501
  let(:logs) { [] }
498
502
  let(:warnings) { logs.select { |log| log.level == :warning }.map { |log| log.message } }
@@ -521,6 +525,14 @@ module Serialization
521
525
  expect(warnings).to eql([
522
526
  "Test Hash contains a hash with a SemanticPuppet::Version key. It will be converted to the String '1.0.0'",
523
527
  "Test Hash contains a hash with a SemanticPuppet::Version key. It will be converted to the String '2.0.0'"])
528
+ end
529
+
530
+ it 'A Hash with rich data is not converted and raises error by default' do
531
+ Puppet[:strict] = :error
532
+ expect do
533
+ val = { SemanticPuppet::Version.parse('1.0.0') => 'one', SemanticPuppet::Version.parse('2.0.0') => 'two' }
534
+ write(val)
535
+ end.to raise_error(/Evaluation Error: Test Hash contains a hash with a SemanticPuppet::Version key. It will be converted to the String '1.0.0'/)
524
536
  end
525
537
 
526
538
  context 'and symbol_as_string is set to true' do