puppet 8.3.1-x86-mingw32 → 8.5.0-x86-mingw32

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2270) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -1
  3. data/Gemfile.lock +89 -64
  4. data/README.md +4 -4
  5. data/Rakefile +0 -27
  6. data/examples/enc/regexp_nodes/regexp_nodes.rb +1 -1
  7. data/ext/project_data.yaml +4 -4
  8. data/ext/windows/service/daemon.rb +12 -13
  9. data/lib/hiera/puppet_function.rb +7 -6
  10. data/lib/hiera/scope.rb +6 -5
  11. data/lib/hiera_puppet.rb +1 -4
  12. data/lib/puppet/agent/disabler.rb +4 -3
  13. data/lib/puppet/agent/locker.rb +1 -2
  14. data/lib/puppet/agent.rb +5 -4
  15. data/lib/puppet/application/agent.rb +301 -298
  16. data/lib/puppet/application/apply.rb +118 -114
  17. data/lib/puppet/application/catalog.rb +1 -0
  18. data/lib/puppet/application/config.rb +1 -0
  19. data/lib/puppet/application/describe.rb +40 -42
  20. data/lib/puppet/application/device.rb +122 -122
  21. data/lib/puppet/application/doc.rb +51 -50
  22. data/lib/puppet/application/epp.rb +1 -0
  23. data/lib/puppet/application/face_base.rb +10 -10
  24. data/lib/puppet/application/facts.rb +1 -0
  25. data/lib/puppet/application/filebucket.rb +168 -166
  26. data/lib/puppet/application/generate.rb +2 -1
  27. data/lib/puppet/application/help.rb +1 -0
  28. data/lib/puppet/application/indirection_base.rb +1 -0
  29. data/lib/puppet/application/lookup.rb +171 -174
  30. data/lib/puppet/application/module.rb +1 -0
  31. data/lib/puppet/application/node.rb +1 -0
  32. data/lib/puppet/application/parser.rb +1 -0
  33. data/lib/puppet/application/plugin.rb +1 -0
  34. data/lib/puppet/application/report.rb +1 -0
  35. data/lib/puppet/application/resource.rb +95 -92
  36. data/lib/puppet/application/script.rb +73 -74
  37. data/lib/puppet/application/ssl.rb +89 -88
  38. data/lib/puppet/application.rb +16 -15
  39. data/lib/puppet/application_support.rb +2 -2
  40. data/lib/puppet/coercion.rb +3 -2
  41. data/lib/puppet/compilable_resource_type.rb +3 -2
  42. data/lib/puppet/concurrent/lock.rb +1 -3
  43. data/lib/puppet/concurrent/synchronized.rb +1 -2
  44. data/lib/puppet/concurrent/thread_local_singleton.rb +1 -0
  45. data/lib/puppet/concurrent.rb +1 -0
  46. data/lib/puppet/configurer/downloader.rb +1 -1
  47. data/lib/puppet/configurer/fact_handler.rb +5 -4
  48. data/lib/puppet/configurer/plugin_handler.rb +1 -0
  49. data/lib/puppet/configurer.rb +24 -19
  50. data/lib/puppet/confine/any.rb +2 -1
  51. data/lib/puppet/confine/boolean.rb +2 -1
  52. data/lib/puppet/confine/exists.rb +2 -1
  53. data/lib/puppet/confine/false.rb +2 -1
  54. data/lib/puppet/confine/feature.rb +2 -2
  55. data/lib/puppet/confine/true.rb +2 -1
  56. data/lib/puppet/confine/variable.rb +2 -1
  57. data/lib/puppet/confine.rb +2 -0
  58. data/lib/puppet/confine_collection.rb +4 -2
  59. data/lib/puppet/confiner.rb +1 -0
  60. data/lib/puppet/context/trusted_information.rb +5 -4
  61. data/lib/puppet/context.rb +1 -0
  62. data/lib/puppet/daemon.rb +10 -7
  63. data/lib/puppet/data_binding.rb +2 -1
  64. data/lib/puppet/datatypes/error.rb +2 -1
  65. data/lib/puppet/datatypes/impl/error.rb +1 -0
  66. data/lib/puppet/datatypes.rb +8 -3
  67. data/lib/puppet/defaults.rb +31 -30
  68. data/lib/puppet/environments.rb +10 -9
  69. data/lib/puppet/error.rb +15 -12
  70. data/lib/puppet/etc.rb +9 -5
  71. data/lib/puppet/external/dot.rb +28 -47
  72. data/lib/puppet/face/catalog/select.rb +3 -2
  73. data/lib/puppet/face/catalog.rb +3 -2
  74. data/lib/puppet/face/config.rb +19 -21
  75. data/lib/puppet/face/epp.rb +14 -14
  76. data/lib/puppet/face/facts.rb +5 -4
  77. data/lib/puppet/face/generate.rb +3 -1
  78. data/lib/puppet/face/help.rb +24 -27
  79. data/lib/puppet/face/module/changes.rb +2 -0
  80. data/lib/puppet/face/module/install.rb +6 -4
  81. data/lib/puppet/face/module/list.rb +14 -16
  82. data/lib/puppet/face/module/uninstall.rb +1 -0
  83. data/lib/puppet/face/module/upgrade.rb +4 -3
  84. data/lib/puppet/face/module.rb +1 -0
  85. data/lib/puppet/face/node/clean.rb +2 -1
  86. data/lib/puppet/face/node.rb +2 -1
  87. data/lib/puppet/face/parser.rb +8 -8
  88. data/lib/puppet/face/plugin.rb +2 -1
  89. data/lib/puppet/face/report.rb +2 -1
  90. data/lib/puppet/face/resource.rb +1 -0
  91. data/lib/puppet/face.rb +1 -0
  92. data/lib/puppet/feature/base.rb +4 -3
  93. data/lib/puppet/feature/bolt.rb +1 -0
  94. data/lib/puppet/feature/cfpropertylist.rb +1 -0
  95. data/lib/puppet/feature/eventlog.rb +1 -0
  96. data/lib/puppet/feature/hiera_eyaml.rb +1 -0
  97. data/lib/puppet/feature/hocon.rb +1 -0
  98. data/lib/puppet/feature/libuser.rb +4 -3
  99. data/lib/puppet/feature/msgpack.rb +1 -0
  100. data/lib/puppet/feature/pe_license.rb +2 -1
  101. data/lib/puppet/feature/pson.rb +1 -0
  102. data/lib/puppet/feature/selinux.rb +1 -0
  103. data/lib/puppet/feature/ssh.rb +1 -0
  104. data/lib/puppet/feature/telnet.rb +1 -0
  105. data/lib/puppet/feature/zlib.rb +1 -0
  106. data/lib/puppet/ffi/posix/constants.rb +2 -1
  107. data/lib/puppet/ffi/posix/functions.rb +1 -1
  108. data/lib/puppet/ffi/posix.rb +1 -0
  109. data/lib/puppet/ffi/windows/api_types.rb +1 -0
  110. data/lib/puppet/ffi/windows/constants.rb +78 -77
  111. data/lib/puppet/ffi/windows/functions.rb +73 -73
  112. data/lib/puppet/ffi/windows/structs.rb +3 -3
  113. data/lib/puppet/ffi/windows.rb +1 -0
  114. data/lib/puppet/file_bucket/dipper.rb +15 -7
  115. data/lib/puppet/file_bucket/file.rb +3 -2
  116. data/lib/puppet/file_bucket.rb +1 -0
  117. data/lib/puppet/file_serving/base.rb +13 -6
  118. data/lib/puppet/file_serving/configuration/parser.rb +3 -1
  119. data/lib/puppet/file_serving/configuration.rb +6 -4
  120. data/lib/puppet/file_serving/content.rb +1 -0
  121. data/lib/puppet/file_serving/fileset.rb +9 -6
  122. data/lib/puppet/file_serving/http_metadata.rb +2 -4
  123. data/lib/puppet/file_serving/metadata.rb +13 -15
  124. data/lib/puppet/file_serving/mount/file.rb +6 -3
  125. data/lib/puppet/file_serving/mount/locales.rb +2 -1
  126. data/lib/puppet/file_serving/mount/modules.rb +2 -0
  127. data/lib/puppet/file_serving/mount/pluginfacts.rb +2 -1
  128. data/lib/puppet/file_serving/mount/plugins.rb +2 -1
  129. data/lib/puppet/file_serving/mount/scripts.rb +2 -0
  130. data/lib/puppet/file_serving/mount/tasks.rb +2 -0
  131. data/lib/puppet/file_serving/mount.rb +2 -0
  132. data/lib/puppet/file_serving/terminus_helper.rb +1 -0
  133. data/lib/puppet/file_serving/terminus_selector.rb +2 -1
  134. data/lib/puppet/file_serving.rb +1 -0
  135. data/lib/puppet/file_system/file_impl.rb +6 -6
  136. data/lib/puppet/file_system/jruby.rb +1 -0
  137. data/lib/puppet/file_system/memory_file.rb +2 -0
  138. data/lib/puppet/file_system/memory_impl.rb +3 -0
  139. data/lib/puppet/file_system/path_pattern.rb +1 -0
  140. data/lib/puppet/file_system/posix.rb +5 -1
  141. data/lib/puppet/file_system/uniquefile.rb +15 -15
  142. data/lib/puppet/file_system/windows.rb +11 -9
  143. data/lib/puppet/file_system.rb +4 -3
  144. data/lib/puppet/forge/cache.rb +2 -2
  145. data/lib/puppet/forge/errors.rb +1 -3
  146. data/lib/puppet/forge/repository.rb +3 -1
  147. data/lib/puppet/forge.rb +6 -3
  148. data/lib/puppet/functions/abs.rb +6 -4
  149. data/lib/puppet/functions/alert.rb +1 -0
  150. data/lib/puppet/functions/all.rb +2 -1
  151. data/lib/puppet/functions/annotate.rb +1 -0
  152. data/lib/puppet/functions/any.rb +2 -1
  153. data/lib/puppet/functions/assert_type.rb +4 -2
  154. data/lib/puppet/functions/binary_file.rb +3 -1
  155. data/lib/puppet/functions/break.rb +3 -2
  156. data/lib/puppet/functions/call.rb +1 -1
  157. data/lib/puppet/functions/camelcase.rb +3 -3
  158. data/lib/puppet/functions/capitalize.rb +3 -3
  159. data/lib/puppet/functions/ceiling.rb +2 -2
  160. data/lib/puppet/functions/chomp.rb +2 -2
  161. data/lib/puppet/functions/chop.rb +2 -2
  162. data/lib/puppet/functions/compare.rb +2 -1
  163. data/lib/puppet/functions/contain.rb +6 -4
  164. data/lib/puppet/functions/convert_to.rb +1 -0
  165. data/lib/puppet/functions/crit.rb +1 -0
  166. data/lib/puppet/functions/debug.rb +1 -0
  167. data/lib/puppet/functions/defined.rb +7 -4
  168. data/lib/puppet/functions/dig.rb +11 -9
  169. data/lib/puppet/functions/downcase.rb +3 -2
  170. data/lib/puppet/functions/each.rb +1 -0
  171. data/lib/puppet/functions/emerg.rb +1 -0
  172. data/lib/puppet/functions/empty.rb +1 -0
  173. data/lib/puppet/functions/epp.rb +1 -1
  174. data/lib/puppet/functions/err.rb +1 -0
  175. data/lib/puppet/functions/eyaml_lookup_key.rb +5 -3
  176. data/lib/puppet/functions/filter.rb +7 -7
  177. data/lib/puppet/functions/find_file.rb +1 -0
  178. data/lib/puppet/functions/find_template.rb +1 -0
  179. data/lib/puppet/functions/flatten.rb +1 -0
  180. data/lib/puppet/functions/floor.rb +2 -2
  181. data/lib/puppet/functions/get.rb +2 -1
  182. data/lib/puppet/functions/getvar.rb +6 -5
  183. data/lib/puppet/functions/group_by.rb +2 -2
  184. data/lib/puppet/functions/hiera.rb +1 -0
  185. data/lib/puppet/functions/hiera_array.rb +1 -0
  186. data/lib/puppet/functions/hiera_hash.rb +1 -0
  187. data/lib/puppet/functions/hiera_include.rb +2 -0
  188. data/lib/puppet/functions/hocon_data.rb +1 -0
  189. data/lib/puppet/functions/import.rb +1 -0
  190. data/lib/puppet/functions/include.rb +4 -2
  191. data/lib/puppet/functions/index.rb +3 -3
  192. data/lib/puppet/functions/info.rb +1 -0
  193. data/lib/puppet/functions/inline_epp.rb +1 -1
  194. data/lib/puppet/functions/join.rb +3 -2
  195. data/lib/puppet/functions/json_data.rb +1 -0
  196. data/lib/puppet/functions/keys.rb +1 -0
  197. data/lib/puppet/functions/length.rb +1 -1
  198. data/lib/puppet/functions/lest.rb +1 -0
  199. data/lib/puppet/functions/lookup.rb +10 -11
  200. data/lib/puppet/functions/lstrip.rb +2 -2
  201. data/lib/puppet/functions/map.rb +3 -2
  202. data/lib/puppet/functions/match.rb +7 -5
  203. data/lib/puppet/functions/max.rb +6 -6
  204. data/lib/puppet/functions/min.rb +6 -6
  205. data/lib/puppet/functions/module_directory.rb +1 -0
  206. data/lib/puppet/functions/new.rb +2 -1
  207. data/lib/puppet/functions/next.rb +2 -1
  208. data/lib/puppet/functions/notice.rb +1 -0
  209. data/lib/puppet/functions/reduce.rb +1 -1
  210. data/lib/puppet/functions/regsubst.rb +1 -0
  211. data/lib/puppet/functions/require.rb +5 -2
  212. data/lib/puppet/functions/return.rb +1 -0
  213. data/lib/puppet/functions/reverse_each.rb +1 -0
  214. data/lib/puppet/functions/round.rb +1 -0
  215. data/lib/puppet/functions/rstrip.rb +2 -2
  216. data/lib/puppet/functions/scanf.rb +1 -0
  217. data/lib/puppet/functions/size.rb +1 -2
  218. data/lib/puppet/functions/slice.rb +3 -1
  219. data/lib/puppet/functions/sort.rb +1 -0
  220. data/lib/puppet/functions/split.rb +1 -0
  221. data/lib/puppet/functions/step.rb +1 -0
  222. data/lib/puppet/functions/strftime.rb +4 -3
  223. data/lib/puppet/functions/strip.rb +2 -2
  224. data/lib/puppet/functions/then.rb +2 -0
  225. data/lib/puppet/functions/tree_each.rb +3 -3
  226. data/lib/puppet/functions/type.rb +1 -0
  227. data/lib/puppet/functions/unique.rb +9 -8
  228. data/lib/puppet/functions/unwrap.rb +1 -0
  229. data/lib/puppet/functions/upcase.rb +3 -2
  230. data/lib/puppet/functions/values.rb +1 -0
  231. data/lib/puppet/functions/versioncmp.rb +2 -2
  232. data/lib/puppet/functions/warning.rb +1 -0
  233. data/lib/puppet/functions/with.rb +1 -0
  234. data/lib/puppet/functions/yaml_data.rb +1 -0
  235. data/lib/puppet/functions.rb +26 -26
  236. data/lib/puppet/generate/models/type/property.rb +3 -1
  237. data/lib/puppet/generate/models/type/type.rb +4 -2
  238. data/lib/puppet/generate/type.rb +9 -4
  239. data/lib/puppet/gettext/config.rb +6 -0
  240. data/lib/puppet/gettext/module_translations.rb +1 -1
  241. data/lib/puppet/gettext/stubs.rb +1 -0
  242. data/lib/puppet/graph/key.rb +1 -0
  243. data/lib/puppet/graph/prioritizer.rb +1 -0
  244. data/lib/puppet/graph/rb_tree_map.rb +17 -7
  245. data/lib/puppet/graph/relationship_graph.rb +18 -17
  246. data/lib/puppet/graph/sequential_prioritizer.rb +1 -0
  247. data/lib/puppet/graph/simple_graph.rb +56 -49
  248. data/lib/puppet/graph.rb +1 -0
  249. data/lib/puppet/http/client.rb +8 -5
  250. data/lib/puppet/http/dns.rb +7 -8
  251. data/lib/puppet/http/errors.rb +3 -2
  252. data/lib/puppet/http/external_client.rb +2 -2
  253. data/lib/puppet/http/factory.rb +2 -1
  254. data/lib/puppet/http/pool.rb +2 -1
  255. data/lib/puppet/http/pool_entry.rb +1 -0
  256. data/lib/puppet/http/proxy.rb +5 -4
  257. data/lib/puppet/http/redirector.rb +2 -1
  258. data/lib/puppet/http/resolver/server_list.rb +4 -4
  259. data/lib/puppet/http/resolver/settings.rb +1 -1
  260. data/lib/puppet/http/resolver/srv.rb +1 -1
  261. data/lib/puppet/http/resolver.rb +1 -0
  262. data/lib/puppet/http/response.rb +1 -0
  263. data/lib/puppet/http/response_converter.rb +3 -3
  264. data/lib/puppet/http/response_net_http.rb +1 -1
  265. data/lib/puppet/http/retry_after_handler.rb +1 -1
  266. data/lib/puppet/http/service/ca.rb +4 -3
  267. data/lib/puppet/http/service/compiler.rb +11 -5
  268. data/lib/puppet/http/service/file_server.rb +2 -1
  269. data/lib/puppet/http/service/puppetserver.rb +2 -2
  270. data/lib/puppet/http/service/report.rb +1 -1
  271. data/lib/puppet/http/service.rb +7 -9
  272. data/lib/puppet/http/session.rb +2 -1
  273. data/lib/puppet/http/site.rb +1 -0
  274. data/lib/puppet/http.rb +1 -0
  275. data/lib/puppet/indirector/catalog/compiler.rb +62 -54
  276. data/lib/puppet/indirector/catalog/json.rb +1 -0
  277. data/lib/puppet/indirector/catalog/msgpack.rb +1 -0
  278. data/lib/puppet/indirector/catalog/rest.rb +9 -0
  279. data/lib/puppet/indirector/catalog/store_configs.rb +1 -2
  280. data/lib/puppet/indirector/catalog/yaml.rb +1 -0
  281. data/lib/puppet/indirector/code.rb +1 -0
  282. data/lib/puppet/indirector/data_binding/hiera.rb +1 -1
  283. data/lib/puppet/indirector/data_binding/none.rb +1 -0
  284. data/lib/puppet/indirector/direct_file_server.rb +3 -1
  285. data/lib/puppet/indirector/envelope.rb +1 -0
  286. data/lib/puppet/indirector/errors.rb +1 -0
  287. data/lib/puppet/indirector/exec.rb +2 -1
  288. data/lib/puppet/indirector/face.rb +7 -6
  289. data/lib/puppet/indirector/fact_search.rb +2 -1
  290. data/lib/puppet/indirector/facts/facter.rb +2 -0
  291. data/lib/puppet/indirector/facts/json.rb +2 -1
  292. data/lib/puppet/indirector/facts/memory.rb +1 -0
  293. data/lib/puppet/indirector/facts/network_device.rb +1 -0
  294. data/lib/puppet/indirector/facts/rest.rb +1 -0
  295. data/lib/puppet/indirector/facts/store_configs.rb +1 -1
  296. data/lib/puppet/indirector/facts/yaml.rb +1 -0
  297. data/lib/puppet/indirector/file_bucket_file/file.rb +15 -10
  298. data/lib/puppet/indirector/file_bucket_file/rest.rb +2 -0
  299. data/lib/puppet/indirector/file_bucket_file/selector.rb +1 -1
  300. data/lib/puppet/indirector/file_content/file.rb +1 -0
  301. data/lib/puppet/indirector/file_content/file_server.rb +1 -0
  302. data/lib/puppet/indirector/file_content/rest.rb +1 -0
  303. data/lib/puppet/indirector/file_content/selector.rb +1 -0
  304. data/lib/puppet/indirector/file_content.rb +1 -0
  305. data/lib/puppet/indirector/file_metadata/file.rb +1 -0
  306. data/lib/puppet/indirector/file_metadata/file_server.rb +1 -0
  307. data/lib/puppet/indirector/file_metadata/http.rb +3 -2
  308. data/lib/puppet/indirector/file_metadata/rest.rb +1 -0
  309. data/lib/puppet/indirector/file_metadata/selector.rb +1 -0
  310. data/lib/puppet/indirector/file_metadata.rb +1 -0
  311. data/lib/puppet/indirector/file_server.rb +2 -0
  312. data/lib/puppet/indirector/generic_http.rb +1 -0
  313. data/lib/puppet/indirector/hiera.rb +7 -7
  314. data/lib/puppet/indirector/indirection.rb +23 -13
  315. data/lib/puppet/indirector/json.rb +5 -3
  316. data/lib/puppet/indirector/memory.rb +2 -0
  317. data/lib/puppet/indirector/msgpack.rb +7 -4
  318. data/lib/puppet/indirector/node/exec.rb +5 -6
  319. data/lib/puppet/indirector/node/json.rb +1 -1
  320. data/lib/puppet/indirector/node/memory.rb +1 -0
  321. data/lib/puppet/indirector/node/msgpack.rb +1 -0
  322. data/lib/puppet/indirector/node/plain.rb +1 -0
  323. data/lib/puppet/indirector/node/rest.rb +1 -0
  324. data/lib/puppet/indirector/node/store_configs.rb +1 -2
  325. data/lib/puppet/indirector/node/yaml.rb +1 -0
  326. data/lib/puppet/indirector/none.rb +1 -1
  327. data/lib/puppet/indirector/plain.rb +1 -0
  328. data/lib/puppet/indirector/report/json.rb +2 -1
  329. data/lib/puppet/indirector/report/msgpack.rb +2 -1
  330. data/lib/puppet/indirector/report/processor.rb +2 -0
  331. data/lib/puppet/indirector/report/rest.rb +1 -0
  332. data/lib/puppet/indirector/report/yaml.rb +2 -1
  333. data/lib/puppet/indirector/request.rb +10 -8
  334. data/lib/puppet/indirector/resource/ral.rb +7 -6
  335. data/lib/puppet/indirector/resource/store_configs.rb +1 -0
  336. data/lib/puppet/indirector/resource/validator.rb +1 -0
  337. data/lib/puppet/indirector/rest.rb +2 -1
  338. data/lib/puppet/indirector/store_configs.rb +1 -0
  339. data/lib/puppet/indirector/terminus.rb +4 -1
  340. data/lib/puppet/indirector/yaml.rb +3 -2
  341. data/lib/puppet/indirector.rb +2 -0
  342. data/lib/puppet/info_service/class_information_service.rb +12 -12
  343. data/lib/puppet/info_service/plan_information_service.rb +4 -3
  344. data/lib/puppet/info_service/task_information_service.rb +4 -3
  345. data/lib/puppet/interface/action.rb +45 -40
  346. data/lib/puppet/interface/action_builder.rb +15 -15
  347. data/lib/puppet/interface/action_manager.rb +4 -2
  348. data/lib/puppet/interface/documentation.rb +35 -29
  349. data/lib/puppet/interface/face_collection.rb +10 -7
  350. data/lib/puppet/interface/option.rb +21 -10
  351. data/lib/puppet/interface/option_builder.rb +13 -9
  352. data/lib/puppet/interface/option_manager.rb +5 -4
  353. data/lib/puppet/interface.rb +4 -4
  354. data/lib/puppet/loaders.rb +1 -1
  355. data/lib/puppet/metatype/manager.rb +13 -13
  356. data/lib/puppet/module/plan.rb +13 -7
  357. data/lib/puppet/module/task.rb +24 -18
  358. data/lib/puppet/module.rb +19 -8
  359. data/lib/puppet/module_tool/applications/application.rb +6 -4
  360. data/lib/puppet/module_tool/applications/checksummer.rb +2 -3
  361. data/lib/puppet/module_tool/applications/installer.rb +35 -48
  362. data/lib/puppet/module_tool/applications/uninstaller.rb +23 -22
  363. data/lib/puppet/module_tool/applications/unpacker.rb +4 -1
  364. data/lib/puppet/module_tool/applications/upgrader.rb +32 -30
  365. data/lib/puppet/module_tool/applications.rb +1 -0
  366. data/lib/puppet/module_tool/checksums.rb +1 -1
  367. data/lib/puppet/module_tool/contents_description.rb +4 -5
  368. data/lib/puppet/module_tool/dependency.rb +3 -3
  369. data/lib/puppet/module_tool/errors/base.rb +1 -0
  370. data/lib/puppet/module_tool/errors/installer.rb +5 -5
  371. data/lib/puppet/module_tool/errors/shared.rb +15 -15
  372. data/lib/puppet/module_tool/errors/uninstaller.rb +2 -2
  373. data/lib/puppet/module_tool/errors/upgrader.rb +3 -3
  374. data/lib/puppet/module_tool/errors.rb +1 -0
  375. data/lib/puppet/module_tool/install_directory.rb +6 -4
  376. data/lib/puppet/module_tool/installed_modules.rb +4 -2
  377. data/lib/puppet/module_tool/local_tarball.rb +6 -3
  378. data/lib/puppet/module_tool/metadata.rb +23 -22
  379. data/lib/puppet/module_tool/shared_behaviors.rb +34 -32
  380. data/lib/puppet/module_tool/tar/gnu.rb +1 -0
  381. data/lib/puppet/module_tool/tar/mini.rb +2 -1
  382. data/lib/puppet/module_tool/tar.rb +3 -2
  383. data/lib/puppet/module_tool.rb +5 -5
  384. data/lib/puppet/network/authconfig.rb +1 -0
  385. data/lib/puppet/network/authorization.rb +1 -0
  386. data/lib/puppet/network/client_request.rb +1 -1
  387. data/lib/puppet/network/format.rb +6 -1
  388. data/lib/puppet/network/format_handler.rb +7 -6
  389. data/lib/puppet/network/format_support.rb +6 -6
  390. data/lib/puppet/network/formats.rb +27 -21
  391. data/lib/puppet/network/http/api/indirected_routes.rb +34 -22
  392. data/lib/puppet/network/http/api/indirection_type.rb +1 -1
  393. data/lib/puppet/network/http/api/master/v3/environments.rb +1 -1
  394. data/lib/puppet/network/http/api/master/v3.rb +1 -1
  395. data/lib/puppet/network/http/api/master.rb +1 -0
  396. data/lib/puppet/network/http/api/server/v3/environments.rb +20 -15
  397. data/lib/puppet/network/http/api/server/v3.rb +13 -13
  398. data/lib/puppet/network/http/api/server.rb +1 -0
  399. data/lib/puppet/network/http/api.rb +19 -18
  400. data/lib/puppet/network/http/connection.rb +4 -3
  401. data/lib/puppet/network/http/error.rb +4 -3
  402. data/lib/puppet/network/http/handler.rb +7 -6
  403. data/lib/puppet/network/http/issues.rb +1 -0
  404. data/lib/puppet/network/http/memory_response.rb +1 -0
  405. data/lib/puppet/network/http/request.rb +20 -9
  406. data/lib/puppet/network/http/response.rb +1 -0
  407. data/lib/puppet/network/http/route.rb +4 -2
  408. data/lib/puppet/network/http.rb +1 -0
  409. data/lib/puppet/network/http_pool.rb +3 -3
  410. data/lib/puppet/network/uri.rb +1 -0
  411. data/lib/puppet/network.rb +1 -0
  412. data/lib/puppet/node/environment.rb +25 -22
  413. data/lib/puppet/node/facts.rb +8 -9
  414. data/lib/puppet/node.rb +7 -8
  415. data/lib/puppet/pal/catalog_compiler.rb +1 -3
  416. data/lib/puppet/pal/compiler.rb +10 -6
  417. data/lib/puppet/pal/function_signature.rb +4 -3
  418. data/lib/puppet/pal/json_catalog_encoder.rb +5 -1
  419. data/lib/puppet/pal/pal_api.rb +1 -0
  420. data/lib/puppet/pal/pal_impl.rb +55 -59
  421. data/lib/puppet/pal/plan_signature.rb +3 -2
  422. data/lib/puppet/pal/script_compiler.rb +3 -2
  423. data/lib/puppet/pal/task_signature.rb +14 -9
  424. data/lib/puppet/parameter/boolean.rb +1 -0
  425. data/lib/puppet/parameter/package_options.rb +1 -0
  426. data/lib/puppet/parameter/path.rb +6 -3
  427. data/lib/puppet/parameter/value.rb +2 -1
  428. data/lib/puppet/parameter/value_collection.rb +8 -8
  429. data/lib/puppet/parameter.rb +8 -7
  430. data/lib/puppet/parser/abstract_compiler.rb +1 -3
  431. data/lib/puppet/parser/ast/block_expression.rb +1 -0
  432. data/lib/puppet/parser/ast/branch.rb +1 -0
  433. data/lib/puppet/parser/ast/hostclass.rb +2 -1
  434. data/lib/puppet/parser/ast/leaf.rb +2 -0
  435. data/lib/puppet/parser/ast/node.rb +1 -0
  436. data/lib/puppet/parser/ast/pops_bridge.rb +10 -10
  437. data/lib/puppet/parser/ast/resource.rb +3 -4
  438. data/lib/puppet/parser/ast/resource_instance.rb +2 -0
  439. data/lib/puppet/parser/ast/resourceparam.rb +7 -6
  440. data/lib/puppet/parser/ast/top_level_construct.rb +1 -0
  441. data/lib/puppet/parser/ast.rb +4 -3
  442. data/lib/puppet/parser/catalog_compiler.rb +2 -3
  443. data/lib/puppet/parser/compiler/catalog_validator/relationship_validator.rb +3 -2
  444. data/lib/puppet/parser/compiler/catalog_validator.rb +1 -0
  445. data/lib/puppet/parser/compiler.rb +20 -18
  446. data/lib/puppet/parser/e4_parser_adapter.rb +16 -16
  447. data/lib/puppet/parser/files.rb +3 -3
  448. data/lib/puppet/parser/functions/assert_type.rb +42 -41
  449. data/lib/puppet/parser/functions/binary_file.rb +15 -14
  450. data/lib/puppet/parser/functions/break.rb +28 -27
  451. data/lib/puppet/parser/functions/contain.rb +2 -1
  452. data/lib/puppet/parser/functions/create_resources.rb +14 -11
  453. data/lib/puppet/parser/functions/defined.rb +103 -102
  454. data/lib/puppet/parser/functions/dig.rb +25 -24
  455. data/lib/puppet/parser/functions/digest.rb +2 -1
  456. data/lib/puppet/parser/functions/each.rb +100 -99
  457. data/lib/puppet/parser/functions/epp.rb +3 -3
  458. data/lib/puppet/parser/functions/fail.rb +10 -9
  459. data/lib/puppet/parser/functions/file.rb +15 -14
  460. data/lib/puppet/parser/functions/filter.rb +56 -55
  461. data/lib/puppet/parser/functions/find_file.rb +18 -18
  462. data/lib/puppet/parser/functions/fqdn_rand.rb +24 -23
  463. data/lib/puppet/parser/functions/generate.rb +21 -21
  464. data/lib/puppet/parser/functions/hiera.rb +94 -93
  465. data/lib/puppet/parser/functions/hiera_array.rb +82 -82
  466. data/lib/puppet/parser/functions/hiera_hash.rb +92 -92
  467. data/lib/puppet/parser/functions/hiera_include.rb +92 -92
  468. data/lib/puppet/parser/functions/include.rb +4 -3
  469. data/lib/puppet/parser/functions/inline_epp.rb +3 -3
  470. data/lib/puppet/parser/functions/inline_template.rb +14 -13
  471. data/lib/puppet/parser/functions/lest.rb +35 -34
  472. data/lib/puppet/parser/functions/lookup.rb +131 -130
  473. data/lib/puppet/parser/functions/map.rb +53 -52
  474. data/lib/puppet/parser/functions/match.rb +30 -29
  475. data/lib/puppet/parser/functions/md5.rb +3 -2
  476. data/lib/puppet/parser/functions/new.rb +915 -915
  477. data/lib/puppet/parser/functions/next.rb +35 -34
  478. data/lib/puppet/parser/functions/realize.rb +12 -11
  479. data/lib/puppet/parser/functions/reduce.rb +133 -132
  480. data/lib/puppet/parser/functions/regsubst.rb +7 -5
  481. data/lib/puppet/parser/functions/require.rb +7 -5
  482. data/lib/puppet/parser/functions/return.rb +89 -88
  483. data/lib/puppet/parser/functions/reverse_each.rb +58 -57
  484. data/lib/puppet/parser/functions/scanf.rb +24 -23
  485. data/lib/puppet/parser/functions/sha1.rb +3 -2
  486. data/lib/puppet/parser/functions/sha256.rb +2 -1
  487. data/lib/puppet/parser/functions/shellquote.rb +1 -0
  488. data/lib/puppet/parser/functions/slice.rb +26 -25
  489. data/lib/puppet/parser/functions/split.rb +6 -6
  490. data/lib/puppet/parser/functions/sprintf.rb +7 -7
  491. data/lib/puppet/parser/functions/step.rb +61 -60
  492. data/lib/puppet/parser/functions/strftime.rb +174 -173
  493. data/lib/puppet/parser/functions/tag.rb +9 -7
  494. data/lib/puppet/parser/functions/tagged.rb +15 -13
  495. data/lib/puppet/parser/functions/template.rb +26 -24
  496. data/lib/puppet/parser/functions/then.rb +53 -52
  497. data/lib/puppet/parser/functions/type.rb +35 -34
  498. data/lib/puppet/parser/functions/versioncmp.rb +2 -2
  499. data/lib/puppet/parser/functions/with.rb +21 -20
  500. data/lib/puppet/parser/functions.rb +8 -6
  501. data/lib/puppet/parser/parser_factory.rb +1 -0
  502. data/lib/puppet/parser/relationship.rb +5 -2
  503. data/lib/puppet/parser/resource/param.rb +1 -0
  504. data/lib/puppet/parser/resource.rb +22 -21
  505. data/lib/puppet/parser/scope.rb +73 -64
  506. data/lib/puppet/parser/script_compiler.rb +10 -11
  507. data/lib/puppet/parser/templatewrapper.rb +2 -1
  508. data/lib/puppet/parser/type_loader.rb +21 -19
  509. data/lib/puppet/parser.rb +1 -0
  510. data/lib/puppet/plugins/configuration.rb +1 -0
  511. data/lib/puppet/plugins/syntax_checkers.rb +1 -1
  512. data/lib/puppet/plugins.rb +2 -1
  513. data/lib/puppet/pops/adaptable.rb +3 -2
  514. data/lib/puppet/pops/adapters.rb +3 -1
  515. data/lib/puppet/pops/evaluator/access_operator.rb +127 -115
  516. data/lib/puppet/pops/evaluator/callable_signature.rb +1 -1
  517. data/lib/puppet/pops/evaluator/closure.rb +271 -277
  518. data/lib/puppet/pops/evaluator/collector_transformer.rb +13 -11
  519. data/lib/puppet/pops/evaluator/collectors/abstract_collector.rb +2 -1
  520. data/lib/puppet/pops/evaluator/collectors/catalog_collector.rb +3 -3
  521. data/lib/puppet/pops/evaluator/collectors/exported_collector.rb +5 -5
  522. data/lib/puppet/pops/evaluator/collectors/fixed_set_collector.rb +3 -4
  523. data/lib/puppet/pops/evaluator/compare_operator.rb +27 -13
  524. data/lib/puppet/pops/evaluator/deferred_resolver.rb +19 -17
  525. data/lib/puppet/pops/evaluator/epp_evaluator.rb +16 -16
  526. data/lib/puppet/pops/evaluator/evaluator_impl.rb +197 -194
  527. data/lib/puppet/pops/evaluator/external_syntax_support.rb +2 -2
  528. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +4 -4
  529. data/lib/puppet/pops/evaluator/literal_evaluator.rb +15 -7
  530. data/lib/puppet/pops/evaluator/puppet_proc.rb +5 -3
  531. data/lib/puppet/pops/evaluator/relationship_operator.rb +11 -9
  532. data/lib/puppet/pops/evaluator/runtime3_converter.rb +30 -27
  533. data/lib/puppet/pops/evaluator/runtime3_resource_support.rb +31 -33
  534. data/lib/puppet/pops/evaluator/runtime3_support.rb +30 -32
  535. data/lib/puppet/pops/functions/dispatch.rb +6 -7
  536. data/lib/puppet/pops/functions/dispatcher.rb +5 -5
  537. data/lib/puppet/pops/functions/function.rb +3 -4
  538. data/lib/puppet/pops/issue_reporter.rb +22 -20
  539. data/lib/puppet/pops/issues.rb +13 -5
  540. data/lib/puppet/pops/label_provider.rb +3 -2
  541. data/lib/puppet/pops/loader/base_loader.rb +3 -4
  542. data/lib/puppet/pops/loader/dependency_loader.rb +5 -2
  543. data/lib/puppet/pops/loader/gem_support.rb +4 -2
  544. data/lib/puppet/pops/loader/generic_plan_instantiator.rb +1 -0
  545. data/lib/puppet/pops/loader/loader.rb +1 -2
  546. data/lib/puppet/pops/loader/loader_paths.rb +26 -26
  547. data/lib/puppet/pops/loader/module_loaders.rb +32 -37
  548. data/lib/puppet/pops/loader/predefined_loader.rb +2 -3
  549. data/lib/puppet/pops/loader/puppet_function_instantiator.rb +5 -2
  550. data/lib/puppet/pops/loader/puppet_plan_instantiator.rb +5 -2
  551. data/lib/puppet/pops/loader/puppet_resource_type_impl_instantiator.rb +5 -5
  552. data/lib/puppet/pops/loader/ruby_data_type_instantiator.rb +4 -1
  553. data/lib/puppet/pops/loader/ruby_function_instantiator.rb +4 -1
  554. data/lib/puppet/pops/loader/ruby_legacy_function_instantiator.rb +13 -8
  555. data/lib/puppet/pops/loader/runtime3_type_loader.rb +3 -3
  556. data/lib/puppet/pops/loader/simple_environment_loader.rb +2 -3
  557. data/lib/puppet/pops/loader/static_loader.rb +24 -23
  558. data/lib/puppet/pops/loader/task_instantiator.rb +3 -2
  559. data/lib/puppet/pops/loader/type_definition_instantiator.rb +8 -5
  560. data/lib/puppet/pops/loader/typed_name.rb +2 -1
  561. data/lib/puppet/pops/loader/uri_helper.rb +2 -1
  562. data/lib/puppet/pops/loaders.rb +24 -21
  563. data/lib/puppet/pops/lookup/configured_data_provider.rb +1 -0
  564. data/lib/puppet/pops/lookup/context.rb +31 -23
  565. data/lib/puppet/pops/lookup/data_adapter.rb +1 -0
  566. data/lib/puppet/pops/lookup/data_dig_function_provider.rb +4 -4
  567. data/lib/puppet/pops/lookup/data_hash_function_provider.rb +1 -0
  568. data/lib/puppet/pops/lookup/data_provider.rb +1 -0
  569. data/lib/puppet/pops/lookup/environment_data_provider.rb +1 -0
  570. data/lib/puppet/pops/lookup/explainer.rb +43 -42
  571. data/lib/puppet/pops/lookup/function_provider.rb +7 -6
  572. data/lib/puppet/pops/lookup/global_data_provider.rb +3 -3
  573. data/lib/puppet/pops/lookup/hiera_config.rb +153 -114
  574. data/lib/puppet/pops/lookup/interpolation.rb +9 -4
  575. data/lib/puppet/pops/lookup/invocation.rb +3 -0
  576. data/lib/puppet/pops/lookup/key_recorder.rb +4 -2
  577. data/lib/puppet/pops/lookup/location_resolver.rb +2 -1
  578. data/lib/puppet/pops/lookup/lookup_adapter.rb +25 -21
  579. data/lib/puppet/pops/lookup/lookup_key.rb +2 -1
  580. data/lib/puppet/pops/lookup/lookup_key_function_provider.rb +1 -0
  581. data/lib/puppet/pops/lookup/module_data_provider.rb +3 -1
  582. data/lib/puppet/pops/lookup/sub_lookup.rb +5 -2
  583. data/lib/puppet/pops/lookup.rb +13 -9
  584. data/lib/puppet/pops/merge_strategy.rb +15 -10
  585. data/lib/puppet/pops/migration/migration_checker.rb +6 -4
  586. data/lib/puppet/pops/model/ast.rb +786 -685
  587. data/lib/puppet/pops/model/ast_transformer.rb +10 -9
  588. data/lib/puppet/pops/model/factory.rb +29 -26
  589. data/lib/puppet/pops/model/model_label_provider.rb +4 -2
  590. data/lib/puppet/pops/model/model_tree_dumper.rb +31 -30
  591. data/lib/puppet/pops/model/pn_transformer.rb +4 -6
  592. data/lib/puppet/pops/model/tree_dumper.rb +5 -3
  593. data/lib/puppet/pops/parser/code_merger.rb +2 -3
  594. data/lib/puppet/pops/parser/epp_parser.rb +3 -3
  595. data/lib/puppet/pops/parser/epp_support.rb +7 -7
  596. data/lib/puppet/pops/parser/evaluating_parser.rb +9 -6
  597. data/lib/puppet/pops/parser/heredoc_support.rb +9 -10
  598. data/lib/puppet/pops/parser/interpolation_support.rb +22 -23
  599. data/lib/puppet/pops/parser/lexer2.rb +55 -51
  600. data/lib/puppet/pops/parser/lexer_support.rb +56 -57
  601. data/lib/puppet/pops/parser/locatable.rb +1 -2
  602. data/lib/puppet/pops/parser/locator.rb +42 -39
  603. data/lib/puppet/pops/parser/parser_support.rb +9 -7
  604. data/lib/puppet/pops/parser/pn_parser.rb +2 -2
  605. data/lib/puppet/pops/parser/slurp_support.rb +38 -37
  606. data/lib/puppet/pops/patterns.rb +2 -3
  607. data/lib/puppet/pops/pcore.rb +3 -3
  608. data/lib/puppet/pops/pn.rb +4 -2
  609. data/lib/puppet/pops/puppet_stack.rb +1 -0
  610. data/lib/puppet/pops/resource/param.rb +12 -12
  611. data/lib/puppet/pops/resource/resource_type_impl.rb +45 -44
  612. data/lib/puppet/pops/semantic_error.rb +2 -1
  613. data/lib/puppet/pops/serialization/abstract_reader.rb +3 -2
  614. data/lib/puppet/pops/serialization/abstract_writer.rb +7 -6
  615. data/lib/puppet/pops/serialization/deserializer.rb +2 -0
  616. data/lib/puppet/pops/serialization/extension.rb +7 -0
  617. data/lib/puppet/pops/serialization/from_data_converter.rb +15 -9
  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 +8 -5
  621. data/lib/puppet/pops/serialization/json_path.rb +1 -0
  622. data/lib/puppet/pops/serialization/object.rb +5 -3
  623. data/lib/puppet/pops/serialization/serializer.rb +19 -16
  624. data/lib/puppet/pops/serialization/time_factory.rb +1 -1
  625. data/lib/puppet/pops/serialization/to_data_converter.rb +7 -5
  626. data/lib/puppet/pops/serialization/to_stringified_converter.rb +7 -7
  627. data/lib/puppet/pops/serialization.rb +1 -0
  628. data/lib/puppet/pops/time/timespan.rb +19 -8
  629. data/lib/puppet/pops/time/timestamp.rb +8 -2
  630. data/lib/puppet/pops/types/annotatable.rb +1 -1
  631. data/lib/puppet/pops/types/annotation.rb +4 -3
  632. data/lib/puppet/pops/types/class_loader.rb +12 -9
  633. data/lib/puppet/pops/types/implementation_registry.rb +3 -1
  634. data/lib/puppet/pops/types/iterable.rb +22 -13
  635. data/lib/puppet/pops/types/p_binary_type.rb +4 -5
  636. data/lib/puppet/pops/types/p_init_type.rb +13 -11
  637. data/lib/puppet/pops/types/p_meta_type.rb +2 -2
  638. data/lib/puppet/pops/types/p_object_type.rb +87 -63
  639. data/lib/puppet/pops/types/p_object_type_extension.rb +10 -8
  640. data/lib/puppet/pops/types/p_runtime_type.rb +11 -10
  641. data/lib/puppet/pops/types/p_sem_ver_range_type.rb +1 -1
  642. data/lib/puppet/pops/types/p_sem_ver_type.rb +7 -8
  643. data/lib/puppet/pops/types/p_sensitive_type.rb +2 -5
  644. data/lib/puppet/pops/types/p_timespan_type.rb +6 -5
  645. data/lib/puppet/pops/types/p_timestamp_type.rb +3 -3
  646. data/lib/puppet/pops/types/p_type_set_type.rb +42 -36
  647. data/lib/puppet/pops/types/p_uri_type.rb +30 -23
  648. data/lib/puppet/pops/types/puppet_object.rb +1 -1
  649. data/lib/puppet/pops/types/recursion_guard.rb +7 -2
  650. data/lib/puppet/pops/types/ruby_generator.rb +14 -10
  651. data/lib/puppet/pops/types/ruby_method.rb +7 -7
  652. data/lib/puppet/pops/types/string_converter.rb +93 -88
  653. data/lib/puppet/pops/types/tree_iterators.rb +11 -14
  654. data/lib/puppet/pops/types/type_acceptor.rb +1 -0
  655. data/lib/puppet/pops/types/type_asserter.rb +4 -3
  656. data/lib/puppet/pops/types/type_assertion_error.rb +0 -1
  657. data/lib/puppet/pops/types/type_calculator.rb +46 -40
  658. data/lib/puppet/pops/types/type_conversion_error.rb +1 -10
  659. data/lib/puppet/pops/types/type_factory.rb +16 -12
  660. data/lib/puppet/pops/types/type_formatter.rb +40 -43
  661. data/lib/puppet/pops/types/type_mismatch_describer.rb +37 -29
  662. data/lib/puppet/pops/types/type_parser.rb +123 -117
  663. data/lib/puppet/pops/types/type_set_reference.rb +2 -0
  664. data/lib/puppet/pops/types/type_with_members.rb +1 -2
  665. data/lib/puppet/pops/types/types.rb +243 -230
  666. data/lib/puppet/pops/utils.rb +3 -2
  667. data/lib/puppet/pops/validation/checker4_0.rb +68 -49
  668. data/lib/puppet/pops/validation/tasks_checker.rb +5 -4
  669. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -2
  670. data/lib/puppet/pops/validation.rb +21 -19
  671. data/lib/puppet/pops/visitable.rb +1 -0
  672. data/lib/puppet/pops/visitor.rb +15 -2
  673. data/lib/puppet/pops.rb +2 -0
  674. data/lib/puppet/property/boolean.rb +1 -0
  675. data/lib/puppet/property/ensure.rb +4 -2
  676. data/lib/puppet/property/keyvalue.rb +10 -10
  677. data/lib/puppet/property/list.rb +6 -6
  678. data/lib/puppet/property/ordered_list.rb +4 -4
  679. data/lib/puppet/property.rb +21 -21
  680. data/lib/puppet/provider/aix_object.rb +14 -9
  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 +3 -1
  684. data/lib/puppet/provider/exec/shell.rb +1 -0
  685. data/lib/puppet/provider/exec/windows.rb +2 -1
  686. data/lib/puppet/provider/exec.rb +4 -3
  687. data/lib/puppet/provider/file/posix.rb +1 -0
  688. data/lib/puppet/provider/file/windows.rb +13 -9
  689. data/lib/puppet/provider/group/aix.rb +1 -0
  690. data/lib/puppet/provider/group/directoryservice.rb +1 -1
  691. data/lib/puppet/provider/group/groupadd.rb +11 -6
  692. data/lib/puppet/provider/group/ldap.rb +2 -0
  693. data/lib/puppet/provider/group/pw.rb +1 -1
  694. data/lib/puppet/provider/group/windows_adsi.rb +5 -3
  695. data/lib/puppet/provider/ldap.rb +4 -3
  696. data/lib/puppet/provider/nameservice/directoryservice.rb +39 -30
  697. data/lib/puppet/provider/nameservice/objectadd.rb +1 -0
  698. data/lib/puppet/provider/nameservice/pw.rb +6 -6
  699. data/lib/puppet/provider/nameservice.rb +17 -14
  700. data/lib/puppet/provider/network_device.rb +1 -2
  701. data/lib/puppet/provider/package/aix.rb +8 -7
  702. data/lib/puppet/provider/package/appdmg.rb +22 -21
  703. data/lib/puppet/provider/package/apple.rb +4 -3
  704. data/lib/puppet/provider/package/apt.rb +10 -6
  705. data/lib/puppet/provider/package/aptitude.rb +1 -0
  706. data/lib/puppet/provider/package/aptrpm.rb +8 -5
  707. data/lib/puppet/provider/package/blastwave.rb +9 -9
  708. data/lib/puppet/provider/package/dnf.rb +7 -0
  709. data/lib/puppet/provider/package/dnfmodule.rb +9 -8
  710. data/lib/puppet/provider/package/dpkg.rb +12 -12
  711. data/lib/puppet/provider/package/fink.rb +2 -1
  712. data/lib/puppet/provider/package/freebsd.rb +3 -2
  713. data/lib/puppet/provider/package/gem.rb +12 -9
  714. data/lib/puppet/provider/package/hpux.rb +6 -5
  715. data/lib/puppet/provider/package/macports.rb +2 -1
  716. data/lib/puppet/provider/package/nim.rb +16 -18
  717. data/lib/puppet/provider/package/openbsd.rb +14 -12
  718. data/lib/puppet/provider/package/opkg.rb +8 -6
  719. data/lib/puppet/provider/package/pacman.rb +14 -14
  720. data/lib/puppet/provider/package/pip.rb +11 -9
  721. data/lib/puppet/provider/package/pip2.rb +2 -2
  722. data/lib/puppet/provider/package/pip3.rb +2 -2
  723. data/lib/puppet/provider/package/pkg.rb +33 -29
  724. data/lib/puppet/provider/package/pkgdmg.rb +12 -7
  725. data/lib/puppet/provider/package/pkgin.rb +11 -11
  726. data/lib/puppet/provider/package/pkgng.rb +12 -8
  727. data/lib/puppet/provider/package/pkgutil.rb +18 -17
  728. data/lib/puppet/provider/package/portage.rb +14 -9
  729. data/lib/puppet/provider/package/ports.rb +6 -5
  730. data/lib/puppet/provider/package/portupgrade.rb +11 -19
  731. data/lib/puppet/provider/package/puppet_gem.rb +3 -2
  732. data/lib/puppet/provider/package/puppetserver_gem.rb +5 -4
  733. data/lib/puppet/provider/package/rpm.rb +19 -15
  734. data/lib/puppet/provider/package/rug.rb +2 -1
  735. data/lib/puppet/provider/package/sun.rb +22 -19
  736. data/lib/puppet/provider/package/sunfreeware.rb +1 -0
  737. data/lib/puppet/provider/package/tdnf.rb +7 -1
  738. data/lib/puppet/provider/package/up2date.rb +2 -1
  739. data/lib/puppet/provider/package/urpmi.rb +1 -0
  740. data/lib/puppet/provider/package/windows/exe_package.rb +3 -2
  741. data/lib/puppet/provider/package/windows/msi_package.rb +1 -0
  742. data/lib/puppet/provider/package/windows/package.rb +8 -6
  743. data/lib/puppet/provider/package/windows.rb +5 -3
  744. data/lib/puppet/provider/package/yum.rb +34 -20
  745. data/lib/puppet/provider/package/zypper.rb +22 -21
  746. data/lib/puppet/provider/package.rb +8 -7
  747. data/lib/puppet/provider/package_targetable.rb +3 -2
  748. data/lib/puppet/provider/parsedfile.rb +12 -9
  749. data/lib/puppet/provider/service/base.rb +2 -2
  750. data/lib/puppet/provider/service/bsd.rb +1 -0
  751. data/lib/puppet/provider/service/daemontools.rb +17 -15
  752. data/lib/puppet/provider/service/debian.rb +6 -5
  753. data/lib/puppet/provider/service/freebsd.rb +16 -19
  754. data/lib/puppet/provider/service/gentoo.rb +5 -4
  755. data/lib/puppet/provider/service/init.rb +12 -14
  756. data/lib/puppet/provider/service/launchd.rb +13 -7
  757. data/lib/puppet/provider/service/openbsd.rb +4 -4
  758. data/lib/puppet/provider/service/openrc.rb +2 -2
  759. data/lib/puppet/provider/service/openwrt.rb +1 -1
  760. data/lib/puppet/provider/service/rcng.rb +1 -0
  761. data/lib/puppet/provider/service/redhat.rb +5 -3
  762. data/lib/puppet/provider/service/runit.rb +10 -10
  763. data/lib/puppet/provider/service/service.rb +1 -1
  764. data/lib/puppet/provider/service/smf.rb +9 -6
  765. data/lib/puppet/provider/service/src.rb +19 -20
  766. data/lib/puppet/provider/service/systemd.rb +11 -6
  767. data/lib/puppet/provider/service/upstart.rb +14 -15
  768. data/lib/puppet/provider/service/windows.rb +37 -41
  769. data/lib/puppet/provider/user/aix.rb +17 -16
  770. data/lib/puppet/provider/user/directoryservice.rb +60 -52
  771. data/lib/puppet/provider/user/hpux.rb +23 -22
  772. data/lib/puppet/provider/user/ldap.rb +12 -10
  773. data/lib/puppet/provider/user/openbsd.rb +21 -20
  774. data/lib/puppet/provider/user/pw.rb +4 -4
  775. data/lib/puppet/provider/user/user_role_add.rb +23 -18
  776. data/lib/puppet/provider/user/useradd.rb +53 -43
  777. data/lib/puppet/provider/user/windows_adsi.rb +10 -7
  778. data/lib/puppet/provider.rb +11 -11
  779. data/lib/puppet/reference/configuration.rb +48 -46
  780. data/lib/puppet/reference/function.rb +1 -0
  781. data/lib/puppet/reference/indirection.rb +28 -27
  782. data/lib/puppet/reference/metaparameter.rb +1 -0
  783. data/lib/puppet/reference/providers.rb +4 -2
  784. data/lib/puppet/reference/report.rb +1 -0
  785. data/lib/puppet/reference/type.rb +5 -4
  786. data/lib/puppet/relationship.rb +5 -4
  787. data/lib/puppet/reports/http.rb +1 -1
  788. data/lib/puppet/reports/log.rb +1 -1
  789. data/lib/puppet/reports/store.rb +5 -3
  790. data/lib/puppet/reports.rb +4 -3
  791. data/lib/puppet/resource/catalog.rb +40 -40
  792. data/lib/puppet/resource/status.rb +5 -4
  793. data/lib/puppet/resource/type.rb +35 -26
  794. data/lib/puppet/resource/type_collection.rb +9 -5
  795. data/lib/puppet/resource.rb +50 -37
  796. data/lib/puppet/runtime.rb +1 -0
  797. data/lib/puppet/scheduler/job.rb +1 -0
  798. data/lib/puppet/scheduler/scheduler.rb +2 -1
  799. data/lib/puppet/scheduler/splay_job.rb +1 -0
  800. data/lib/puppet/scheduler/timer.rb +1 -0
  801. data/lib/puppet/scheduler.rb +2 -1
  802. data/lib/puppet/settings/alias_setting.rb +1 -0
  803. data/lib/puppet/settings/array_setting.rb +1 -1
  804. data/lib/puppet/settings/autosign_setting.rb +1 -1
  805. data/lib/puppet/settings/base_setting.rb +11 -7
  806. data/lib/puppet/settings/boolean_setting.rb +2 -1
  807. data/lib/puppet/settings/certificate_revocation_setting.rb +1 -1
  808. data/lib/puppet/settings/config_file.rb +5 -5
  809. data/lib/puppet/settings/directory_setting.rb +1 -0
  810. data/lib/puppet/settings/duration_setting.rb +3 -3
  811. data/lib/puppet/settings/enum_setting.rb +2 -1
  812. data/lib/puppet/settings/environment_conf.rb +15 -12
  813. data/lib/puppet/settings/errors.rb +5 -3
  814. data/lib/puppet/settings/file_or_directory_setting.rb +1 -5
  815. data/lib/puppet/settings/file_setting.rb +3 -13
  816. data/lib/puppet/settings/http_extra_headers_setting.rb +1 -1
  817. data/lib/puppet/settings/ini_file.rb +1 -0
  818. data/lib/puppet/settings/integer_setting.rb +2 -1
  819. data/lib/puppet/settings/path_setting.rb +1 -0
  820. data/lib/puppet/settings/port_setting.rb +2 -1
  821. data/lib/puppet/settings/priority_setting.rb +12 -12
  822. data/lib/puppet/settings/server_list_setting.rb +6 -6
  823. data/lib/puppet/settings/string_setting.rb +1 -0
  824. data/lib/puppet/settings/symbolic_enum_setting.rb +2 -1
  825. data/lib/puppet/settings/terminus_setting.rb +1 -0
  826. data/lib/puppet/settings/ttl_setting.rb +5 -4
  827. data/lib/puppet/settings/value_translator.rb +8 -7
  828. data/lib/puppet/settings.rb +123 -97
  829. data/lib/puppet/ssl/base.rb +6 -2
  830. data/lib/puppet/ssl/certificate.rb +5 -4
  831. data/lib/puppet/ssl/certificate_request.rb +14 -12
  832. data/lib/puppet/ssl/certificate_request_attributes.rb +4 -2
  833. data/lib/puppet/ssl/certificate_signer.rb +2 -3
  834. data/lib/puppet/ssl/digest.rb +1 -0
  835. data/lib/puppet/ssl/error.rb +2 -0
  836. data/lib/puppet/ssl/oids.rb +7 -7
  837. data/lib/puppet/ssl/openssl_loader.rb +1 -0
  838. data/lib/puppet/ssl/ssl_context.rb +11 -15
  839. data/lib/puppet/ssl/ssl_provider.rb +10 -7
  840. data/lib/puppet/ssl/state_machine.rb +12 -11
  841. data/lib/puppet/ssl/verifier.rb +2 -2
  842. data/lib/puppet/ssl.rb +1 -0
  843. data/lib/puppet/syntax_checkers/base64.rb +3 -2
  844. data/lib/puppet/syntax_checkers/epp.rb +3 -3
  845. data/lib/puppet/syntax_checkers/json.rb +3 -4
  846. data/lib/puppet/syntax_checkers/pp.rb +3 -3
  847. data/lib/puppet/syntax_checkers.rb +2 -1
  848. data/lib/puppet/test/test_helper.rb +26 -23
  849. data/lib/puppet/thread_local.rb +1 -0
  850. data/lib/puppet/transaction/additional_resource_generator.rb +10 -6
  851. data/lib/puppet/transaction/event.rb +5 -3
  852. data/lib/puppet/transaction/event_manager.rb +6 -6
  853. data/lib/puppet/transaction/persistence.rb +3 -2
  854. data/lib/puppet/transaction/report.rb +28 -22
  855. data/lib/puppet/transaction/resource_harness.rb +7 -4
  856. data/lib/puppet/transaction.rb +22 -17
  857. data/lib/puppet/trusted_external.rb +9 -5
  858. data/lib/puppet/type/component.rb +11 -5
  859. data/lib/puppet/type/exec.rb +33 -21
  860. data/lib/puppet/type/file/checksum.rb +1 -0
  861. data/lib/puppet/type/file/checksum_value.rb +4 -3
  862. data/lib/puppet/type/file/content.rb +17 -14
  863. data/lib/puppet/type/file/ctime.rb +2 -2
  864. data/lib/puppet/type/file/data_sync.rb +6 -4
  865. data/lib/puppet/type/file/ensure.rb +11 -14
  866. data/lib/puppet/type/file/group.rb +2 -1
  867. data/lib/puppet/type/file/mode.rb +4 -2
  868. data/lib/puppet/type/file/mtime.rb +2 -1
  869. data/lib/puppet/type/file/owner.rb +2 -2
  870. data/lib/puppet/type/file/selcontext.rb +2 -3
  871. data/lib/puppet/type/file/source.rb +14 -12
  872. data/lib/puppet/type/file/target.rb +4 -5
  873. data/lib/puppet/type/file/type.rb +2 -2
  874. data/lib/puppet/type/file.rb +40 -35
  875. data/lib/puppet/type/filebucket.rb +1 -0
  876. data/lib/puppet/type/group.rb +10 -10
  877. data/lib/puppet/type/notify.rb +1 -1
  878. data/lib/puppet/type/package.rb +29 -29
  879. data/lib/puppet/type/resources.rb +33 -28
  880. data/lib/puppet/type/schedule.rb +13 -14
  881. data/lib/puppet/type/service.rb +13 -11
  882. data/lib/puppet/type/stage.rb +1 -0
  883. data/lib/puppet/type/tidy.rb +16 -11
  884. data/lib/puppet/type/user.rb +48 -43
  885. data/lib/puppet/type/whit.rb +1 -1
  886. data/lib/puppet/type.rb +115 -110
  887. data/lib/puppet/util/at_fork/noop.rb +1 -0
  888. data/lib/puppet/util/at_fork/solaris.rb +6 -5
  889. data/lib/puppet/util/at_fork.rb +2 -1
  890. data/lib/puppet/util/autoload.rb +7 -2
  891. data/lib/puppet/util/backups.rb +6 -5
  892. data/lib/puppet/util/character_encoding.rb +1 -0
  893. data/lib/puppet/util/checksums.rb +12 -10
  894. data/lib/puppet/util/classgen.rb +10 -16
  895. data/lib/puppet/util/colors.rb +65 -64
  896. data/lib/puppet/util/command_line/puppet_option_parser.rb +17 -16
  897. data/lib/puppet/util/command_line/trollop.rb +696 -689
  898. data/lib/puppet/util/command_line.rb +2 -1
  899. data/lib/puppet/util/constant_inflector.rb +3 -3
  900. data/lib/puppet/util/diff.rb +16 -16
  901. data/lib/puppet/util/docs.rb +6 -3
  902. data/lib/puppet/util/errors.rb +3 -2
  903. data/lib/puppet/util/execution.rb +27 -28
  904. data/lib/puppet/util/execution_stub.rb +1 -0
  905. data/lib/puppet/util/feature.rb +7 -8
  906. data/lib/puppet/util/file_watcher.rb +2 -0
  907. data/lib/puppet/util/fileparsing.rb +11 -12
  908. data/lib/puppet/util/filetype.rb +6 -3
  909. data/lib/puppet/util/http_proxy.rb +1 -0
  910. data/lib/puppet/util/inifile.rb +4 -4
  911. data/lib/puppet/util/instance_loader.rb +2 -0
  912. data/lib/puppet/util/json.rb +1 -0
  913. data/lib/puppet/util/json_lockfile.rb +3 -1
  914. data/lib/puppet/util/ldap/connection.rb +19 -18
  915. data/lib/puppet/util/ldap/generator.rb +1 -0
  916. data/lib/puppet/util/ldap/manager.rb +9 -9
  917. data/lib/puppet/util/ldap.rb +1 -0
  918. data/lib/puppet/util/libuser.rb +2 -2
  919. data/lib/puppet/util/limits.rb +1 -0
  920. data/lib/puppet/util/lockfile.rb +1 -0
  921. data/lib/puppet/util/log/destination.rb +1 -1
  922. data/lib/puppet/util/log/destinations.rb +15 -16
  923. data/lib/puppet/util/log.rb +28 -23
  924. data/lib/puppet/util/logging.rb +24 -21
  925. data/lib/puppet/util/metaid.rb +1 -1
  926. data/lib/puppet/util/metric.rb +5 -3
  927. data/lib/puppet/util/monkey_patches.rb +2 -1
  928. data/lib/puppet/util/multi_match.rb +8 -5
  929. data/lib/puppet/util/network_device/base.rb +2 -2
  930. data/lib/puppet/util/network_device/config.rb +5 -6
  931. data/lib/puppet/util/network_device/transport/base.rb +0 -1
  932. data/lib/puppet/util/network_device/transport.rb +1 -0
  933. data/lib/puppet/util/network_device.rb +1 -0
  934. data/lib/puppet/util/package/version/debian.rb +5 -3
  935. data/lib/puppet/util/package/version/gem.rb +2 -0
  936. data/lib/puppet/util/package/version/pip.rb +9 -4
  937. data/lib/puppet/util/package/version/range/eq.rb +2 -0
  938. data/lib/puppet/util/package/version/range/gt.rb +2 -0
  939. data/lib/puppet/util/package/version/range/gt_eq.rb +2 -0
  940. data/lib/puppet/util/package/version/range/lt.rb +3 -1
  941. data/lib/puppet/util/package/version/range/lt_eq.rb +2 -0
  942. data/lib/puppet/util/package/version/range/min_max.rb +4 -0
  943. data/lib/puppet/util/package/version/range/simple.rb +1 -0
  944. data/lib/puppet/util/package/version/range.rb +8 -5
  945. data/lib/puppet/util/package/version/rpm.rb +6 -4
  946. data/lib/puppet/util/package.rb +4 -1
  947. data/lib/puppet/util/pidlock.rb +8 -8
  948. data/lib/puppet/util/platform.rb +1 -0
  949. data/lib/puppet/util/plist.rb +7 -6
  950. data/lib/puppet/util/posix.rb +10 -8
  951. data/lib/puppet/util/profiler/aggregate.rb +3 -7
  952. data/lib/puppet/util/profiler/around_profiler.rb +1 -1
  953. data/lib/puppet/util/profiler/logging.rb +2 -1
  954. data/lib/puppet/util/profiler/object_counts.rb +1 -0
  955. data/lib/puppet/util/profiler/wall_clock.rb +3 -3
  956. data/lib/puppet/util/profiler.rb +1 -0
  957. data/lib/puppet/util/provider_features.rb +5 -2
  958. data/lib/puppet/util/psych_support.rb +1 -0
  959. data/lib/puppet/util/rdoc/code_objects.rb +14 -17
  960. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +70 -80
  961. data/lib/puppet/util/rdoc/generators/template/puppet/puppet.rb +50 -68
  962. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +21 -19
  963. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc2.rb +1 -0
  964. data/lib/puppet/util/rdoc/parser.rb +1 -0
  965. data/lib/puppet/util/rdoc.rb +9 -9
  966. data/lib/puppet/util/reference.rb +3 -3
  967. data/lib/puppet/util/resource_template.rb +2 -1
  968. data/lib/puppet/util/retry_action.rb +4 -4
  969. data/lib/puppet/util/rpm_compare.rb +13 -10
  970. data/lib/puppet/util/rubygems.rb +1 -2
  971. data/lib/puppet/util/run_mode.rb +5 -4
  972. data/lib/puppet/util/selinux.rb +25 -14
  973. data/lib/puppet/util/skip_tags.rb +1 -0
  974. data/lib/puppet/util/splayer.rb +1 -0
  975. data/lib/puppet/util/storage.rb +2 -1
  976. data/lib/puppet/util/suidmanager.rb +21 -20
  977. data/lib/puppet/util/symbolic_file_mode.rb +11 -8
  978. data/lib/puppet/util/tag_set.rb +1 -0
  979. data/lib/puppet/util/tagging.rb +4 -3
  980. data/lib/puppet/util/terminal.rb +1 -0
  981. data/lib/puppet/util/user_attr.rb +2 -1
  982. data/lib/puppet/util/warnings.rb +3 -0
  983. data/lib/puppet/util/watched_file.rb +3 -1
  984. data/lib/puppet/util/watcher/change_watcher.rb +1 -0
  985. data/lib/puppet/util/watcher/periodic_watcher.rb +1 -1
  986. data/lib/puppet/util/watcher/timer.rb +1 -0
  987. data/lib/puppet/util/watcher.rb +1 -0
  988. data/lib/puppet/util/windows/access_control_entry.rb +1 -0
  989. data/lib/puppet/util/windows/access_control_list.rb +7 -5
  990. data/lib/puppet/util/windows/adsi.rb +46 -39
  991. data/lib/puppet/util/windows/com.rb +7 -5
  992. data/lib/puppet/util/windows/daemon.rb +39 -39
  993. data/lib/puppet/util/windows/error.rb +3 -2
  994. data/lib/puppet/util/windows/eventlog.rb +12 -9
  995. data/lib/puppet/util/windows/file.rb +43 -33
  996. data/lib/puppet/util/windows/monkey_patches/process.rb +1 -2
  997. data/lib/puppet/util/windows/principal.rb +31 -29
  998. data/lib/puppet/util/windows/process.rb +33 -26
  999. data/lib/puppet/util/windows/registry.rb +84 -49
  1000. data/lib/puppet/util/windows/root_certs.rb +2 -1
  1001. data/lib/puppet/util/windows/security.rb +61 -60
  1002. data/lib/puppet/util/windows/security_descriptor.rb +1 -0
  1003. data/lib/puppet/util/windows/service.rb +16 -5
  1004. data/lib/puppet/util/windows/sid.rb +14 -13
  1005. data/lib/puppet/util/windows/string.rb +1 -0
  1006. data/lib/puppet/util/windows/user.rb +37 -35
  1007. data/lib/puppet/util/windows.rb +7 -1
  1008. data/lib/puppet/util/yaml.rb +1 -0
  1009. data/lib/puppet/util.rb +32 -36
  1010. data/lib/puppet/vendor.rb +2 -1
  1011. data/lib/puppet/version.rb +3 -1
  1012. data/lib/puppet/x509/cert_provider.rb +19 -13
  1013. data/lib/puppet/x509/pem_store.rb +1 -0
  1014. data/lib/puppet/x509.rb +1 -0
  1015. data/lib/puppet.rb +9 -7
  1016. data/lib/puppet_pal.rb +1 -0
  1017. data/lib/puppet_x.rb +1 -0
  1018. data/locales/puppet.pot +2013 -2013
  1019. data/man/man5/puppet.conf.5 +2 -2
  1020. data/man/man8/puppet-agent.8 +1 -1
  1021. data/man/man8/puppet-apply.8 +1 -1
  1022. data/man/man8/puppet-catalog.8 +1 -1
  1023. data/man/man8/puppet-config.8 +1 -1
  1024. data/man/man8/puppet-describe.8 +1 -1
  1025. data/man/man8/puppet-device.8 +1 -1
  1026. data/man/man8/puppet-doc.8 +1 -1
  1027. data/man/man8/puppet-epp.8 +1 -1
  1028. data/man/man8/puppet-facts.8 +1 -1
  1029. data/man/man8/puppet-filebucket.8 +1 -1
  1030. data/man/man8/puppet-generate.8 +1 -1
  1031. data/man/man8/puppet-help.8 +1 -1
  1032. data/man/man8/puppet-lookup.8 +1 -1
  1033. data/man/man8/puppet-module.8 +1 -1
  1034. data/man/man8/puppet-node.8 +1 -1
  1035. data/man/man8/puppet-parser.8 +1 -1
  1036. data/man/man8/puppet-plugin.8 +1 -1
  1037. data/man/man8/puppet-report.8 +1 -1
  1038. data/man/man8/puppet-resource.8 +1 -1
  1039. data/man/man8/puppet-script.8 +1 -1
  1040. data/man/man8/puppet-ssl.8 +1 -1
  1041. data/man/man8/puppet.8 +2 -2
  1042. data/tasks/generate_cert_fixtures.rake +1 -0
  1043. metadata +3 -2456
  1044. data/CONTRIBUTING.md +0 -161
  1045. data/spec/fixtures/faulty_face/puppet/face/syntax.rb +0 -8
  1046. data/spec/fixtures/hiera.yaml +0 -9
  1047. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +0 -92
  1048. data/spec/fixtures/integration/application/agent/lib/facter/agent_spec_role.rb +0 -3
  1049. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb +0 -2
  1050. data/spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb +0 -25
  1051. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/README +0 -3
  1052. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/manifests/init.pp +0 -17
  1053. data/spec/fixtures/integration/application/module/environments/direnv/modules/nginx/metadata.json +0 -20
  1054. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Gemfile +0 -4
  1055. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/Rakefile +0 -3
  1056. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/lib/puppet/functions/l10n.rb +0 -8
  1057. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/config.yaml +0 -25
  1058. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/ja/puppet-l10n.po +0 -19
  1059. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/locales/puppet-l10n.pot +0 -20
  1060. data/spec/fixtures/integration/l10n/envs/prod/modules/demo/metadata.json +0 -8
  1061. data/spec/fixtures/integration/node/environment/sitedir/00_a.pp +0 -2
  1062. data/spec/fixtures/integration/node/environment/sitedir/01_b.pp +0 -6
  1063. data/spec/fixtures/integration/node/environment/sitedir/03_empty.pp +0 -0
  1064. data/spec/fixtures/integration/node/environment/sitedir/04_include.pp +0 -2
  1065. data/spec/fixtures/integration/node/environment/sitedir2/00_a.pp +0 -2
  1066. data/spec/fixtures/integration/node/environment/sitedir2/02_folder/01_b.pp +0 -6
  1067. data/spec/fixtures/integration/node/environment/sitedir2/03_c.pp +0 -1
  1068. data/spec/fixtures/integration/node/environment/sitedir2/04_include.pp +0 -2
  1069. data/spec/fixtures/java.tgz +0 -0
  1070. data/spec/fixtures/manifests/site.pp +0 -0
  1071. data/spec/fixtures/module.tar.gz +0 -0
  1072. data/spec/fixtures/releases/jamtur01-apache/Modulefile +0 -2
  1073. data/spec/fixtures/releases/jamtur01-apache/files/httpd +0 -24
  1074. data/spec/fixtures/releases/jamtur01-apache/files/test.vhost +0 -18
  1075. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/provider/a2mod/debian.rb +0 -21
  1076. data/spec/fixtures/releases/jamtur01-apache/lib/puppet/type/a2mod.rb +0 -12
  1077. data/spec/fixtures/releases/jamtur01-apache/manifests/dev.pp +0 -5
  1078. data/spec/fixtures/releases/jamtur01-apache/manifests/init.pp +0 -34
  1079. data/spec/fixtures/releases/jamtur01-apache/manifests/params.pp +0 -17
  1080. data/spec/fixtures/releases/jamtur01-apache/manifests/php.pp +0 -5
  1081. data/spec/fixtures/releases/jamtur01-apache/manifests/ssl.pp +0 -15
  1082. data/spec/fixtures/releases/jamtur01-apache/manifests/vhost.pp +0 -15
  1083. data/spec/fixtures/releases/jamtur01-apache/metadata.json +0 -1
  1084. data/spec/fixtures/releases/jamtur01-apache/templates/vhost-default.conf.erb +0 -20
  1085. data/spec/fixtures/releases/jamtur01-apache/tests/apache.pp +0 -1
  1086. data/spec/fixtures/releases/jamtur01-apache/tests/dev.pp +0 -1
  1087. data/spec/fixtures/releases/jamtur01-apache/tests/init.pp +0 -1
  1088. data/spec/fixtures/releases/jamtur01-apache/tests/php.pp +0 -1
  1089. data/spec/fixtures/releases/jamtur01-apache/tests/ssl.pp +0 -1
  1090. data/spec/fixtures/releases/jamtur01-apache/tests/vhost.pp +0 -2
  1091. data/spec/fixtures/ssl/127.0.0.1-key.pem +0 -117
  1092. data/spec/fixtures/ssl/127.0.0.1.pem +0 -70
  1093. data/spec/fixtures/ssl/bad-basic-constraints.pem +0 -81
  1094. data/spec/fixtures/ssl/bad-int-basic-constraints.pem +0 -81
  1095. data/spec/fixtures/ssl/ca.pem +0 -81
  1096. data/spec/fixtures/ssl/crl.pem +0 -40
  1097. data/spec/fixtures/ssl/ec-key-openssl.pem +0 -8
  1098. data/spec/fixtures/ssl/ec-key-pk8.pem +0 -5
  1099. data/spec/fixtures/ssl/ec-key.pem +0 -18
  1100. data/spec/fixtures/ssl/ec.pem +0 -50
  1101. data/spec/fixtures/ssl/encrypted-ec-key.pem +0 -21
  1102. data/spec/fixtures/ssl/encrypted-key.pem +0 -120
  1103. data/spec/fixtures/ssl/intermediate-agent-crl.pem +0 -40
  1104. data/spec/fixtures/ssl/intermediate-agent.pem +0 -81
  1105. data/spec/fixtures/ssl/intermediate-crl.pem +0 -46
  1106. data/spec/fixtures/ssl/intermediate.pem +0 -81
  1107. data/spec/fixtures/ssl/netlock-arany-utf8.pem +0 -23
  1108. data/spec/fixtures/ssl/oid-key.pem +0 -117
  1109. data/spec/fixtures/ssl/oid.pem +0 -70
  1110. data/spec/fixtures/ssl/pluto-key.pem +0 -117
  1111. data/spec/fixtures/ssl/pluto.pem +0 -67
  1112. data/spec/fixtures/ssl/renewed.pem +0 -67
  1113. data/spec/fixtures/ssl/request-key.pem +0 -117
  1114. data/spec/fixtures/ssl/request.pem +0 -62
  1115. data/spec/fixtures/ssl/revoked-key.pem +0 -117
  1116. data/spec/fixtures/ssl/revoked.pem +0 -67
  1117. data/spec/fixtures/ssl/signed-key.pem +0 -117
  1118. data/spec/fixtures/ssl/signed.pem +0 -67
  1119. data/spec/fixtures/ssl/tampered-cert.pem +0 -67
  1120. data/spec/fixtures/ssl/tampered-csr.pem +0 -62
  1121. data/spec/fixtures/ssl/trusted_oid_mapping.yaml +0 -5
  1122. data/spec/fixtures/ssl/unknown-127.0.0.1-key.pem +0 -117
  1123. data/spec/fixtures/ssl/unknown-127.0.0.1.pem +0 -70
  1124. data/spec/fixtures/ssl/unknown-ca-key.pem +0 -117
  1125. data/spec/fixtures/ssl/unknown-ca.pem +0 -81
  1126. data/spec/fixtures/stdlib.tgz +0 -0
  1127. data/spec/fixtures/unit/application/environments/production/data/common.yaml +0 -24
  1128. data/spec/fixtures/unit/application/environments/production/environment.conf +0 -1
  1129. data/spec/fixtures/unit/application/environments/production/manifests/site.pp +0 -1
  1130. data/spec/fixtures/unit/application/environments/puppet_func_provider/environment.conf +0 -1
  1131. data/spec/fixtures/unit/application/environments/puppet_func_provider/functions/environment/data.pp +0 -10
  1132. data/spec/fixtures/unit/application/environments/puppet_func_provider/manifests/site.pp +0 -1
  1133. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/data/bad.json +0 -3
  1134. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/environment.conf +0 -2
  1135. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/hiera.yaml +0 -5
  1136. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_json/manifests/site.pp +0 -5
  1137. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/data/bad.yaml +0 -3
  1138. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/environment.conf +0 -2
  1139. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/hiera.yaml +0 -5
  1140. data/spec/fixtures/unit/data_providers/environments/hiera_bad_syntax_yaml/manifests/site.pp +0 -5
  1141. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/data/common.yaml +0 -2
  1142. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/environment.conf +0 -2
  1143. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/manifests/site.pp +0 -1
  1144. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/data/common.yaml +0 -2
  1145. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/manifests/init.pp +0 -5
  1146. data/spec/fixtures/unit/data_providers/environments/hiera_defaults/modules/one/metadata.json +0 -9
  1147. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/first.json +0 -3
  1148. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/name.yaml +0 -2
  1149. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/second.json +0 -3
  1150. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/single.yaml +0 -2
  1151. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/third_utf8.json +0 -3
  1152. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data1/utf8.yaml +0 -3
  1153. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/data2/single.yaml +0 -2
  1154. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/environment.conf +0 -2
  1155. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/hiera.yaml +0 -22
  1156. data/spec/fixtures/unit/data_providers/environments/hiera_env_config/manifests/site.pp +0 -5
  1157. data/spec/fixtures/unit/data_providers/environments/hiera_misc/data/common.yaml +0 -48
  1158. data/spec/fixtures/unit/data_providers/environments/hiera_misc/environment.conf +0 -2
  1159. data/spec/fixtures/unit/data_providers/environments/hiera_misc/manifests/site.pp +0 -1
  1160. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/data/common.yaml +0 -30
  1161. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/manifests/init.pp +0 -13
  1162. data/spec/fixtures/unit/data_providers/environments/hiera_misc/modules/one/metadata.json +0 -9
  1163. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/common.yaml +0 -4
  1164. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/data/specific.yaml +0 -4
  1165. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/environment.conf +0 -2
  1166. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/hiera.yaml +0 -7
  1167. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/manifests/site.pp +0 -1
  1168. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/first.json +0 -3
  1169. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/name.yaml +0 -2
  1170. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/second.json +0 -3
  1171. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server1.yaml +0 -1
  1172. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/server2.yaml +0 -1
  1173. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data1/single.yaml +0 -2
  1174. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/data2/single.yaml +0 -2
  1175. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/hiera.yaml +0 -20
  1176. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/manifests/init.pp +0 -5
  1177. data/spec/fixtures/unit/data_providers/environments/hiera_module_config/modules/one/metadata.json +0 -9
  1178. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/common.yaml +0 -4
  1179. data/spec/fixtures/unit/data_providers/environments/hiera_modules/data/specific.yaml +0 -4
  1180. data/spec/fixtures/unit/data_providers/environments/hiera_modules/environment.conf +0 -2
  1181. data/spec/fixtures/unit/data_providers/environments/hiera_modules/hiera.yaml +0 -7
  1182. data/spec/fixtures/unit/data_providers/environments/hiera_modules/manifests/site.pp +0 -1
  1183. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/data/common.yaml +0 -6
  1184. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/hiera.yaml +0 -5
  1185. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/manifests/init.pp +0 -2
  1186. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/one/metadata.json +0 -9
  1187. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/data/common.yaml +0 -4
  1188. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/hiera.yaml +0 -5
  1189. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/manifests/init.pp +0 -3
  1190. data/spec/fixtures/unit/data_providers/environments/hiera_modules/modules/two/metadata.json +0 -9
  1191. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +0 -2
  1192. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +0 -9
  1193. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  1194. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +0 -10
  1195. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/metadata.json +0 -9
  1196. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/functions/data.pp +0 -6
  1197. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/manifests/init.pp +0 -9
  1198. data/spec/fixtures/unit/data_providers/environments/production/modules/xyz/metadata.json +0 -9
  1199. data/spec/fixtures/unit/forge/bacula-releases.json +0 -128
  1200. data/spec/fixtures/unit/forge/bacula.json +0 -76
  1201. data/spec/fixtures/unit/forge/bacula.tar.gz +0 -0
  1202. data/spec/fixtures/unit/functions/hiera/hiera/backend/hieraspec_backend.rb +0 -22
  1203. data/spec/fixtures/unit/functions/lookup/data/common.yaml +0 -19
  1204. data/spec/fixtures/unit/functions/lookup/hiera/backend/custom_backend.rb +0 -18
  1205. data/spec/fixtures/unit/functions/lookup/hiera/backend/other_backend.rb +0 -7
  1206. data/spec/fixtures/unit/functions/lookup_fixture/data/common.yaml +0 -19
  1207. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/environment.conf +0 -2
  1208. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/lib/puppet/functions/environment/data.rb +0 -13
  1209. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +0 -9
  1210. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/manifests/init.pp +0 -8
  1211. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/abc/metadata.json +0 -9
  1212. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/lib/puppet/functions/bad_data/data.rb +0 -7
  1213. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/manifests/init.pp +0 -2
  1214. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bad_data/metadata.json +0 -9
  1215. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/lib/puppet/functions/bca/data.rb +0 -9
  1216. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/manifests/init.pp +0 -2
  1217. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/bca/metadata.json +0 -9
  1218. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/data/empty.json +0 -0
  1219. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/hiera.yaml +0 -5
  1220. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/manifests/init.pp +0 -2
  1221. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_json/metadata.json +0 -9
  1222. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/data/empty_key.json +0 -1
  1223. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/hiera.yaml +0 -5
  1224. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/manifests/init.pp +0 -2
  1225. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_json/metadata.json +0 -9
  1226. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/data/empty_key.yaml +0 -1
  1227. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/hiera.yaml +0 -5
  1228. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/manifests/init.pp +0 -2
  1229. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_key_yaml/metadata.json +0 -9
  1230. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/data/empty.yaml +0 -2
  1231. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/hiera.yaml +0 -5
  1232. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/manifests/init.pp +0 -2
  1233. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/empty_yaml/metadata.json +0 -9
  1234. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/data/first.json +0 -4
  1235. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/hiera.yaml +0 -8
  1236. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/manifests/init.pp +0 -5
  1237. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/hieraprovider/metadata.json +0 -9
  1238. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/lib/puppet/functions/meta/data.rb +0 -9
  1239. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/manifests/init.pp +0 -3
  1240. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/meta/metadata.json +0 -9
  1241. data/spec/fixtures/unit/functions/lookup_fixture/environments/production/modules/no_provider/manifests/init.pp +0 -2
  1242. data/spec/fixtures/unit/indirector/data_binding/hiera/global.yaml +0 -10
  1243. data/spec/fixtures/unit/indirector/data_binding/hiera/invalid.yaml +0 -1
  1244. data/spec/fixtures/unit/indirector/hiera/global.yaml +0 -10
  1245. data/spec/fixtures/unit/indirector/hiera/invalid.yaml +0 -1
  1246. data/spec/fixtures/unit/module/trailing-comma.json +0 -24
  1247. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/init.pp +0 -3
  1248. data/spec/fixtures/unit/parser/functions/create_resources/foo/manifests/wrongdefine.pp +0 -3
  1249. data/spec/fixtures/unit/parser/lexer/aliastest.pp +0 -16
  1250. data/spec/fixtures/unit/parser/lexer/append.pp +0 -11
  1251. data/spec/fixtures/unit/parser/lexer/argumentdefaults.pp +0 -14
  1252. data/spec/fixtures/unit/parser/lexer/arithmetic_expression.pp +0 -8
  1253. data/spec/fixtures/unit/parser/lexer/arraytrailingcomma.pp +0 -3
  1254. data/spec/fixtures/unit/parser/lexer/casestatement.pp +0 -65
  1255. data/spec/fixtures/unit/parser/lexer/classheirarchy.pp +0 -15
  1256. data/spec/fixtures/unit/parser/lexer/classincludes.pp +0 -17
  1257. data/spec/fixtures/unit/parser/lexer/classpathtest.pp +0 -11
  1258. data/spec/fixtures/unit/parser/lexer/collection.pp +0 -10
  1259. data/spec/fixtures/unit/parser/lexer/collection_override.pp +0 -8
  1260. data/spec/fixtures/unit/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  1261. data/spec/fixtures/unit/parser/lexer/componentmetaparams.pp +0 -11
  1262. data/spec/fixtures/unit/parser/lexer/componentrequire.pp +0 -8
  1263. data/spec/fixtures/unit/parser/lexer/deepclassheirarchy.pp +0 -23
  1264. data/spec/fixtures/unit/parser/lexer/defineoverrides.pp +0 -17
  1265. data/spec/fixtures/unit/parser/lexer/emptyclass.pp +0 -9
  1266. data/spec/fixtures/unit/parser/lexer/emptyexec.pp +0 -3
  1267. data/spec/fixtures/unit/parser/lexer/emptyifelse.pp +0 -9
  1268. data/spec/fixtures/unit/parser/lexer/falsevalues.pp +0 -3
  1269. data/spec/fixtures/unit/parser/lexer/filecreate.pp +0 -11
  1270. data/spec/fixtures/unit/parser/lexer/fqdefinition.pp +0 -5
  1271. data/spec/fixtures/unit/parser/lexer/fqparents.pp +0 -11
  1272. data/spec/fixtures/unit/parser/lexer/funccomma.pp +0 -5
  1273. data/spec/fixtures/unit/parser/lexer/hash.pp +0 -33
  1274. data/spec/fixtures/unit/parser/lexer/ifexpression.pp +0 -12
  1275. data/spec/fixtures/unit/parser/lexer/implicititeration.pp +0 -15
  1276. data/spec/fixtures/unit/parser/lexer/multilinecomments.pp +0 -10
  1277. data/spec/fixtures/unit/parser/lexer/multipleclass.pp +0 -9
  1278. data/spec/fixtures/unit/parser/lexer/multipleinstances.pp +0 -7
  1279. data/spec/fixtures/unit/parser/lexer/multisubs.pp +0 -13
  1280. data/spec/fixtures/unit/parser/lexer/namevartest.pp +0 -9
  1281. data/spec/fixtures/unit/parser/lexer/scopetest.pp +0 -13
  1282. data/spec/fixtures/unit/parser/lexer/selectorvalues.pp +0 -49
  1283. data/spec/fixtures/unit/parser/lexer/simpledefaults.pp +0 -5
  1284. data/spec/fixtures/unit/parser/lexer/simpleselector.pp +0 -38
  1285. data/spec/fixtures/unit/parser/lexer/singleary.pp +0 -19
  1286. data/spec/fixtures/unit/parser/lexer/singlequote.pp +0 -11
  1287. data/spec/fixtures/unit/parser/lexer/singleselector.pp +0 -22
  1288. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -11
  1289. data/spec/fixtures/unit/parser/lexer/tag.pp +0 -9
  1290. data/spec/fixtures/unit/parser/lexer/tagged.pp +0 -35
  1291. data/spec/fixtures/unit/parser/lexer/virtualresources.pp +0 -14
  1292. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +0 -10
  1293. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/lib/puppet/bindings/confdirtest.rb +0 -10
  1294. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet/bindings/awesome2/default.rb +0 -20
  1295. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/puppet_x/awesome2/echo_scheme_handler.rb +0 -18
  1296. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/bad/lib/puppet/bindings/bad/default.rb +0 -5
  1297. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/good/lib/puppet/bindings/good/default.rb +0 -6
  1298. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +0 -6
  1299. data/spec/fixtures/unit/pops/binder/config/binder_config/ok/binder_config.yaml +0 -9
  1300. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/functions/usee_puppet.pp +0 -3
  1301. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/callee.rb +0 -5
  1302. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/functions/usee/usee_ruby.rb +0 -6
  1303. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/lib/puppet/type/usee_type.rb +0 -5
  1304. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/manifests/init.pp +0 -8
  1305. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee/types/zero.pp +0 -1
  1306. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/usee2/lib/puppet/functions/usee2/callee.rb +0 -5
  1307. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet.pp +0 -5
  1308. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_puppet_init.pp +0 -5
  1309. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/functions/puppet_calling_ruby.pp +0 -5
  1310. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller.rb +0 -5
  1311. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/caller2.rb +0 -5
  1312. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet.rb +0 -5
  1313. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_puppet_init.rb +0 -5
  1314. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/lib/puppet/functions/user/ruby_calling_ruby.rb +0 -5
  1315. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/manifests/init.pp +0 -87
  1316. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/metadata.json +0 -10
  1317. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseeone.pp +0 -1
  1318. data/spec/fixtures/unit/pops/loaders/loaders/dependent_modules_with_metadata/modules/user/types/withuseezero.pp +0 -1
  1319. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load.rb +0 -11
  1320. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load2.rb +0 -11
  1321. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load3.rb +0 -11
  1322. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load4.rb +0 -11
  1323. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/bad_func_load5.rb +0 -12
  1324. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee.rb +0 -8
  1325. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/callee_ws.rb +0 -8
  1326. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/func_with_syntax_error.rb +0 -9
  1327. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/lib/puppet/parser/functions/good_func_load.rb +0 -9
  1328. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/usee/metadata.json +0 -9
  1329. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcalled.pp +0 -3
  1330. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller.pp +0 -3
  1331. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/functions/puppetcaller4.pp +0 -3
  1332. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller.rb +0 -5
  1333. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/caller_ws.rb +0 -12
  1334. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/lib/puppet/functions/user/callingpuppet.rb +0 -5
  1335. data/spec/fixtures/unit/pops/loaders/loaders/mix_4x_and_3x_functions/user/metadata.json +0 -9
  1336. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/functions/hello.pp +0 -3
  1337. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/manifests/init.pp +0 -3
  1338. data/spec/fixtures/unit/pops/loaders/loaders/module_no_lib/modules/modulea/metadata.json +0 -10
  1339. data/spec/fixtures/unit/pops/loaders/loaders/no_modules/manifests/site.pp +0 -10
  1340. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/hello.pp +0 -3
  1341. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/functions/subspace/hello.pp +0 -3
  1342. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/modulea/rb_func_a.rb +0 -5
  1343. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/lib/puppet/functions/rb_func_a.rb +0 -5
  1344. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/manifests/init.pp +0 -3
  1345. data/spec/fixtures/unit/pops/loaders/loaders/single_module/modules/modulea/metadata.json +0 -10
  1346. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/lib/puppet/functions/moduleb/rb_func_b.rb +0 -6
  1347. data/spec/fixtures/unit/pops/loaders/loaders/wo_metadata_module/modules/moduleb/manifests/init.pp +0 -3
  1348. data/spec/fixtures/unit/pops/parser/lexer/aliastest.pp +0 -16
  1349. data/spec/fixtures/unit/pops/parser/lexer/append.pp +0 -11
  1350. data/spec/fixtures/unit/pops/parser/lexer/argumentdefaults.pp +0 -14
  1351. data/spec/fixtures/unit/pops/parser/lexer/arithmetic_expression.pp +0 -8
  1352. data/spec/fixtures/unit/pops/parser/lexer/arraytrailingcomma.pp +0 -3
  1353. data/spec/fixtures/unit/pops/parser/lexer/casestatement.pp +0 -65
  1354. data/spec/fixtures/unit/pops/parser/lexer/classheirarchy.pp +0 -15
  1355. data/spec/fixtures/unit/pops/parser/lexer/classincludes.pp +0 -17
  1356. data/spec/fixtures/unit/pops/parser/lexer/classpathtest.pp +0 -11
  1357. data/spec/fixtures/unit/pops/parser/lexer/collection.pp +0 -10
  1358. data/spec/fixtures/unit/pops/parser/lexer/collection_override.pp +0 -8
  1359. data/spec/fixtures/unit/pops/parser/lexer/collection_within_virtual_definitions.pp +0 -20
  1360. data/spec/fixtures/unit/pops/parser/lexer/componentmetaparams.pp +0 -11
  1361. data/spec/fixtures/unit/pops/parser/lexer/componentrequire.pp +0 -8
  1362. data/spec/fixtures/unit/pops/parser/lexer/deepclassheirarchy.pp +0 -23
  1363. data/spec/fixtures/unit/pops/parser/lexer/defineoverrides.pp +0 -17
  1364. data/spec/fixtures/unit/pops/parser/lexer/emptyclass.pp +0 -9
  1365. data/spec/fixtures/unit/pops/parser/lexer/emptyexec.pp +0 -3
  1366. data/spec/fixtures/unit/pops/parser/lexer/emptyifelse.pp +0 -9
  1367. data/spec/fixtures/unit/pops/parser/lexer/falsevalues.pp +0 -3
  1368. data/spec/fixtures/unit/pops/parser/lexer/filecreate.pp +0 -11
  1369. data/spec/fixtures/unit/pops/parser/lexer/fqdefinition.pp +0 -5
  1370. data/spec/fixtures/unit/pops/parser/lexer/fqparents.pp +0 -11
  1371. data/spec/fixtures/unit/pops/parser/lexer/funccomma.pp +0 -5
  1372. data/spec/fixtures/unit/pops/parser/lexer/hash.pp +0 -33
  1373. data/spec/fixtures/unit/pops/parser/lexer/ifexpression.pp +0 -12
  1374. data/spec/fixtures/unit/pops/parser/lexer/implicititeration.pp +0 -15
  1375. data/spec/fixtures/unit/pops/parser/lexer/multilinecomments.pp +0 -10
  1376. data/spec/fixtures/unit/pops/parser/lexer/multipleclass.pp +0 -9
  1377. data/spec/fixtures/unit/pops/parser/lexer/multipleinstances.pp +0 -7
  1378. data/spec/fixtures/unit/pops/parser/lexer/multisubs.pp +0 -13
  1379. data/spec/fixtures/unit/pops/parser/lexer/namevartest.pp +0 -9
  1380. data/spec/fixtures/unit/pops/parser/lexer/scopetest.pp +0 -13
  1381. data/spec/fixtures/unit/pops/parser/lexer/selectorvalues.pp +0 -49
  1382. data/spec/fixtures/unit/pops/parser/lexer/simpledefaults.pp +0 -5
  1383. data/spec/fixtures/unit/pops/parser/lexer/simpleselector.pp +0 -38
  1384. data/spec/fixtures/unit/pops/parser/lexer/singleary.pp +0 -19
  1385. data/spec/fixtures/unit/pops/parser/lexer/singlequote.pp +0 -11
  1386. data/spec/fixtures/unit/pops/parser/lexer/singleselector.pp +0 -22
  1387. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -11
  1388. data/spec/fixtures/unit/pops/parser/lexer/tag.pp +0 -9
  1389. data/spec/fixtures/unit/pops/parser/lexer/tagged.pp +0 -35
  1390. data/spec/fixtures/unit/pops/parser/lexer/virtualresources.pp +0 -14
  1391. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_input.out +0 -1
  1392. data/spec/fixtures/unit/provider/aix_object/aix_colon_list_real_world_output.out +0 -1
  1393. data/spec/fixtures/unit/provider/cron/crontab/single_line.yaml +0 -272
  1394. data/spec/fixtures/unit/provider/cron/crontab/vixie_header.txt +0 -3
  1395. data/spec/fixtures/unit/provider/cron/parsed/managed +0 -6
  1396. data/spec/fixtures/unit/provider/cron/parsed/simple +0 -9
  1397. data/spec/fixtures/unit/provider/package/dnfmodule/dnf-module-list.txt +0 -19
  1398. data/spec/fixtures/unit/provider/package/gem/gem-list-single-package +0 -4
  1399. data/spec/fixtures/unit/provider/package/gem/line-with-1.8.5-warning +0 -14
  1400. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.detail +0 -19
  1401. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.list +0 -10
  1402. data/spec/fixtures/unit/provider/package/openbsd/pkginfo.query +0 -1
  1403. data/spec/fixtures/unit/provider/package/openbsd/pkginfo_flavors.list +0 -2
  1404. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +0 -3
  1405. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +0 -1
  1406. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +0 -2
  1407. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +0 -1
  1408. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +0 -1
  1409. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +0 -1
  1410. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +0 -1
  1411. data/spec/fixtures/unit/provider/package/pkg/incomplete +0 -1
  1412. data/spec/fixtures/unit/provider/package/pkg/solaris11 +0 -2
  1413. data/spec/fixtures/unit/provider/package/pkg/unknown_status +0 -12
  1414. data/spec/fixtures/unit/provider/package/pkgng/pkg.query +0 -7
  1415. data/spec/fixtures/unit/provider/package/pkgng/pkg.query.zsh +0 -1
  1416. data/spec/fixtures/unit/provider/package/pkgng/pkg.version +0 -5
  1417. data/spec/fixtures/unit/provider/package/puppetserver_gem/gem-list-local-packages +0 -30
  1418. data/spec/fixtures/unit/provider/package/sun/dummy.server +0 -12
  1419. data/spec/fixtures/unit/provider/package/sun/simple +0 -24
  1420. data/spec/fixtures/unit/provider/package/yum/yum-check-update-broken-notices.txt +0 -187
  1421. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +0 -201
  1422. data/spec/fixtures/unit/provider/package/yum/yum-check-update-obsoletes.txt +0 -195
  1423. data/spec/fixtures/unit/provider/package/yum/yum-check-update-plugin-output.txt +0 -36
  1424. data/spec/fixtures/unit/provider/package/yum/yum-check-update-security.txt +0 -184
  1425. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +0 -13
  1426. data/spec/fixtures/unit/provider/package/yum/yum-check-update-subscription-manager.txt +0 -9
  1427. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-SLES11sp1.out +0 -369
  1428. data/spec/fixtures/unit/provider/package/zypper/zypper-list-updates-empty.out +0 -3
  1429. data/spec/fixtures/unit/provider/package/zypper/zypper-search-uninstalled.out +0 -13
  1430. data/spec/fixtures/unit/provider/parsedfile/aliases.txt +0 -2
  1431. data/spec/fixtures/unit/provider/parsedfile/simple.txt +0 -7
  1432. data/spec/fixtures/unit/provider/service/base/ps_ef.mixed_encoding +0 -3
  1433. data/spec/fixtures/unit/provider/service/gentoo/rc_update_show +0 -30
  1434. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +0 -6
  1435. data/spec/fixtures/unit/provider/service/openrc/rcservice_list +0 -8
  1436. data/spec/fixtures/unit/provider/service/openrc/rcstatus +0 -43
  1437. data/spec/fixtures/unit/provider/service/smf/svcs_fmri.out +0 -6
  1438. data/spec/fixtures/unit/provider/service/smf/svcs_instances.out +0 -4
  1439. data/spec/fixtures/unit/provider/service/smf/svcs_multiple_fmris.out +0 -13
  1440. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services +0 -16
  1441. data/spec/fixtures/unit/provider/service/systemd/list_unit_files_services_vendor_preset +0 -9
  1442. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +0 -36
  1443. data/spec/fixtures/unit/reports/tagmail/tagmail_email.conf +0 -2
  1444. data/spec/fixtures/unit/reports/tagmail/tagmail_failers.conf +0 -3
  1445. data/spec/fixtures/unit/reports/tagmail/tagmail_passers.conf +0 -30
  1446. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +0 -33
  1447. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +0 -28
  1448. data/spec/fixtures/unit/type/user/authorized_keys +0 -6
  1449. data/spec/fixtures/unit/util/filetype/aixtab_output +0 -44
  1450. data/spec/fixtures/unit/util/filetype/suntab_output +0 -9
  1451. data/spec/fixtures/unit/util/monkey_patches/x509.pem +0 -32
  1452. data/spec/fixtures/unit/util/rdoc/basic.pp +0 -16
  1453. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_fetch_if_not_on_the_local_disk.yml +0 -104
  1454. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_not_update_if_content_on_disk_is_up-to-date.yml +0 -108
  1455. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_md5/should_update_if_content_differs_on_disk.yml +0 -108
  1456. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_mtime_is_older_on_disk.yml +0 -104
  1457. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_no_header_specified.yml +0 -100
  1458. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_fetch_if_not_on_the_local_disk.yml +0 -104
  1459. data/spec/fixtures/vcr/cassettes/Puppet_Type_File/when_sourcing/from_http/using_mtime/should_not_update_if_mtime_is_newer_on_disk.yml +0 -104
  1460. data/spec/fixtures/yaml/report2.6.x.yaml +0 -190
  1461. data/spec/fixtures/yaml/test.local.yaml +0 -16
  1462. data/spec/integration/agent/logging_spec.rb +0 -179
  1463. data/spec/integration/application/agent_spec.rb +0 -1054
  1464. data/spec/integration/application/apply_spec.rb +0 -781
  1465. data/spec/integration/application/doc_spec.rb +0 -24
  1466. data/spec/integration/application/filebucket_spec.rb +0 -255
  1467. data/spec/integration/application/help_spec.rb +0 -44
  1468. data/spec/integration/application/lookup_spec.rb +0 -275
  1469. data/spec/integration/application/module_spec.rb +0 -230
  1470. data/spec/integration/application/plugin_spec.rb +0 -145
  1471. data/spec/integration/application/resource_spec.rb +0 -68
  1472. data/spec/integration/application/ssl_spec.rb +0 -20
  1473. data/spec/integration/configurer_spec.rb +0 -166
  1474. data/spec/integration/data_binding_spec.rb +0 -278
  1475. data/spec/integration/defaults_spec.rb +0 -279
  1476. data/spec/integration/directory_environments_spec.rb +0 -67
  1477. data/spec/integration/environments/default_manifest_spec.rb +0 -215
  1478. data/spec/integration/environments/setting_hooks_spec.rb +0 -27
  1479. data/spec/integration/environments/settings_interpolation_spec.rb +0 -106
  1480. data/spec/integration/environments/settings_spec.rb +0 -128
  1481. data/spec/integration/http/client_spec.rb +0 -229
  1482. data/spec/integration/indirector/catalog/compiler_spec.rb +0 -75
  1483. data/spec/integration/indirector/direct_file_server_spec.rb +0 -90
  1484. data/spec/integration/indirector/facts/facter_spec.rb +0 -168
  1485. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -106
  1486. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -75
  1487. data/spec/integration/l10n/compiler_spec.rb +0 -37
  1488. data/spec/integration/network/formats_spec.rb +0 -90
  1489. data/spec/integration/network/http/api/indirected_routes_spec.rb +0 -60
  1490. data/spec/integration/network/http_pool_spec.rb +0 -275
  1491. data/spec/integration/node/environment_spec.rb +0 -170
  1492. data/spec/integration/node/facts_spec.rb +0 -40
  1493. data/spec/integration/node_spec.rb +0 -77
  1494. data/spec/integration/parser/catalog_spec.rb +0 -68
  1495. data/spec/integration/parser/class_spec.rb +0 -33
  1496. data/spec/integration/parser/collection_spec.rb +0 -362
  1497. data/spec/integration/parser/compiler_spec.rb +0 -1221
  1498. data/spec/integration/parser/conditionals_spec.rb +0 -95
  1499. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -66
  1500. data/spec/integration/parser/environment_spec.rb +0 -47
  1501. data/spec/integration/parser/node_spec.rb +0 -163
  1502. data/spec/integration/parser/parameter_defaults_spec.rb +0 -358
  1503. data/spec/integration/parser/pcore_resource_spec.rb +0 -243
  1504. data/spec/integration/parser/resource_expressions_spec.rb +0 -222
  1505. data/spec/integration/parser/scope_spec.rb +0 -735
  1506. data/spec/integration/parser/script_compiler_spec.rb +0 -113
  1507. data/spec/integration/parser/undef_param_spec.rb +0 -95
  1508. data/spec/integration/provider/file/windows_spec.rb +0 -162
  1509. data/spec/integration/resource/catalog_spec.rb +0 -47
  1510. data/spec/integration/resource/type_collection_spec.rb +0 -88
  1511. data/spec/integration/transaction/report_spec.rb +0 -706
  1512. data/spec/integration/transaction_spec.rb +0 -553
  1513. data/spec/integration/type/exec_spec.rb +0 -114
  1514. data/spec/integration/type/file_spec.rb +0 -2012
  1515. data/spec/integration/type/notify_spec.rb +0 -46
  1516. data/spec/integration/type/package_spec.rb +0 -200
  1517. data/spec/integration/type/tidy_spec.rb +0 -45
  1518. data/spec/integration/type_spec.rb +0 -30
  1519. data/spec/integration/util/autoload_spec.rb +0 -104
  1520. data/spec/integration/util/execution_spec.rb +0 -104
  1521. data/spec/integration/util/rdoc/parser_spec.rb +0 -171
  1522. data/spec/integration/util/settings_spec.rb +0 -115
  1523. data/spec/integration/util/windows/adsi_spec.rb +0 -207
  1524. data/spec/integration/util/windows/monkey_patches/process_spec.rb +0 -231
  1525. data/spec/integration/util/windows/principal_spec.rb +0 -279
  1526. data/spec/integration/util/windows/process_spec.rb +0 -96
  1527. data/spec/integration/util/windows/registry_spec.rb +0 -334
  1528. data/spec/integration/util/windows/security_spec.rb +0 -1010
  1529. data/spec/integration/util/windows/user_spec.rb +0 -226
  1530. data/spec/integration/util_spec.rb +0 -104
  1531. data/spec/lib/matchers/containment_matchers.rb +0 -52
  1532. data/spec/lib/matchers/include_in_order.rb +0 -20
  1533. data/spec/lib/matchers/include_in_order_spec.rb +0 -30
  1534. data/spec/lib/matchers/json.rb +0 -132
  1535. data/spec/lib/matchers/match_tokens2.rb +0 -74
  1536. data/spec/lib/matchers/relationship_graph_matchers.rb +0 -48
  1537. data/spec/lib/matchers/resource.rb +0 -74
  1538. data/spec/lib/puppet/certificate_factory.rb +0 -218
  1539. data/spec/lib/puppet/face/1.0.0/huzzah.rb +0 -8
  1540. data/spec/lib/puppet/face/basetest.rb +0 -51
  1541. data/spec/lib/puppet/face/huzzah/obsolete.rb +0 -6
  1542. data/spec/lib/puppet/face/huzzah.rb +0 -8
  1543. data/spec/lib/puppet/face/version_matching.rb +0 -12
  1544. data/spec/lib/puppet/indirector/indirector_testing/json.rb +0 -6
  1545. data/spec/lib/puppet/indirector/indirector_testing/memory.rb +0 -7
  1546. data/spec/lib/puppet/indirector/indirector_testing/msgpack.rb +0 -6
  1547. data/spec/lib/puppet/indirector_proxy.rb +0 -34
  1548. data/spec/lib/puppet/indirector_testing.rb +0 -31
  1549. data/spec/lib/puppet/test_ca.rb +0 -157
  1550. data/spec/lib/puppet_spec/character_encoding.rb +0 -12
  1551. data/spec/lib/puppet_spec/compiler.rb +0 -112
  1552. data/spec/lib/puppet_spec/files.rb +0 -107
  1553. data/spec/lib/puppet_spec/fixtures.rb +0 -52
  1554. data/spec/lib/puppet_spec/handler.rb +0 -53
  1555. data/spec/lib/puppet_spec/https.rb +0 -95
  1556. data/spec/lib/puppet_spec/language.rb +0 -75
  1557. data/spec/lib/puppet_spec/matchers.rb +0 -68
  1558. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +0 -56
  1559. data/spec/lib/puppet_spec/module_tool/stub_source.rb +0 -136
  1560. data/spec/lib/puppet_spec/modules.rb +0 -82
  1561. data/spec/lib/puppet_spec/network.rb +0 -127
  1562. data/spec/lib/puppet_spec/pops.rb +0 -29
  1563. data/spec/lib/puppet_spec/puppetserver.rb +0 -179
  1564. data/spec/lib/puppet_spec/scope.rb +0 -13
  1565. data/spec/lib/puppet_spec/settings.rb +0 -39
  1566. data/spec/lib/puppet_spec/ssl.rb +0 -265
  1567. data/spec/lib/puppet_spec/unindent.rb +0 -5
  1568. data/spec/lib/puppet_spec/verbose.rb +0 -18
  1569. data/spec/shared_behaviours/all_parsedfile_providers.rb +0 -21
  1570. data/spec/shared_behaviours/an_indirector_face.rb +0 -6
  1571. data/spec/shared_behaviours/documentation_on_faces.rb +0 -261
  1572. data/spec/shared_behaviours/file_server_terminus.rb +0 -38
  1573. data/spec/shared_behaviours/file_serving.rb +0 -73
  1574. data/spec/shared_behaviours/hiera_indirections.rb +0 -98
  1575. data/spec/shared_behaviours/iterative_functions.rb +0 -68
  1576. data/spec/shared_behaviours/memory_terminus.rb +0 -28
  1577. data/spec/shared_behaviours/path_parameters.rb +0 -160
  1578. data/spec/shared_behaviours/store_configs_terminus.rb +0 -21
  1579. data/spec/shared_behaviours/things_that_declare_options.rb +0 -262
  1580. data/spec/shared_contexts/checksum.rb +0 -65
  1581. data/spec/shared_contexts/digests.rb +0 -100
  1582. data/spec/shared_contexts/https.rb +0 -29
  1583. data/spec/shared_contexts/l10n.rb +0 -32
  1584. data/spec/shared_contexts/provider.rb +0 -16
  1585. data/spec/shared_contexts/types_setup.rb +0 -204
  1586. data/spec/shared_examples/rhel_package_provider.rb +0 -398
  1587. data/spec/spec_helper.rb +0 -240
  1588. data/spec/unit/agent/disabler_spec.rb +0 -63
  1589. data/spec/unit/agent/locker_spec.rb +0 -99
  1590. data/spec/unit/agent_spec.rb +0 -416
  1591. data/spec/unit/application/agent_spec.rb +0 -640
  1592. data/spec/unit/application/apply_spec.rb +0 -559
  1593. data/spec/unit/application/config_spec.rb +0 -232
  1594. data/spec/unit/application/describe_spec.rb +0 -135
  1595. data/spec/unit/application/device_spec.rb +0 -616
  1596. data/spec/unit/application/doc_spec.rb +0 -333
  1597. data/spec/unit/application/face_base_spec.rb +0 -454
  1598. data/spec/unit/application/facts_spec.rb +0 -139
  1599. data/spec/unit/application/filebucket_spec.rb +0 -319
  1600. data/spec/unit/application/indirection_base_spec.rb +0 -50
  1601. data/spec/unit/application/lookup_spec.rb +0 -698
  1602. data/spec/unit/application/resource_spec.rb +0 -229
  1603. data/spec/unit/application/ssl_spec.rb +0 -507
  1604. data/spec/unit/application_spec.rb +0 -730
  1605. data/spec/unit/certificate_factory_spec.rb +0 -170
  1606. data/spec/unit/concurrent/lock_spec.rb +0 -29
  1607. data/spec/unit/concurrent/thread_local_singleton_spec.rb +0 -39
  1608. data/spec/unit/configurer/downloader_spec.rb +0 -252
  1609. data/spec/unit/configurer/fact_handler_spec.rb +0 -147
  1610. data/spec/unit/configurer/plugin_handler_spec.rb +0 -152
  1611. data/spec/unit/configurer_spec.rb +0 -1488
  1612. data/spec/unit/confine/exists_spec.rb +0 -82
  1613. data/spec/unit/confine/false_spec.rb +0 -78
  1614. data/spec/unit/confine/feature_spec.rb +0 -59
  1615. data/spec/unit/confine/true_spec.rb +0 -78
  1616. data/spec/unit/confine/variable_spec.rb +0 -105
  1617. data/spec/unit/confine_collection_spec.rb +0 -132
  1618. data/spec/unit/confine_spec.rb +0 -99
  1619. data/spec/unit/confiner_spec.rb +0 -61
  1620. data/spec/unit/context/trusted_information_spec.rb +0 -213
  1621. data/spec/unit/context_spec.rb +0 -217
  1622. data/spec/unit/daemon_spec.rb +0 -193
  1623. data/spec/unit/data_binding_spec.rb +0 -11
  1624. data/spec/unit/data_providers/function_data_provider_spec.rb +0 -122
  1625. data/spec/unit/data_providers/hiera_data_provider_spec.rb +0 -362
  1626. data/spec/unit/datatypes_spec.rb +0 -352
  1627. data/spec/unit/defaults_spec.rb +0 -182
  1628. data/spec/unit/environments_spec.rb +0 -1186
  1629. data/spec/unit/etc_spec.rb +0 -465
  1630. data/spec/unit/external/pson_spec.rb +0 -58
  1631. data/spec/unit/face/config_spec.rb +0 -402
  1632. data/spec/unit/face/epp_face_spec.rb +0 -385
  1633. data/spec/unit/face/facts_spec.rb +0 -78
  1634. data/spec/unit/face/generate_spec.rb +0 -293
  1635. data/spec/unit/face/help_spec.rb +0 -208
  1636. data/spec/unit/face/module/install_spec.rb +0 -40
  1637. data/spec/unit/face/module/list_spec.rb +0 -256
  1638. data/spec/unit/face/module/uninstall_spec.rb +0 -45
  1639. data/spec/unit/face/module/upgrade_spec.rb +0 -26
  1640. data/spec/unit/face/node_spec.rb +0 -129
  1641. data/spec/unit/face/parser_spec.rb +0 -310
  1642. data/spec/unit/face/plugin_spec.rb +0 -158
  1643. data/spec/unit/face_spec.rb +0 -1
  1644. data/spec/unit/facter_impl_spec.rb +0 -31
  1645. data/spec/unit/file_bucket/dipper_spec.rb +0 -405
  1646. data/spec/unit/file_bucket/file_spec.rb +0 -58
  1647. data/spec/unit/file_serving/base_spec.rb +0 -164
  1648. data/spec/unit/file_serving/configuration/parser_spec.rb +0 -206
  1649. data/spec/unit/file_serving/configuration_spec.rb +0 -240
  1650. data/spec/unit/file_serving/content_spec.rb +0 -98
  1651. data/spec/unit/file_serving/fileset_spec.rb +0 -417
  1652. data/spec/unit/file_serving/http_metadata_spec.rb +0 -109
  1653. data/spec/unit/file_serving/metadata_spec.rb +0 -551
  1654. data/spec/unit/file_serving/mount/file_spec.rb +0 -188
  1655. data/spec/unit/file_serving/mount/locales_spec.rb +0 -72
  1656. data/spec/unit/file_serving/mount/modules_spec.rb +0 -69
  1657. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +0 -72
  1658. data/spec/unit/file_serving/mount/plugins_spec.rb +0 -72
  1659. data/spec/unit/file_serving/mount/scripts_spec.rb +0 -69
  1660. data/spec/unit/file_serving/mount/tasks_spec.rb +0 -71
  1661. data/spec/unit/file_serving/mount_spec.rb +0 -30
  1662. data/spec/unit/file_serving/terminus_helper_spec.rb +0 -114
  1663. data/spec/unit/file_serving/terminus_selector_spec.rb +0 -84
  1664. data/spec/unit/file_system/path_pattern_spec.rb +0 -153
  1665. data/spec/unit/file_system/uniquefile_spec.rb +0 -245
  1666. data/spec/unit/file_system_spec.rb +0 -1198
  1667. data/spec/unit/forge/errors_spec.rb +0 -80
  1668. data/spec/unit/forge/forge_spec.rb +0 -69
  1669. data/spec/unit/forge/module_release_spec.rb +0 -331
  1670. data/spec/unit/forge/repository_spec.rb +0 -154
  1671. data/spec/unit/forge_spec.rb +0 -210
  1672. data/spec/unit/functions/abs_spec.rb +0 -70
  1673. data/spec/unit/functions/all_spec.rb +0 -97
  1674. data/spec/unit/functions/annotate_spec.rb +0 -175
  1675. data/spec/unit/functions/any_spec.rb +0 -109
  1676. data/spec/unit/functions/assert_type_spec.rb +0 -97
  1677. data/spec/unit/functions/binary_file_spec.rb +0 -46
  1678. data/spec/unit/functions/break_spec.rb +0 -207
  1679. data/spec/unit/functions/call_spec.rb +0 -131
  1680. data/spec/unit/functions/camelcase_spec.rb +0 -34
  1681. data/spec/unit/functions/capitalize_spec.rb +0 -34
  1682. data/spec/unit/functions/ceiling_spec.rb +0 -65
  1683. data/spec/unit/functions/chomp_spec.rb +0 -46
  1684. data/spec/unit/functions/chop_spec.rb +0 -38
  1685. data/spec/unit/functions/compare_spec.rb +0 -147
  1686. data/spec/unit/functions/contain_spec.rb +0 -297
  1687. data/spec/unit/functions/convert_to_spec.rb +0 -25
  1688. data/spec/unit/functions/defined_spec.rb +0 -288
  1689. data/spec/unit/functions/dig_spec.rb +0 -58
  1690. data/spec/unit/functions/downcase_spec.rb +0 -34
  1691. data/spec/unit/functions/each_spec.rb +0 -107
  1692. data/spec/unit/functions/empty_spec.rb +0 -87
  1693. data/spec/unit/functions/epp_spec.rb +0 -178
  1694. data/spec/unit/functions/filter_spec.rb +0 -145
  1695. data/spec/unit/functions/find_file_spec.rb +0 -69
  1696. data/spec/unit/functions/find_template_spec.rb +0 -69
  1697. data/spec/unit/functions/flatten_spec.rb +0 -31
  1698. data/spec/unit/functions/floor_spec.rb +0 -65
  1699. data/spec/unit/functions/get_spec.rb +0 -135
  1700. data/spec/unit/functions/getvar_spec.rb +0 -121
  1701. data/spec/unit/functions/group_by_spec.rb +0 -40
  1702. data/spec/unit/functions/hiera_spec.rb +0 -495
  1703. data/spec/unit/functions/include_spec.rb +0 -186
  1704. data/spec/unit/functions/index_spec.rb +0 -184
  1705. data/spec/unit/functions/inline_epp_spec.rb +0 -120
  1706. data/spec/unit/functions/join_spec.rb +0 -33
  1707. data/spec/unit/functions/keys_spec.rb +0 -31
  1708. data/spec/unit/functions/length_spec.rb +0 -50
  1709. data/spec/unit/functions/lest_spec.rb +0 -34
  1710. data/spec/unit/functions/logging_spec.rb +0 -62
  1711. data/spec/unit/functions/lookup_fixture_spec.rb +0 -687
  1712. data/spec/unit/functions/lookup_spec.rb +0 -3415
  1713. data/spec/unit/functions/lstrip_spec.rb +0 -30
  1714. data/spec/unit/functions/map_spec.rb +0 -163
  1715. data/spec/unit/functions/match_spec.rb +0 -74
  1716. data/spec/unit/functions/max_spec.rb +0 -158
  1717. data/spec/unit/functions/min_spec.rb +0 -158
  1718. data/spec/unit/functions/module_directory_spec.rb +0 -43
  1719. data/spec/unit/functions/new_spec.rb +0 -776
  1720. data/spec/unit/functions/next_spec.rb +0 -93
  1721. data/spec/unit/functions/partition_spec.rb +0 -40
  1722. data/spec/unit/functions/reduce_spec.rb +0 -85
  1723. data/spec/unit/functions/regsubst_spec.rb +0 -114
  1724. data/spec/unit/functions/require_spec.rb +0 -82
  1725. data/spec/unit/functions/return_spec.rb +0 -109
  1726. data/spec/unit/functions/reverse_each_spec.rb +0 -108
  1727. data/spec/unit/functions/round_spec.rb +0 -41
  1728. data/spec/unit/functions/rstrip_spec.rb +0 -30
  1729. data/spec/unit/functions/scanf_spec.rb +0 -32
  1730. data/spec/unit/functions/shared.rb +0 -94
  1731. data/spec/unit/functions/size_spec.rb +0 -50
  1732. data/spec/unit/functions/slice_spec.rb +0 -136
  1733. data/spec/unit/functions/sort_spec.rb +0 -79
  1734. data/spec/unit/functions/split_spec.rb +0 -59
  1735. data/spec/unit/functions/step_spec.rb +0 -113
  1736. data/spec/unit/functions/strftime_spec.rb +0 -152
  1737. data/spec/unit/functions/strip_spec.rb +0 -30
  1738. data/spec/unit/functions/then_spec.rb +0 -40
  1739. data/spec/unit/functions/tree_each_spec.rb +0 -493
  1740. data/spec/unit/functions/type_spec.rb +0 -35
  1741. data/spec/unit/functions/unique_spec.rb +0 -111
  1742. data/spec/unit/functions/unwrap_spec.rb +0 -37
  1743. data/spec/unit/functions/upcase_spec.rb +0 -34
  1744. data/spec/unit/functions/values_spec.rb +0 -30
  1745. data/spec/unit/functions/versioncmp_spec.rb +0 -70
  1746. data/spec/unit/functions/with_spec.rb +0 -31
  1747. data/spec/unit/functions4_spec.rb +0 -1046
  1748. data/spec/unit/gettext/config_spec.rb +0 -156
  1749. data/spec/unit/gettext/module_loading_spec.rb +0 -53
  1750. data/spec/unit/graph/key_spec.rb +0 -41
  1751. data/spec/unit/graph/rb_tree_map_spec.rb +0 -570
  1752. data/spec/unit/graph/relationship_graph_spec.rb +0 -401
  1753. data/spec/unit/graph/sequential_prioritizer_spec.rb +0 -32
  1754. data/spec/unit/graph/simple_graph_spec.rb +0 -759
  1755. data/spec/unit/hiera/scope_spec.rb +0 -105
  1756. data/spec/unit/hiera_puppet_spec.rb +0 -159
  1757. data/spec/unit/http/client_spec.rb +0 -937
  1758. data/spec/unit/http/dns_spec.rb +0 -281
  1759. data/spec/unit/http/external_client_spec.rb +0 -201
  1760. data/spec/unit/http/factory_spec.rb +0 -160
  1761. data/spec/unit/http/pool_entry_spec.rb +0 -49
  1762. data/spec/unit/http/pool_spec.rb +0 -401
  1763. data/spec/unit/http/proxy_spec.rb +0 -347
  1764. data/spec/unit/http/resolver_spec.rb +0 -133
  1765. data/spec/unit/http/response_spec.rb +0 -75
  1766. data/spec/unit/http/service/ca_spec.rb +0 -281
  1767. data/spec/unit/http/service/compiler_spec.rb +0 -746
  1768. data/spec/unit/http/service/file_server_spec.rb +0 -309
  1769. data/spec/unit/http/service/puppetserver_spec.rb +0 -112
  1770. data/spec/unit/http/service/report_spec.rb +0 -107
  1771. data/spec/unit/http/service_spec.rb +0 -137
  1772. data/spec/unit/http/session_spec.rb +0 -309
  1773. data/spec/unit/http/site_spec.rb +0 -96
  1774. data/spec/unit/indirector/catalog/compiler_spec.rb +0 -1221
  1775. data/spec/unit/indirector/catalog/json_spec.rb +0 -66
  1776. data/spec/unit/indirector/catalog/msgpack_spec.rb +0 -11
  1777. data/spec/unit/indirector/catalog/rest_spec.rb +0 -74
  1778. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -16
  1779. data/spec/unit/indirector/catalog/yaml_spec.rb +0 -23
  1780. data/spec/unit/indirector/data_binding/hiera_spec.rb +0 -19
  1781. data/spec/unit/indirector/data_binding/none_spec.rb +0 -28
  1782. data/spec/unit/indirector/direct_file_server_spec.rb +0 -87
  1783. data/spec/unit/indirector/envelope_spec.rb +0 -32
  1784. data/spec/unit/indirector/exec_spec.rb +0 -63
  1785. data/spec/unit/indirector/face_spec.rb +0 -80
  1786. data/spec/unit/indirector/facts/facter_spec.rb +0 -290
  1787. data/spec/unit/indirector/facts/json_spec.rb +0 -255
  1788. data/spec/unit/indirector/facts/network_device_spec.rb +0 -77
  1789. data/spec/unit/indirector/facts/rest_spec.rb +0 -99
  1790. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -16
  1791. data/spec/unit/indirector/facts/yaml_spec.rb +0 -255
  1792. data/spec/unit/indirector/file_bucket_file/file_spec.rb +0 -426
  1793. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +0 -89
  1794. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +0 -46
  1795. data/spec/unit/indirector/file_content/file_server_spec.rb +0 -13
  1796. data/spec/unit/indirector/file_content/file_spec.rb +0 -13
  1797. data/spec/unit/indirector/file_content/rest_spec.rb +0 -60
  1798. data/spec/unit/indirector/file_content/selector_spec.rb +0 -9
  1799. data/spec/unit/indirector/file_metadata/file_server_spec.rb +0 -13
  1800. data/spec/unit/indirector/file_metadata/file_spec.rb +0 -57
  1801. data/spec/unit/indirector/file_metadata/http_spec.rb +0 -194
  1802. data/spec/unit/indirector/file_metadata/rest_spec.rb +0 -116
  1803. data/spec/unit/indirector/file_metadata/selector_spec.rb +0 -10
  1804. data/spec/unit/indirector/file_server_spec.rb +0 -288
  1805. data/spec/unit/indirector/hiera_spec.rb +0 -22
  1806. data/spec/unit/indirector/indirection_spec.rb +0 -916
  1807. data/spec/unit/indirector/json_spec.rb +0 -200
  1808. data/spec/unit/indirector/memory_spec.rb +0 -26
  1809. data/spec/unit/indirector/msgpack_spec.rb +0 -199
  1810. data/spec/unit/indirector/node/exec_spec.rb +0 -107
  1811. data/spec/unit/indirector/node/json_spec.rb +0 -33
  1812. data/spec/unit/indirector/node/memory_spec.rb +0 -16
  1813. data/spec/unit/indirector/node/msgpack_spec.rb +0 -23
  1814. data/spec/unit/indirector/node/plain_spec.rb +0 -34
  1815. data/spec/unit/indirector/node/rest_spec.rb +0 -66
  1816. data/spec/unit/indirector/node/store_configs_spec.rb +0 -16
  1817. data/spec/unit/indirector/node/yaml_spec.rb +0 -23
  1818. data/spec/unit/indirector/none_spec.rb +0 -33
  1819. data/spec/unit/indirector/plain_spec.rb +0 -26
  1820. data/spec/unit/indirector/report/json_spec.rb +0 -72
  1821. data/spec/unit/indirector/report/msgpack_spec.rb +0 -27
  1822. data/spec/unit/indirector/report/processor_spec.rb +0 -99
  1823. data/spec/unit/indirector/report/rest_spec.rb +0 -58
  1824. data/spec/unit/indirector/report/yaml_spec.rb +0 -91
  1825. data/spec/unit/indirector/request_spec.rb +0 -295
  1826. data/spec/unit/indirector/resource/ral_spec.rb +0 -89
  1827. data/spec/unit/indirector/resource/store_configs_spec.rb +0 -20
  1828. data/spec/unit/indirector/rest_spec.rb +0 -149
  1829. data/spec/unit/indirector/terminus_spec.rb +0 -264
  1830. data/spec/unit/indirector/yaml_spec.rb +0 -188
  1831. data/spec/unit/indirector_spec.rb +0 -148
  1832. data/spec/unit/info_service_spec.rb +0 -575
  1833. data/spec/unit/interface/action_builder_spec.rb +0 -216
  1834. data/spec/unit/interface/action_manager_spec.rb +0 -254
  1835. data/spec/unit/interface/action_spec.rb +0 -670
  1836. data/spec/unit/interface/documentation_spec.rb +0 -32
  1837. data/spec/unit/interface/face_collection_spec.rb +0 -219
  1838. data/spec/unit/interface/option_builder_spec.rb +0 -86
  1839. data/spec/unit/interface/option_spec.rb +0 -156
  1840. data/spec/unit/interface_spec.rb +0 -305
  1841. data/spec/unit/module_spec.rb +0 -985
  1842. data/spec/unit/module_tool/application_spec.rb +0 -25
  1843. data/spec/unit/module_tool/applications/checksummer_spec.rb +0 -115
  1844. data/spec/unit/module_tool/applications/installer_spec.rb +0 -473
  1845. data/spec/unit/module_tool/applications/uninstaller_spec.rb +0 -181
  1846. data/spec/unit/module_tool/applications/unpacker_spec.rb +0 -75
  1847. data/spec/unit/module_tool/applications/upgrader_spec.rb +0 -337
  1848. data/spec/unit/module_tool/install_directory_spec.rb +0 -70
  1849. data/spec/unit/module_tool/installed_modules_spec.rb +0 -49
  1850. data/spec/unit/module_tool/metadata_spec.rb +0 -330
  1851. data/spec/unit/module_tool/tar/gnu_spec.rb +0 -23
  1852. data/spec/unit/module_tool/tar/mini_spec.rb +0 -109
  1853. data/spec/unit/module_tool/tar_spec.rb +0 -36
  1854. data/spec/unit/module_tool_spec.rb +0 -304
  1855. data/spec/unit/network/authconfig_spec.rb +0 -8
  1856. data/spec/unit/network/authorization_spec.rb +0 -8
  1857. data/spec/unit/network/format_handler_spec.rb +0 -93
  1858. data/spec/unit/network/format_spec.rb +0 -205
  1859. data/spec/unit/network/format_support_spec.rb +0 -199
  1860. data/spec/unit/network/formats_spec.rb +0 -584
  1861. data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -425
  1862. data/spec/unit/network/http/api/master_spec.rb +0 -38
  1863. data/spec/unit/network/http/api/server/v3/environments_spec.rb +0 -51
  1864. data/spec/unit/network/http/api/server/v3_spec.rb +0 -78
  1865. data/spec/unit/network/http/api_spec.rb +0 -109
  1866. data/spec/unit/network/http/connection_spec.rb +0 -636
  1867. data/spec/unit/network/http/error_spec.rb +0 -30
  1868. data/spec/unit/network/http/handler_spec.rb +0 -164
  1869. data/spec/unit/network/http/request_spec.rb +0 -108
  1870. data/spec/unit/network/http/response_spec.rb +0 -106
  1871. data/spec/unit/network/http/route_spec.rb +0 -90
  1872. data/spec/unit/network/http_pool_spec.rb +0 -145
  1873. data/spec/unit/network/uri_spec.rb +0 -47
  1874. data/spec/unit/node/environment_spec.rb +0 -612
  1875. data/spec/unit/node/facts_spec.rb +0 -225
  1876. data/spec/unit/node_spec.rb +0 -434
  1877. data/spec/unit/other/selinux_spec.rb +0 -27
  1878. data/spec/unit/parameter/boolean_spec.rb +0 -35
  1879. data/spec/unit/parameter/package_options_spec.rb +0 -43
  1880. data/spec/unit/parameter/path_spec.rb +0 -23
  1881. data/spec/unit/parameter/value_collection_spec.rb +0 -160
  1882. data/spec/unit/parameter/value_spec.rb +0 -82
  1883. data/spec/unit/parameter_spec.rb +0 -272
  1884. data/spec/unit/parser/ast/block_expression_spec.rb +0 -66
  1885. data/spec/unit/parser/ast/leaf_spec.rb +0 -136
  1886. data/spec/unit/parser/compiler_spec.rb +0 -1020
  1887. data/spec/unit/parser/files_spec.rb +0 -101
  1888. data/spec/unit/parser/functions/create_resources_spec.rb +0 -326
  1889. data/spec/unit/parser/functions/digest_spec.rb +0 -26
  1890. data/spec/unit/parser/functions/fail_spec.rb +0 -23
  1891. data/spec/unit/parser/functions/file_spec.rb +0 -99
  1892. data/spec/unit/parser/functions/fqdn_rand_spec.rb +0 -87
  1893. data/spec/unit/parser/functions/generate_spec.rb +0 -124
  1894. data/spec/unit/parser/functions/hiera_array_spec.rb +0 -12
  1895. data/spec/unit/parser/functions/hiera_hash_spec.rb +0 -12
  1896. data/spec/unit/parser/functions/hiera_include_spec.rb +0 -12
  1897. data/spec/unit/parser/functions/hiera_spec.rb +0 -12
  1898. data/spec/unit/parser/functions/inline_template_spec.rb +0 -36
  1899. data/spec/unit/parser/functions/lookup_spec.rb +0 -14
  1900. data/spec/unit/parser/functions/realize_spec.rb +0 -70
  1901. data/spec/unit/parser/functions/regsubst_spec.rb +0 -19
  1902. data/spec/unit/parser/functions/scanf_spec.rb +0 -25
  1903. data/spec/unit/parser/functions/shellquote_spec.rb +0 -66
  1904. data/spec/unit/parser/functions/split_spec.rb +0 -13
  1905. data/spec/unit/parser/functions/sprintf_spec.rb +0 -68
  1906. data/spec/unit/parser/functions/tag_spec.rb +0 -30
  1907. data/spec/unit/parser/functions/tagged_spec.rb +0 -36
  1908. data/spec/unit/parser/functions/template_spec.rb +0 -93
  1909. data/spec/unit/parser/functions/versioncmp_spec.rb +0 -28
  1910. data/spec/unit/parser/functions_spec.rb +0 -156
  1911. data/spec/unit/parser/relationship_spec.rb +0 -74
  1912. data/spec/unit/parser/resource/param_spec.rb +0 -32
  1913. data/spec/unit/parser/resource_spec.rb +0 -657
  1914. data/spec/unit/parser/scope_spec.rb +0 -698
  1915. data/spec/unit/parser/templatewrapper_spec.rb +0 -111
  1916. data/spec/unit/parser/type_loader_spec.rb +0 -202
  1917. data/spec/unit/plan_spec.rb +0 -65
  1918. data/spec/unit/pops/adaptable_spec.rb +0 -139
  1919. data/spec/unit/pops/benchmark_spec.rb +0 -123
  1920. data/spec/unit/pops/containment_spec.rb +0 -0
  1921. data/spec/unit/pops/evaluator/access_ops_spec.rb +0 -560
  1922. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +0 -317
  1923. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +0 -101
  1924. data/spec/unit/pops/evaluator/collections_ops_spec.rb +0 -108
  1925. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +0 -267
  1926. data/spec/unit/pops/evaluator/conditionals_spec.rb +0 -189
  1927. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +0 -46
  1928. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +0 -1639
  1929. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +0 -75
  1930. data/spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb +0 -63
  1931. data/spec/unit/pops/evaluator/literal_evaluator_spec.rb +0 -43
  1932. data/spec/unit/pops/evaluator/logical_ops_spec.rb +0 -89
  1933. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -181
  1934. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +0 -43
  1935. data/spec/unit/pops/evaluator/variables_spec.rb +0 -88
  1936. data/spec/unit/pops/factory_rspec_helper.rb +0 -65
  1937. data/spec/unit/pops/factory_spec.rb +0 -309
  1938. data/spec/unit/pops/issues_spec.rb +0 -210
  1939. data/spec/unit/pops/label_provider_spec.rb +0 -46
  1940. data/spec/unit/pops/loaders/dependency_loader_spec.rb +0 -122
  1941. data/spec/unit/pops/loaders/environment_loader_spec.rb +0 -172
  1942. data/spec/unit/pops/loaders/loader_paths_spec.rb +0 -43
  1943. data/spec/unit/pops/loaders/loader_spec.rb +0 -516
  1944. data/spec/unit/pops/loaders/loaders_spec.rb +0 -863
  1945. data/spec/unit/pops/loaders/module_loaders_spec.rb +0 -268
  1946. data/spec/unit/pops/loaders/static_loader_spec.rb +0 -85
  1947. data/spec/unit/pops/lookup/context_spec.rb +0 -333
  1948. data/spec/unit/pops/lookup/interpolation_spec.rb +0 -389
  1949. data/spec/unit/pops/lookup/lookup_spec.rb +0 -375
  1950. data/spec/unit/pops/merge_strategy_spec.rb +0 -17
  1951. data/spec/unit/pops/migration_spec.rb +0 -51
  1952. data/spec/unit/pops/model/model_spec.rb +0 -41
  1953. data/spec/unit/pops/model/pn_transformer_spec.rb +0 -56
  1954. data/spec/unit/pops/parser/epp_parser_spec.rb +0 -115
  1955. data/spec/unit/pops/parser/evaluating_parser_spec.rb +0 -89
  1956. data/spec/unit/pops/parser/lexer2_spec.rb +0 -942
  1957. data/spec/unit/pops/parser/locator_spec.rb +0 -86
  1958. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +0 -380
  1959. data/spec/unit/pops/parser/parse_calls_spec.rb +0 -171
  1960. data/spec/unit/pops/parser/parse_conditionals_spec.rb +0 -184
  1961. data/spec/unit/pops/parser/parse_containers_spec.rb +0 -247
  1962. data/spec/unit/pops/parser/parse_functions_spec.rb +0 -19
  1963. data/spec/unit/pops/parser/parse_heredoc_spec.rb +0 -276
  1964. data/spec/unit/pops/parser/parse_lambda_spec.rb +0 -19
  1965. data/spec/unit/pops/parser/parse_plan_spec.rb +0 -47
  1966. data/spec/unit/pops/parser/parse_resource_spec.rb +0 -328
  1967. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -17
  1968. data/spec/unit/pops/parser/parser_spec.rb +0 -211
  1969. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -65
  1970. data/spec/unit/pops/parser/pn_parser_spec.rb +0 -100
  1971. data/spec/unit/pops/pn_spec.rb +0 -147
  1972. data/spec/unit/pops/puppet_stack_spec.rb +0 -108
  1973. data/spec/unit/pops/resource/resource_type_impl_spec.rb +0 -37
  1974. data/spec/unit/pops/serialization/packer_spec.rb +0 -162
  1975. data/spec/unit/pops/serialization/serialization_spec.rb +0 -458
  1976. data/spec/unit/pops/serialization/to_from_hr_spec.rb +0 -649
  1977. data/spec/unit/pops/serialization/to_stringified_spec.rb +0 -162
  1978. data/spec/unit/pops/time/timespan_spec.rb +0 -121
  1979. data/spec/unit/pops/time/timestamp_spec.rb +0 -13
  1980. data/spec/unit/pops/types/class_loader_spec.rb +0 -10
  1981. data/spec/unit/pops/types/deferred_spec.rb +0 -87
  1982. data/spec/unit/pops/types/error_spec.rb +0 -207
  1983. data/spec/unit/pops/types/iterable_spec.rb +0 -262
  1984. data/spec/unit/pops/types/p_binary_type_spec.rb +0 -243
  1985. data/spec/unit/pops/types/p_init_type_spec.rb +0 -383
  1986. data/spec/unit/pops/types/p_object_type_spec.rb +0 -1730
  1987. data/spec/unit/pops/types/p_sem_ver_type_spec.rb +0 -340
  1988. data/spec/unit/pops/types/p_sensitive_type_spec.rb +0 -191
  1989. data/spec/unit/pops/types/p_timespan_type_spec.rb +0 -323
  1990. data/spec/unit/pops/types/p_timestamp_type_spec.rb +0 -391
  1991. data/spec/unit/pops/types/p_type_set_type_spec.rb +0 -549
  1992. data/spec/unit/pops/types/p_uri_type_spec.rb +0 -191
  1993. data/spec/unit/pops/types/recursion_guard_spec.rb +0 -93
  1994. data/spec/unit/pops/types/ruby_generator_spec.rb +0 -874
  1995. data/spec/unit/pops/types/string_converter_spec.rb +0 -1202
  1996. data/spec/unit/pops/types/task_spec.rb +0 -411
  1997. data/spec/unit/pops/types/type_acceptor_spec.rb +0 -106
  1998. data/spec/unit/pops/types/type_asserter_spec.rb +0 -43
  1999. data/spec/unit/pops/types/type_calculator_spec.rb +0 -2504
  2000. data/spec/unit/pops/types/type_factory_spec.rb +0 -322
  2001. data/spec/unit/pops/types/type_formatter_spec.rb +0 -427
  2002. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +0 -424
  2003. data/spec/unit/pops/types/type_parser_spec.rb +0 -445
  2004. data/spec/unit/pops/types/types_spec.rb +0 -755
  2005. data/spec/unit/pops/utils_spec.rb +0 -70
  2006. data/spec/unit/pops/validation_spec.rb +0 -66
  2007. data/spec/unit/pops/validator/validator_spec.rb +0 -1029
  2008. data/spec/unit/pops/visitor_spec.rb +0 -93
  2009. data/spec/unit/property/boolean_spec.rb +0 -24
  2010. data/spec/unit/property/ensure_spec.rb +0 -11
  2011. data/spec/unit/property/keyvalue_spec.rb +0 -259
  2012. data/spec/unit/property/list_spec.rb +0 -172
  2013. data/spec/unit/property/ordered_list_spec.rb +0 -59
  2014. data/spec/unit/property_spec.rb +0 -563
  2015. data/spec/unit/provider/README.markdown +0 -4
  2016. data/spec/unit/provider/aix_object_spec.rb +0 -821
  2017. data/spec/unit/provider/command_spec.rb +0 -62
  2018. data/spec/unit/provider/exec/posix_spec.rb +0 -232
  2019. data/spec/unit/provider/exec/shell_spec.rb +0 -53
  2020. data/spec/unit/provider/exec/windows_spec.rb +0 -105
  2021. data/spec/unit/provider/exec_spec.rb +0 -244
  2022. data/spec/unit/provider/file/posix_spec.rb +0 -230
  2023. data/spec/unit/provider/file/windows_spec.rb +0 -152
  2024. data/spec/unit/provider/group/aix_spec.rb +0 -91
  2025. data/spec/unit/provider/group/directoryservice_spec.rb +0 -33
  2026. data/spec/unit/provider/group/groupadd_spec.rb +0 -284
  2027. data/spec/unit/provider/group/ldap_spec.rb +0 -98
  2028. data/spec/unit/provider/group/pw_spec.rb +0 -78
  2029. data/spec/unit/provider/group/windows_adsi_spec.rb +0 -398
  2030. data/spec/unit/provider/ldap_spec.rb +0 -242
  2031. data/spec/unit/provider/nameservice/directoryservice_spec.rb +0 -157
  2032. data/spec/unit/provider/nameservice_spec.rb +0 -398
  2033. data/spec/unit/provider/package/aix_spec.rb +0 -158
  2034. data/spec/unit/provider/package/appdmg_spec.rb +0 -42
  2035. data/spec/unit/provider/package/apt_spec.rb +0 -302
  2036. data/spec/unit/provider/package/aptitude_spec.rb +0 -46
  2037. data/spec/unit/provider/package/aptrpm_spec.rb +0 -42
  2038. data/spec/unit/provider/package/base_spec.rb +0 -19
  2039. data/spec/unit/provider/package/dnf_spec.rb +0 -55
  2040. data/spec/unit/provider/package/dnfmodule_spec.rb +0 -256
  2041. data/spec/unit/provider/package/dpkg_spec.rb +0 -444
  2042. data/spec/unit/provider/package/freebsd_spec.rb +0 -51
  2043. data/spec/unit/provider/package/gem_spec.rb +0 -487
  2044. data/spec/unit/provider/package/hpux_spec.rb +0 -48
  2045. data/spec/unit/provider/package/macports_spec.rb +0 -142
  2046. data/spec/unit/provider/package/nim_spec.rb +0 -267
  2047. data/spec/unit/provider/package/openbsd_spec.rb +0 -417
  2048. data/spec/unit/provider/package/opkg_spec.rb +0 -180
  2049. data/spec/unit/provider/package/pacman_spec.rb +0 -438
  2050. data/spec/unit/provider/package/pip2_spec.rb +0 -38
  2051. data/spec/unit/provider/package/pip3_spec.rb +0 -38
  2052. data/spec/unit/provider/package/pip_spec.rb +0 -504
  2053. data/spec/unit/provider/package/pkg_spec.rb +0 -473
  2054. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -166
  2055. data/spec/unit/provider/package/pkgin_spec.rb +0 -185
  2056. data/spec/unit/provider/package/pkgng_spec.rb +0 -228
  2057. data/spec/unit/provider/package/pkgutil_spec.rb +0 -231
  2058. data/spec/unit/provider/package/portage_spec.rb +0 -226
  2059. data/spec/unit/provider/package/puppet_gem_spec.rb +0 -130
  2060. data/spec/unit/provider/package/puppetserver_gem_spec.rb +0 -139
  2061. data/spec/unit/provider/package/rpm_spec.rb +0 -674
  2062. data/spec/unit/provider/package/sun_spec.rb +0 -112
  2063. data/spec/unit/provider/package/tdnf_spec.rb +0 -15
  2064. data/spec/unit/provider/package/up2date_spec.rb +0 -22
  2065. data/spec/unit/provider/package/urpmi_spec.rb +0 -84
  2066. data/spec/unit/provider/package/windows/exe_package_spec.rb +0 -114
  2067. data/spec/unit/provider/package/windows/msi_package_spec.rb +0 -111
  2068. data/spec/unit/provider/package/windows/package_spec.rb +0 -180
  2069. data/spec/unit/provider/package/windows_spec.rb +0 -272
  2070. data/spec/unit/provider/package/yum_spec.rb +0 -512
  2071. data/spec/unit/provider/package/zypper_spec.rb +0 -327
  2072. data/spec/unit/provider/package_targetable_spec.rb +0 -60
  2073. data/spec/unit/provider/parsedfile_spec.rb +0 -263
  2074. data/spec/unit/provider/service/base_spec.rb +0 -109
  2075. data/spec/unit/provider/service/bsd_spec.rb +0 -127
  2076. data/spec/unit/provider/service/daemontools_spec.rb +0 -190
  2077. data/spec/unit/provider/service/debian_spec.rb +0 -158
  2078. data/spec/unit/provider/service/freebsd_spec.rb +0 -92
  2079. data/spec/unit/provider/service/gentoo_spec.rb +0 -250
  2080. data/spec/unit/provider/service/init_spec.rb +0 -316
  2081. data/spec/unit/provider/service/launchd_spec.rb +0 -425
  2082. data/spec/unit/provider/service/openbsd_spec.rb +0 -196
  2083. data/spec/unit/provider/service/openrc_spec.rb +0 -231
  2084. data/spec/unit/provider/service/openwrt_spec.rb +0 -101
  2085. data/spec/unit/provider/service/rcng_spec.rb +0 -40
  2086. data/spec/unit/provider/service/redhat_spec.rb +0 -190
  2087. data/spec/unit/provider/service/runit_spec.rb +0 -164
  2088. data/spec/unit/provider/service/smf_spec.rb +0 -526
  2089. data/spec/unit/provider/service/src_spec.rb +0 -186
  2090. data/spec/unit/provider/service/systemd_spec.rb +0 -576
  2091. data/spec/unit/provider/service/upstart_spec.rb +0 -681
  2092. data/spec/unit/provider/service/windows_spec.rb +0 -475
  2093. data/spec/unit/provider/user/aix_spec.rb +0 -320
  2094. data/spec/unit/provider/user/directoryservice_spec.rb +0 -1256
  2095. data/spec/unit/provider/user/hpux_spec.rb +0 -72
  2096. data/spec/unit/provider/user/ldap_spec.rb +0 -286
  2097. data/spec/unit/provider/user/openbsd_spec.rb +0 -76
  2098. data/spec/unit/provider/user/pw_spec.rb +0 -252
  2099. data/spec/unit/provider/user/user_role_add_spec.rb +0 -374
  2100. data/spec/unit/provider/user/useradd_spec.rb +0 -849
  2101. data/spec/unit/provider/user/windows_adsi_spec.rb +0 -407
  2102. data/spec/unit/provider_spec.rb +0 -904
  2103. data/spec/unit/puppet_pal_2pec.rb +0 -1033
  2104. data/spec/unit/puppet_pal_catalog_spec.rb +0 -962
  2105. data/spec/unit/puppet_pal_spec.rb +0 -3
  2106. data/spec/unit/puppet_spec.rb +0 -127
  2107. data/spec/unit/relationship_spec.rb +0 -202
  2108. data/spec/unit/reports/http_spec.rb +0 -119
  2109. data/spec/unit/reports/store_spec.rb +0 -69
  2110. data/spec/unit/reports_spec.rb +0 -68
  2111. data/spec/unit/resource/catalog_spec.rb +0 -1160
  2112. data/spec/unit/resource/status_spec.rb +0 -216
  2113. data/spec/unit/resource/type_collection_spec.rb +0 -332
  2114. data/spec/unit/resource/type_spec.rb +0 -876
  2115. data/spec/unit/resource_spec.rb +0 -1189
  2116. data/spec/unit/scheduler/job_spec.rb +0 -78
  2117. data/spec/unit/scheduler/scheduler_spec.rb +0 -115
  2118. data/spec/unit/scheduler/splay_job_spec.rb +0 -34
  2119. data/spec/unit/settings/array_setting_spec.rb +0 -39
  2120. data/spec/unit/settings/autosign_setting_spec.rb +0 -104
  2121. data/spec/unit/settings/certificate_revocation_setting_spec.rb +0 -37
  2122. data/spec/unit/settings/config_file_spec.rb +0 -147
  2123. data/spec/unit/settings/directory_setting_spec.rb +0 -27
  2124. data/spec/unit/settings/duration_setting_spec.rb +0 -48
  2125. data/spec/unit/settings/enum_setting_spec.rb +0 -27
  2126. data/spec/unit/settings/environment_conf_spec.rb +0 -133
  2127. data/spec/unit/settings/file_setting_spec.rb +0 -344
  2128. data/spec/unit/settings/http_extra_headers_spec.rb +0 -62
  2129. data/spec/unit/settings/ini_file_spec.rb +0 -550
  2130. data/spec/unit/settings/integer_setting_spec.rb +0 -42
  2131. data/spec/unit/settings/path_setting_spec.rb +0 -29
  2132. data/spec/unit/settings/port_setting_spec.rb +0 -31
  2133. data/spec/unit/settings/priority_setting_spec.rb +0 -65
  2134. data/spec/unit/settings/server_list_setting_spec.rb +0 -21
  2135. data/spec/unit/settings/string_setting_spec.rb +0 -74
  2136. data/spec/unit/settings/terminus_setting_spec.rb +0 -27
  2137. data/spec/unit/settings/value_translator_spec.rb +0 -75
  2138. data/spec/unit/settings_spec.rb +0 -2343
  2139. data/spec/unit/ssl/base_spec.rb +0 -125
  2140. data/spec/unit/ssl/certificate_request_attributes_spec.rb +0 -80
  2141. data/spec/unit/ssl/certificate_request_spec.rb +0 -373
  2142. data/spec/unit/ssl/certificate_signer_spec.rb +0 -17
  2143. data/spec/unit/ssl/certificate_spec.rb +0 -183
  2144. data/spec/unit/ssl/digest_spec.rb +0 -34
  2145. data/spec/unit/ssl/oids_spec.rb +0 -73
  2146. data/spec/unit/ssl/ssl_provider_spec.rb +0 -657
  2147. data/spec/unit/ssl/state_machine_spec.rb +0 -1117
  2148. data/spec/unit/ssl/verifier_spec.rb +0 -102
  2149. data/spec/unit/task_spec.rb +0 -345
  2150. data/spec/unit/test/test_helper_spec.rb +0 -17
  2151. data/spec/unit/transaction/additional_resource_generator_spec.rb +0 -534
  2152. data/spec/unit/transaction/event_manager_spec.rb +0 -365
  2153. data/spec/unit/transaction/event_spec.rb +0 -198
  2154. data/spec/unit/transaction/persistence_spec.rb +0 -276
  2155. data/spec/unit/transaction/report_spec.rb +0 -772
  2156. data/spec/unit/transaction/resource_harness_spec.rb +0 -625
  2157. data/spec/unit/transaction_spec.rb +0 -1037
  2158. data/spec/unit/type/README.markdown +0 -4
  2159. data/spec/unit/type/component_spec.rb +0 -52
  2160. data/spec/unit/type/exec_spec.rb +0 -932
  2161. data/spec/unit/type/file/checksum_spec.rb +0 -104
  2162. data/spec/unit/type/file/checksum_value_spec.rb +0 -285
  2163. data/spec/unit/type/file/content_spec.rb +0 -440
  2164. data/spec/unit/type/file/ctime_spec.rb +0 -33
  2165. data/spec/unit/type/file/ensure_spec.rb +0 -121
  2166. data/spec/unit/type/file/group_spec.rb +0 -65
  2167. data/spec/unit/type/file/mode_spec.rb +0 -220
  2168. data/spec/unit/type/file/mtime_spec.rb +0 -33
  2169. data/spec/unit/type/file/owner_spec.rb +0 -63
  2170. data/spec/unit/type/file/selinux_spec.rb +0 -86
  2171. data/spec/unit/type/file/source_spec.rb +0 -730
  2172. data/spec/unit/type/file/type_spec.rb +0 -18
  2173. data/spec/unit/type/file_spec.rb +0 -1746
  2174. data/spec/unit/type/filebucket_spec.rb +0 -104
  2175. data/spec/unit/type/group_spec.rb +0 -105
  2176. data/spec/unit/type/noop_metaparam_spec.rb +0 -37
  2177. data/spec/unit/type/package/package_settings_spec.rb +0 -156
  2178. data/spec/unit/type/package_spec.rb +0 -396
  2179. data/spec/unit/type/resources_spec.rb +0 -362
  2180. data/spec/unit/type/schedule_spec.rb +0 -621
  2181. data/spec/unit/type/service_spec.rb +0 -458
  2182. data/spec/unit/type/stage_spec.rb +0 -7
  2183. data/spec/unit/type/tidy_spec.rb +0 -493
  2184. data/spec/unit/type/user_spec.rb +0 -553
  2185. data/spec/unit/type/whit_spec.rb +0 -9
  2186. data/spec/unit/type_spec.rb +0 -1473
  2187. data/spec/unit/util/at_fork_spec.rb +0 -150
  2188. data/spec/unit/util/autoload_spec.rb +0 -330
  2189. data/spec/unit/util/backups_spec.rb +0 -130
  2190. data/spec/unit/util/character_encoding_spec.rb +0 -186
  2191. data/spec/unit/util/checksums_spec.rb +0 -223
  2192. data/spec/unit/util/colors_spec.rb +0 -44
  2193. data/spec/unit/util/command_line_spec.rb +0 -200
  2194. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +0 -129
  2195. data/spec/unit/util/constant_inflector_spec.rb +0 -55
  2196. data/spec/unit/util/diff_spec.rb +0 -46
  2197. data/spec/unit/util/docs_spec.rb +0 -100
  2198. data/spec/unit/util/errors_spec.rb +0 -36
  2199. data/spec/unit/util/execution_spec.rb +0 -943
  2200. data/spec/unit/util/execution_stub_spec.rb +0 -38
  2201. data/spec/unit/util/feature_spec.rb +0 -129
  2202. data/spec/unit/util/filetype_spec.rb +0 -223
  2203. data/spec/unit/util/inifile_spec.rb +0 -510
  2204. data/spec/unit/util/json_lockfile_spec.rb +0 -48
  2205. data/spec/unit/util/json_spec.rb +0 -126
  2206. data/spec/unit/util/ldap/connection_spec.rb +0 -162
  2207. data/spec/unit/util/ldap/generator_spec.rb +0 -49
  2208. data/spec/unit/util/ldap/manager_spec.rb +0 -612
  2209. data/spec/unit/util/lockfile_spec.rb +0 -117
  2210. data/spec/unit/util/log/destinations_spec.rb +0 -258
  2211. data/spec/unit/util/log_spec.rb +0 -479
  2212. data/spec/unit/util/logging_spec.rb +0 -618
  2213. data/spec/unit/util/metric_spec.rb +0 -89
  2214. data/spec/unit/util/monkey_patches_spec.rb +0 -161
  2215. data/spec/unit/util/multi_match_spec.rb +0 -38
  2216. data/spec/unit/util/network_device/config_spec.rb +0 -91
  2217. data/spec/unit/util/network_device/transport/base_spec.rb +0 -40
  2218. data/spec/unit/util/network_device_spec.rb +0 -43
  2219. data/spec/unit/util/package/version/debian_spec.rb +0 -83
  2220. data/spec/unit/util/package/version/pip_spec.rb +0 -464
  2221. data/spec/unit/util/package/version/range_spec.rb +0 -175
  2222. data/spec/unit/util/package/version/rpm_spec.rb +0 -121
  2223. data/spec/unit/util/package_spec.rb +0 -19
  2224. data/spec/unit/util/pidlock_spec.rb +0 -333
  2225. data/spec/unit/util/plist_spec.rb +0 -168
  2226. data/spec/unit/util/posix_spec.rb +0 -630
  2227. data/spec/unit/util/profiler/aggregate_spec.rb +0 -55
  2228. data/spec/unit/util/profiler/around_profiler_spec.rb +0 -61
  2229. data/spec/unit/util/profiler/logging_spec.rb +0 -70
  2230. data/spec/unit/util/profiler/object_counts_spec.rb +0 -13
  2231. data/spec/unit/util/profiler/wall_clock_spec.rb +0 -13
  2232. data/spec/unit/util/profiler_spec.rb +0 -47
  2233. data/spec/unit/util/rdoc_spec.rb +0 -55
  2234. data/spec/unit/util/reference_spec.rb +0 -38
  2235. data/spec/unit/util/resource_template_spec.rb +0 -57
  2236. data/spec/unit/util/retry_action_spec.rb +0 -84
  2237. data/spec/unit/util/rpm_compare_spec.rb +0 -196
  2238. data/spec/unit/util/rubygems_spec.rb +0 -47
  2239. data/spec/unit/util/run_mode_spec.rb +0 -185
  2240. data/spec/unit/util/selinux_spec.rb +0 -422
  2241. data/spec/unit/util/skip_tags_spec.rb +0 -14
  2242. data/spec/unit/util/splayer_spec.rb +0 -44
  2243. data/spec/unit/util/storage_spec.rb +0 -330
  2244. data/spec/unit/util/suidmanager_spec.rb +0 -278
  2245. data/spec/unit/util/symbolic_file_mode_spec.rb +0 -180
  2246. data/spec/unit/util/tag_set_spec.rb +0 -52
  2247. data/spec/unit/util/tagging_spec.rb +0 -246
  2248. data/spec/unit/util/terminal_spec.rb +0 -41
  2249. data/spec/unit/util/user_attr_spec.rb +0 -45
  2250. data/spec/unit/util/warnings_spec.rb +0 -45
  2251. data/spec/unit/util/watched_file_spec.rb +0 -52
  2252. data/spec/unit/util/watcher/periodic_watcher_spec.rb +0 -52
  2253. data/spec/unit/util/watcher_spec.rb +0 -86
  2254. data/spec/unit/util/windows/access_control_entry_spec.rb +0 -66
  2255. data/spec/unit/util/windows/access_control_list_spec.rb +0 -132
  2256. data/spec/unit/util/windows/adsi_spec.rb +0 -704
  2257. data/spec/unit/util/windows/api_types_spec.rb +0 -184
  2258. data/spec/unit/util/windows/eventlog_spec.rb +0 -120
  2259. data/spec/unit/util/windows/file_spec.rb +0 -88
  2260. data/spec/unit/util/windows/root_certs_spec.rb +0 -16
  2261. data/spec/unit/util/windows/security_descriptor_spec.rb +0 -115
  2262. data/spec/unit/util/windows/service_spec.rb +0 -677
  2263. data/spec/unit/util/windows/sid_spec.rb +0 -338
  2264. data/spec/unit/util/windows/string_spec.rb +0 -55
  2265. data/spec/unit/util/windows_spec.rb +0 -23
  2266. data/spec/unit/util/yaml_spec.rb +0 -171
  2267. data/spec/unit/util_spec.rb +0 -960
  2268. data/spec/unit/version_spec.rb +0 -61
  2269. data/spec/unit/x509/cert_provider_spec.rb +0 -663
  2270. data/spec/unit/x509/pem_store_spec.rb +0 -160
@@ -1,1198 +0,0 @@
1
- require 'spec_helper'
2
- require 'puppet/file_system'
3
- require 'puppet/util/platform'
4
-
5
- describe "Puppet::FileSystem" do
6
- include PuppetSpec::Files
7
-
8
- # different UTF-8 widths
9
- # 1-byte A
10
- # 2-byte ۿ - http://www.fileformat.info/info/unicode/char/06ff/index.htm - 0xDB 0xBF / 219 191
11
- # 3-byte ᚠ - http://www.fileformat.info/info/unicode/char/16A0/index.htm - 0xE1 0x9A 0xA0 / 225 154 160
12
- # 4-byte 𠜎 - http://www.fileformat.info/info/unicode/char/2070E/index.htm - 0xF0 0xA0 0x9C 0x8E / 240 160 156 142
13
- let (:mixed_utf8) { "A\u06FF\u16A0\u{2070E}" } # Aۿᚠ𠜎
14
-
15
- def with_file_content(content)
16
- path = tmpfile('file-system')
17
- file = File.new(path, 'wb')
18
- file.sync = true
19
- file.print content
20
-
21
- yield path
22
-
23
- ensure
24
- file.close
25
- end
26
-
27
- SYSTEM_SID_BYTES = [1, 1, 0, 0, 0, 0, 0, 5, 18, 0, 0, 0]
28
-
29
- def is_current_user_system?
30
- SYSTEM_SID_BYTES == Puppet::Util::Windows::ADSI::User.current_user_sid.sid_bytes
31
- end
32
-
33
- def expects_public_file(path)
34
- if Puppet::Util::Platform.windows?
35
- current_sid = Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_user_name)
36
- sd = Puppet::Util::Windows::Security.get_security_descriptor(path)
37
- expect(sd.dacl).to contain_exactly(
38
- an_object_having_attributes(sid: Puppet::Util::Windows::SID::LocalSystem, mask: 0x1f01ff),
39
- an_object_having_attributes(sid: Puppet::Util::Windows::SID::BuiltinAdministrators, mask: 0x1f01ff),
40
- an_object_having_attributes(sid: current_sid, mask: 0x1f01ff),
41
- an_object_having_attributes(sid: Puppet::Util::Windows::SID::BuiltinUsers, mask: 0x120089)
42
- )
43
- else
44
- expect(File.stat(path).mode & 07777).to eq(0644)
45
- end
46
- end
47
-
48
- def expects_private_file(path)
49
- if Puppet::Util::Platform.windows?
50
- current_sid = Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_user_name)
51
- sd = Puppet::Util::Windows::Security.get_security_descriptor(path)
52
- expect(sd.dacl).to contain_exactly(
53
- an_object_having_attributes(sid: Puppet::Util::Windows::SID::LocalSystem, mask: 0x1f01ff),
54
- an_object_having_attributes(sid: Puppet::Util::Windows::SID::BuiltinAdministrators, mask: 0x1f01ff),
55
- an_object_having_attributes(sid: current_sid, mask: 0x1f01ff)
56
- )
57
- else
58
- expect(File.stat(path).mode & 07777).to eq(0640)
59
- end
60
- end
61
-
62
- context "#open" do
63
- it "uses the same default mode as File.open, when specifying a nil mode (umask used on non-Windows)" do
64
- file = tmpfile('file_to_update')
65
- expect(Puppet::FileSystem.exist?(file)).to be_falsey
66
-
67
- Puppet::FileSystem.open(file, nil, 'a') { |fh| fh.write('') }
68
-
69
- expected_perms = Puppet::Util::Platform.windows? ?
70
- # default Windows mode based on temp file storage for SYSTEM user or regular user
71
- # for Jenkins or other services running as SYSTEM writing to c:\windows\temp
72
- # the permissions will typically be SYSTEM(F) / Administrators(F) which is 770
73
- # but sometimes there are extra users like IIS_IUSRS granted rights which adds the "extra ace" 2
74
- # for local Administrators writing to their own temp folders under c:\users\USER
75
- # they will have (F) for themselves, and Users will not have a permission, hence 700
76
- (is_current_user_system? ? ['770', '2000770'] : '2000700') :
77
- # or for *nix determine expected mode via bitwise AND complement of umask
78
- (0100000 | 0666 & ~File.umask).to_s(8)
79
- expect([expected_perms].flatten).to include(Puppet::FileSystem.stat(file).mode.to_s(8))
80
-
81
- default_file = tmpfile('file_to_update2')
82
- expect(Puppet::FileSystem.exist?(default_file)).to be_falsey
83
-
84
- File.open(default_file, 'a') { |fh| fh.write('') }
85
-
86
- # which matches the behavior of File.open
87
- expect(Puppet::FileSystem.stat(file).mode).to eq(Puppet::FileSystem.stat(default_file).mode)
88
- end
89
-
90
- it "can accept an octal mode integer" do
91
- file = tmpfile('file_to_update')
92
- # NOTE: 777 here returns 755, but due to Ruby?
93
- Puppet::FileSystem.open(file, 0444, 'a') { |fh| fh.write('') }
94
-
95
- # Behavior may change in the future on Windows, to *actually* change perms
96
- # but for now, setting a mode doesn't touch them
97
- expected_perms = Puppet::Util::Platform.windows? ?
98
- (is_current_user_system? ? ['770', '2000770'] : '2000700') :
99
- '100444'
100
- expect([expected_perms].flatten).to include(Puppet::FileSystem.stat(file).mode.to_s(8))
101
-
102
- expected_ruby_mode = Puppet::Util::Platform.windows? ?
103
- # The Windows behavior has been changed to ignore the mode specified by open
104
- # given it's unlikely a caller expects Windows file attributes to be set
105
- # therefore mode is explicitly not managed (until PUP-6959 is fixed)
106
- #
107
- # In default Ruby on Windows a mode controls file attribute setting
108
- # (like archive, read-only, etc)
109
- # The GetFileInformationByHandle API returns an attributes value that is
110
- # a bitmask of Windows File Attribute Constants at
111
- # https://msdn.microsoft.com/en-us/library/windows/desktop/gg258117(v=vs.85).aspx
112
- '100644' :
113
- # On other platforms, the mode should be what was set by octal 0444
114
- '100444'
115
-
116
- expect(File.stat(file).mode.to_s(8)).to eq(expected_ruby_mode)
117
- end
118
-
119
- it "cannot accept a mode string" do
120
- file = tmpfile('file_to_update')
121
- expect {
122
- Puppet::FileSystem.open(file, "444", 'a') { |fh| fh.write('') }
123
- }.to raise_error(TypeError)
124
- end
125
-
126
- it "opens, creates ands allows updating of a new file, using by default, the external system encoding" do
127
- begin
128
- original_encoding = Encoding.default_external
129
-
130
- # this must be set through Ruby API and cannot be mocked - it sets internal state used by File.open
131
- # pick a bizarre encoding unlikely to be used in any real tests
132
- Encoding.default_external = Encoding::CP737
133
-
134
- file = tmpfile('file_to_update')
135
-
136
- # test writing a UTF-8 string when Default external encoding is something different
137
- Puppet::FileSystem.open(file, 0660, 'w') do |fh|
138
- # note Ruby behavior which has no external_encoding, but implicitly uses Encoding.default_external
139
- expect(fh.external_encoding).to be_nil
140
- # write a UTF-8 string to this file
141
- fh.write(mixed_utf8)
142
- end
143
-
144
- # prove that Ruby implicitly converts read strings back to Encoding.default_external
145
- # and that it did that in the previous write
146
- written = Puppet::FileSystem.read(file)
147
- expect(written.encoding).to eq(Encoding.default_external)
148
- expect(written).to eq(mixed_utf8.force_encoding(Encoding.default_external))
149
- ensure
150
- # carefully roll back to the previous
151
- Encoding.default_external = original_encoding
152
- end
153
- end
154
- end
155
-
156
- context "#exclusive_open" do
157
- it "opens ands allows updating of an existing file" do
158
- file = file_containing("file_to_update", "the contents")
159
-
160
- Puppet::FileSystem.exclusive_open(file, 0660, 'r+') do |fh|
161
- old = fh.read
162
- fh.truncate(0)
163
- fh.rewind
164
- fh.write("updated #{old}")
165
- end
166
-
167
- expect(Puppet::FileSystem.read(file)).to eq("updated the contents")
168
- end
169
-
170
- it "opens, creates ands allows updating of a new file, using by default, the external system encoding" do
171
- begin
172
- original_encoding = Encoding.default_external
173
-
174
- # this must be set through Ruby API and cannot be mocked - it sets internal state used by File.open
175
- # pick a bizarre encoding unlikely to be used in any real tests
176
- Encoding.default_external = Encoding::CP737
177
-
178
- file = tmpfile('file_to_update')
179
-
180
- # test writing a UTF-8 string when Default external encoding is something different
181
- Puppet::FileSystem.exclusive_open(file, 0660, 'w') do |fh|
182
- # note Ruby behavior which has no external_encoding, but implicitly uses Encoding.default_external
183
- expect(fh.external_encoding).to be_nil
184
- # write a UTF-8 string to this file
185
- fh.write(mixed_utf8)
186
- end
187
-
188
- # prove that Ruby implicitly converts read strings back to Encoding.default_external
189
- # and that it did that in the previous write
190
- written = Puppet::FileSystem.read(file)
191
- expect(written.encoding).to eq(Encoding.default_external)
192
- expect(written).to eq(mixed_utf8.force_encoding(Encoding.default_external))
193
- ensure
194
- # carefully roll back to the previous
195
- Encoding.default_external = original_encoding
196
- end
197
- end
198
-
199
- it "excludes other processes from updating at the same time",
200
- unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
201
- file = file_containing("file_to_update", "0")
202
-
203
- increment_counter_in_multiple_processes(file, 5, 'r+')
204
-
205
- expect(Puppet::FileSystem.read(file)).to eq("5")
206
- end
207
-
208
- it "excludes other processes from updating at the same time even when creating the file",
209
- unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
210
- file = tmpfile("file_to_update")
211
-
212
- increment_counter_in_multiple_processes(file, 5, 'a+')
213
-
214
- expect(Puppet::FileSystem.read(file)).to eq("5")
215
- end
216
-
217
- it "times out if the lock cannot be acquired in a specified amount of time",
218
- unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
219
- file = tmpfile("file_to_update")
220
-
221
- child = spawn_process_that_locks(file)
222
-
223
- expect do
224
- Puppet::FileSystem.exclusive_open(file, 0666, 'a', 0.1) do |f|
225
- end
226
- end.to raise_error(Timeout::Error, /Timeout waiting for exclusive lock on #{file}/)
227
-
228
- Process.kill(9, child)
229
- end
230
-
231
- def spawn_process_that_locks(file)
232
- read, write = IO.pipe
233
-
234
- child = Kernel.fork do
235
- read.close
236
- Puppet::FileSystem.exclusive_open(file, 0666, 'a') do |fh|
237
- write.write(true)
238
- write.close
239
- sleep 10
240
- end
241
- end
242
-
243
- write.close
244
- read.read
245
- read.close
246
-
247
- child
248
- end
249
-
250
- def increment_counter_in_multiple_processes(file, num_procs, options)
251
- children = []
252
- num_procs.times do
253
- children << Kernel.fork do
254
- Puppet::FileSystem.exclusive_open(file, 0660, options) do |fh|
255
- fh.rewind
256
- contents = (fh.read || 0).to_i
257
- fh.truncate(0)
258
- fh.rewind
259
- fh.write((contents + 1).to_s)
260
- end
261
- exit(0)
262
- end
263
- end
264
-
265
- children.each { |pid| Process.wait(pid) }
266
- end
267
- end
268
-
269
- context "read_preserve_line_endings" do
270
- it "should read a file with line feed" do
271
- with_file_content("file content \n") do |file|
272
- expect(Puppet::FileSystem.read_preserve_line_endings(file)).to eq("file content \n")
273
- end
274
- end
275
-
276
- it "should read a file with carriage return line feed" do
277
- with_file_content("file content \r\n") do |file|
278
- expect(Puppet::FileSystem.read_preserve_line_endings(file)).to eq("file content \r\n")
279
- end
280
- end
281
-
282
- it "should read a mixed file using only the first line newline when lf" do
283
- with_file_content("file content \nsecond line \r\n") do |file|
284
- expect(Puppet::FileSystem.read_preserve_line_endings(file)).to eq("file content \nsecond line \r\n")
285
- end
286
- end
287
-
288
- it "should read a mixed file using only the first line newline when crlf" do
289
- with_file_content("file content \r\nsecond line \n") do |file|
290
- expect(Puppet::FileSystem.read_preserve_line_endings(file)).to eq("file content \r\nsecond line \n")
291
- end
292
- end
293
-
294
- it "should ignore leading BOM" do
295
- with_file_content("\uFEFFfile content \n") do |file|
296
- expect(Puppet::FileSystem.read_preserve_line_endings(file)).to eq("file content \n")
297
- end
298
- end
299
-
300
- it "should not warn about misusage of BOM with non-UTF encoding" do
301
- allow(Encoding).to receive(:default_external).and_return(Encoding::US_ASCII)
302
- with_file_content("file content \n") do |file|
303
- expect{ Puppet::FileSystem.read_preserve_line_endings(file) }.not_to output(/BOM with non-UTF encoding US-ASCII is nonsense/).to_stderr
304
- end
305
- end
306
- end
307
-
308
- context "read without an encoding specified" do
309
- it "returns strings as Encoding.default_external" do
310
- temp_file = file_containing('test.txt', 'hello world')
311
-
312
- contents = Puppet::FileSystem.read(temp_file)
313
-
314
- expect(contents.encoding).to eq(Encoding.default_external)
315
- expect(contents).to eq('hello world')
316
- end
317
- end
318
-
319
- context "read should allow an encoding to be specified" do
320
- # First line of Rune version of Rune poem at http://www.columbia.edu/~fdc/utf8/
321
- # characters chosen since they will not parse on Windows with codepage 437 or 1252
322
- # Section 3.2.1.3 of Ruby spec guarantees that \u strings are encoded as UTF-8
323
- let (:rune_utf8) { "\u16A0\u16C7\u16BB" } # 'ᚠᛇᚻ'
324
-
325
- it "and should read a UTF8 file properly" do
326
- temp_file = file_containing('utf8.txt', rune_utf8)
327
-
328
- contents = Puppet::FileSystem.read(temp_file, :encoding => 'utf-8')
329
-
330
- expect(contents.encoding).to eq(Encoding::UTF_8)
331
- expect(contents).to eq(rune_utf8)
332
- end
333
-
334
- it "does not strip the UTF8 BOM (Byte Order Mark) if present in a file" do
335
- bom = "\uFEFF"
336
-
337
- temp_file = file_containing('utf8bom.txt', "#{bom}#{rune_utf8}")
338
- contents = Puppet::FileSystem.read(temp_file, :encoding => 'utf-8')
339
-
340
- expect(contents.encoding).to eq(Encoding::UTF_8)
341
- expect(contents).to eq("#{bom}#{rune_utf8}")
342
- end
343
- end
344
-
345
- describe "symlink",
346
- :if => ! Puppet.features.manages_symlinks? &&
347
- Puppet::Util::Platform.windows? do
348
-
349
- let(:file) { tmpfile("somefile") }
350
- let(:missing_file) { tmpfile("missingfile") }
351
- let(:expected_msg) { "This version of Windows does not support symlinks. Windows Vista / 2008 or higher is required." }
352
-
353
- before :each do
354
- FileUtils.touch(file)
355
- end
356
-
357
- it "should raise an error when trying to create a symlink" do
358
- expect { Puppet::FileSystem.symlink(file, 'foo') }.to raise_error(Puppet::Util::Windows::Error)
359
- end
360
-
361
- it "should return false when trying to check if a path is a symlink" do
362
- expect(Puppet::FileSystem.symlink?(file)).to be_falsey
363
- end
364
-
365
- it "should raise an error when trying to read a symlink" do
366
- expect { Puppet::FileSystem.readlink(file) }.to raise_error(Puppet::Util::Windows::Error)
367
- end
368
-
369
- it "should return a File::Stat instance when calling stat on an existing file" do
370
- expect(Puppet::FileSystem.stat(file)).to be_instance_of(File::Stat)
371
- end
372
-
373
- it "should raise Errno::ENOENT when calling stat on a missing file" do
374
- expect { Puppet::FileSystem.stat(missing_file) }.to raise_error(Errno::ENOENT)
375
- end
376
-
377
- it "should fall back to stat when trying to lstat a file" do
378
- expect(Puppet::Util::Windows::File).to receive(:stat).with(Puppet::FileSystem.assert_path(file))
379
-
380
- Puppet::FileSystem.lstat(file)
381
- end
382
- end
383
-
384
- describe "symlink", :if => Puppet.features.manages_symlinks? do
385
-
386
- let(:file) { tmpfile("somefile") }
387
- let(:missing_file) { tmpfile("missingfile") }
388
- let(:dir) { tmpdir("somedir") }
389
-
390
- before :each do
391
- FileUtils.touch(file)
392
- end
393
-
394
- it "should return true for exist? on a present file" do
395
- expect(Puppet::FileSystem.exist?(file)).to be_truthy
396
- end
397
-
398
- it "should return true for file? on a present file" do
399
- expect(Puppet::FileSystem.file?(file)).to be_truthy
400
- end
401
-
402
- it "should return false for exist? on a non-existent file" do
403
- expect(Puppet::FileSystem.exist?(missing_file)).to be_falsey
404
- end
405
-
406
- it "should return true for exist? on a present directory" do
407
- expect(Puppet::FileSystem.exist?(dir)).to be_truthy
408
- end
409
-
410
- it "should return false for exist? on a dangling symlink" do
411
- symlink = tmpfile("somefile_link")
412
- Puppet::FileSystem.symlink(missing_file, symlink)
413
-
414
- expect(Puppet::FileSystem.exist?(missing_file)).to be_falsey
415
- expect(Puppet::FileSystem.exist?(symlink)).to be_falsey
416
- end
417
-
418
- it "should return true for exist? on valid symlinks" do
419
- [file, dir].each do |target|
420
- symlink = tmpfile("#{Puppet::FileSystem.basename(target).to_s}_link")
421
- Puppet::FileSystem.symlink(target, symlink)
422
-
423
- expect(Puppet::FileSystem.exist?(target)).to be_truthy
424
- expect(Puppet::FileSystem.exist?(symlink)).to be_truthy
425
- end
426
- end
427
-
428
- it "should return false for exist? when resolving a cyclic symlink chain" do
429
- # point symlink -> file
430
- symlink = tmpfile("somefile_link")
431
- Puppet::FileSystem.symlink(file, symlink)
432
-
433
- # point symlink2 -> symlink
434
- symlink2 = tmpfile("somefile_link2")
435
- Puppet::FileSystem.symlink(symlink, symlink2)
436
-
437
- # point symlink3 -> symlink2
438
- symlink3 = tmpfile("somefile_link3")
439
- Puppet::FileSystem.symlink(symlink2, symlink3)
440
-
441
- # yank file, temporarily dangle
442
- ::File.delete(file)
443
-
444
- # and trash it so that we can recreate it OK on windows
445
- Puppet::FileSystem.unlink(symlink)
446
-
447
- # point symlink -> symlink3 to create a cycle
448
- Puppet::FileSystem.symlink(symlink3, symlink)
449
-
450
- expect(Puppet::FileSystem.exist?(symlink3)).to be_falsey
451
- end
452
-
453
- it "should return true for exist? when resolving a symlink chain pointing to a file" do
454
- # point symlink -> file
455
- symlink = tmpfile("somefile_link")
456
- Puppet::FileSystem.symlink(file, symlink)
457
-
458
- # point symlink2 -> symlink
459
- symlink2 = tmpfile("somefile_link2")
460
- Puppet::FileSystem.symlink(symlink, symlink2)
461
-
462
- # point symlink3 -> symlink2
463
- symlink3 = tmpfile("somefile_link3")
464
- Puppet::FileSystem.symlink(symlink2, symlink3)
465
-
466
- expect(Puppet::FileSystem.exist?(symlink3)).to be_truthy
467
- end
468
-
469
- it "should return false for exist? when resolving a symlink chain that dangles" do
470
- # point symlink -> file
471
- symlink = tmpfile("somefile_link")
472
- Puppet::FileSystem.symlink(file, symlink)
473
-
474
- # point symlink2 -> symlink
475
- symlink2 = tmpfile("somefile_link2")
476
- Puppet::FileSystem.symlink(symlink, symlink2)
477
-
478
- # point symlink3 -> symlink2
479
- symlink3 = tmpfile("somefile_link3")
480
- Puppet::FileSystem.symlink(symlink2, symlink3)
481
-
482
- # yank file, and make symlink dangle
483
- ::File.delete(file)
484
-
485
- # symlink3 is now indirectly dangled
486
- expect(Puppet::FileSystem.exist?(symlink3)).to be_falsey
487
- end
488
-
489
- it "should not create a symlink when the :noop option is specified" do
490
- [file, dir].each do |target|
491
- symlink = tmpfile("#{Puppet::FileSystem.basename(target)}_link")
492
- Puppet::FileSystem.symlink(target, symlink, { :noop => true })
493
-
494
- expect(Puppet::FileSystem.exist?(target)).to be_truthy
495
- expect(Puppet::FileSystem.exist?(symlink)).to be_falsey
496
- end
497
- end
498
-
499
- it "should raise Errno::EEXIST if trying to create a file / directory symlink when the symlink path already exists as a file" do
500
- existing_file = tmpfile("#{Puppet::FileSystem.basename(file)}_link")
501
- FileUtils.touch(existing_file)
502
-
503
- [file, dir].each do |target|
504
- expect { Puppet::FileSystem.symlink(target, existing_file) }.to raise_error(Errno::EEXIST)
505
-
506
- expect(Puppet::FileSystem.exist?(existing_file)).to be_truthy
507
- expect(Puppet::FileSystem.symlink?(existing_file)).to be_falsey
508
- end
509
- end
510
-
511
- it "should silently fail if trying to create a file / directory symlink when the symlink path already exists as a directory" do
512
- existing_dir = tmpdir("#{Puppet::FileSystem.basename(file)}_dir")
513
-
514
- [file, dir].each do |target|
515
- expect(Puppet::FileSystem.symlink(target, existing_dir)).to eq(0)
516
-
517
- expect(Puppet::FileSystem.exist?(existing_dir)).to be_truthy
518
- expect(File.directory?(existing_dir)).to be_truthy
519
- expect(Puppet::FileSystem.symlink?(existing_dir)).to be_falsey
520
- end
521
- end
522
-
523
- it "should silently fail to modify an existing directory symlink to reference a new file or directory" do
524
- [file, dir].each do |target|
525
- existing_dir = tmpdir("#{Puppet::FileSystem.basename(target)}_dir")
526
- symlink = tmpfile("#{Puppet::FileSystem.basename(existing_dir)}_link")
527
- Puppet::FileSystem.symlink(existing_dir, symlink)
528
-
529
- expect(Puppet::FileSystem.readlink(symlink)).to eq(Puppet::FileSystem.path_string(existing_dir))
530
-
531
- # now try to point it at the new target, no error raised, but file system unchanged
532
- expect(Puppet::FileSystem.symlink(target, symlink)).to eq(0)
533
- expect(Puppet::FileSystem.readlink(symlink)).to eq(existing_dir.to_s)
534
- end
535
- end
536
-
537
- it "should raise Errno::EEXIST if trying to modify a file symlink to reference a new file or directory" do
538
- symlink = tmpfile("#{Puppet::FileSystem.basename(file)}_link")
539
- file_2 = tmpfile("#{Puppet::FileSystem.basename(file)}_2")
540
- FileUtils.touch(file_2)
541
- # symlink -> file_2
542
- Puppet::FileSystem.symlink(file_2, symlink)
543
-
544
- [file, dir].each do |target|
545
- expect { Puppet::FileSystem.symlink(target, symlink) }.to raise_error(Errno::EEXIST)
546
- expect(Puppet::FileSystem.readlink(symlink)).to eq(file_2.to_s)
547
- end
548
- end
549
-
550
- it "should delete the existing file when creating a file / directory symlink with :force when the symlink path exists as a file" do
551
- [file, dir].each do |target|
552
- existing_file = tmpfile("#{Puppet::FileSystem.basename(target)}_existing")
553
- FileUtils.touch(existing_file)
554
- expect(Puppet::FileSystem.symlink?(existing_file)).to be_falsey
555
-
556
- Puppet::FileSystem.symlink(target, existing_file, { :force => true })
557
-
558
- expect(Puppet::FileSystem.symlink?(existing_file)).to be_truthy
559
- expect(Puppet::FileSystem.readlink(existing_file)).to eq(target.to_s)
560
- end
561
- end
562
-
563
- it "should modify an existing file symlink when using :force to reference a new file or directory" do
564
- [file, dir].each do |target|
565
- existing_file = tmpfile("#{Puppet::FileSystem.basename(target)}_existing")
566
- FileUtils.touch(existing_file)
567
- existing_symlink = tmpfile("#{Puppet::FileSystem.basename(existing_file)}_link")
568
- Puppet::FileSystem.symlink(existing_file, existing_symlink)
569
-
570
- expect(Puppet::FileSystem.readlink(existing_symlink)).to eq(existing_file.to_s)
571
-
572
- Puppet::FileSystem.symlink(target, existing_symlink, { :force => true })
573
-
574
- expect(Puppet::FileSystem.readlink(existing_symlink)).to eq(target.to_s)
575
- end
576
- end
577
-
578
- it "should silently fail if trying to overwrite an existing directory with a new symlink when using :force to reference a file or directory" do
579
- [file, dir].each do |target|
580
- existing_dir = tmpdir("#{Puppet::FileSystem.basename(target)}_existing")
581
-
582
- expect(Puppet::FileSystem.symlink(target, existing_dir, { :force => true })).to eq(0)
583
-
584
- expect(Puppet::FileSystem.symlink?(existing_dir)).to be_falsey
585
- end
586
- end
587
-
588
- it "should silently fail if trying to modify an existing directory symlink when using :force to reference a new file or directory" do
589
- [file, dir].each do |target|
590
- existing_dir = tmpdir("#{Puppet::FileSystem.basename(target)}_existing")
591
- existing_symlink = tmpfile("#{Puppet::FileSystem.basename(existing_dir)}_link")
592
- Puppet::FileSystem.symlink(existing_dir, existing_symlink)
593
-
594
- expect(Puppet::FileSystem.readlink(existing_symlink)).to eq(existing_dir.to_s)
595
-
596
- expect(Puppet::FileSystem.symlink(target, existing_symlink, { :force => true })).to eq(0)
597
-
598
- expect(Puppet::FileSystem.readlink(existing_symlink)).to eq(existing_dir.to_s)
599
- end
600
- end
601
-
602
- it "should accept a string, Pathname or object with to_str (Puppet::Util::WatchedFile) for exist?" do
603
- [ tmpfile('bogus1'),
604
- Pathname.new(tmpfile('bogus2')),
605
- Puppet::Util::WatchedFile.new(tmpfile('bogus3'))
606
- ].each { |f| expect(Puppet::FileSystem.exist?(f)).to be_falsey }
607
- end
608
-
609
- it "should return a File::Stat instance when calling stat on an existing file" do
610
- expect(Puppet::FileSystem.stat(file)).to be_instance_of(File::Stat)
611
- end
612
-
613
- it "should raise Errno::ENOENT when calling stat on a missing file" do
614
- expect { Puppet::FileSystem.stat(missing_file) }.to raise_error(Errno::ENOENT)
615
- end
616
-
617
- it "should be able to create a symlink, and verify it with symlink?" do
618
- symlink = tmpfile("somefile_link")
619
- Puppet::FileSystem.symlink(file, symlink)
620
-
621
- expect(Puppet::FileSystem.symlink?(symlink)).to be_truthy
622
- end
623
-
624
- it "should report symlink? as false on file, directory and missing files" do
625
- [file, dir, missing_file].each do |f|
626
- expect(Puppet::FileSystem.symlink?(f)).to be_falsey
627
- end
628
- end
629
-
630
- it "should return a File::Stat with ftype 'link' when calling lstat on a symlink pointing to existing file" do
631
- symlink = tmpfile("somefile_link")
632
- Puppet::FileSystem.symlink(file, symlink)
633
-
634
- stat = Puppet::FileSystem.lstat(symlink)
635
- expect(stat).to be_instance_of(File::Stat)
636
- expect(stat.ftype).to eq('link')
637
- end
638
-
639
- it "should return a File::Stat of ftype 'link' when calling lstat on a symlink pointing to missing file" do
640
- symlink = tmpfile("somefile_link")
641
- Puppet::FileSystem.symlink(missing_file, symlink)
642
-
643
- stat = Puppet::FileSystem.lstat(symlink)
644
- expect(stat).to be_instance_of(File::Stat)
645
- expect(stat.ftype).to eq('link')
646
- end
647
-
648
- it "should return a File::Stat of ftype 'file' when calling stat on a symlink pointing to existing file" do
649
- symlink = tmpfile("somefile_link")
650
- Puppet::FileSystem.symlink(file, symlink)
651
-
652
- stat = Puppet::FileSystem.stat(symlink)
653
- expect(stat).to be_instance_of(File::Stat)
654
- expect(stat.ftype).to eq('file')
655
- end
656
-
657
- it "should return a File::Stat of ftype 'directory' when calling stat on a symlink pointing to existing directory" do
658
- symlink = tmpfile("somefile_link")
659
- Puppet::FileSystem.symlink(dir, symlink)
660
-
661
- stat = Puppet::FileSystem.stat(symlink)
662
- expect(stat).to be_instance_of(File::Stat)
663
- expect(stat.ftype).to eq('directory')
664
-
665
- # on Windows, this won't get cleaned up if still linked
666
- Puppet::FileSystem.unlink(symlink)
667
- end
668
-
669
- it "should return a File::Stat of ftype 'file' when calling stat on a symlink pointing to another symlink" do
670
- # point symlink -> file
671
- symlink = tmpfile("somefile_link")
672
- Puppet::FileSystem.symlink(file, symlink)
673
-
674
- # point symlink2 -> symlink
675
- symlink2 = tmpfile("somefile_link2")
676
- Puppet::FileSystem.symlink(symlink, symlink2)
677
-
678
- expect(Puppet::FileSystem.stat(symlink2).ftype).to eq('file')
679
- end
680
-
681
-
682
- it "should raise Errno::ENOENT when calling stat on a dangling symlink" do
683
- symlink = tmpfile("somefile_link")
684
- Puppet::FileSystem.symlink(missing_file, symlink)
685
-
686
- expect { Puppet::FileSystem.stat(symlink) }.to raise_error(Errno::ENOENT)
687
- end
688
-
689
- it "should be able to readlink to resolve the physical path to a symlink" do
690
- symlink = tmpfile("somefile_link")
691
- Puppet::FileSystem.symlink(file, symlink)
692
-
693
- expect(Puppet::FileSystem.exist?(file)).to be_truthy
694
- expect(Puppet::FileSystem.readlink(symlink)).to eq(file.to_s)
695
- end
696
-
697
- it "should not resolve entire symlink chain with readlink on a symlink'd symlink" do
698
- # point symlink -> file
699
- symlink = tmpfile("somefile_link")
700
- Puppet::FileSystem.symlink(file, symlink)
701
-
702
- # point symlink2 -> symlink
703
- symlink2 = tmpfile("somefile_link2")
704
- Puppet::FileSystem.symlink(symlink, symlink2)
705
-
706
- expect(Puppet::FileSystem.exist?(file)).to be_truthy
707
- expect(Puppet::FileSystem.readlink(symlink2)).to eq(symlink.to_s)
708
- end
709
-
710
- it "should be able to readlink to resolve the physical path to a dangling symlink" do
711
- symlink = tmpfile("somefile_link")
712
- Puppet::FileSystem.symlink(missing_file, symlink)
713
-
714
- expect(Puppet::FileSystem.exist?(missing_file)).to be_falsey
715
- expect(Puppet::FileSystem.readlink(symlink)).to eq(missing_file.to_s)
716
- end
717
-
718
- it "should be able to unlink a dangling symlink pointed at a file" do
719
- symlink = tmpfile("somefile_link")
720
- Puppet::FileSystem.symlink(file, symlink)
721
- ::File.delete(file)
722
- Puppet::FileSystem.unlink(symlink)
723
-
724
- expect(Puppet::FileSystem).to_not be_exist(file)
725
- expect(Puppet::FileSystem).to_not be_exist(symlink)
726
- end
727
-
728
- it "should be able to unlink a dangling symlink pointed at a directory" do
729
- symlink = tmpfile("somedir_link")
730
- Puppet::FileSystem.symlink(dir, symlink)
731
- Dir.rmdir(dir)
732
- Puppet::FileSystem.unlink(symlink)
733
-
734
- expect(Puppet::FileSystem).to_not be_exist(dir)
735
- expect(Puppet::FileSystem).to_not be_exist(symlink)
736
- end
737
-
738
- it "should delete only the symlink and not the target when calling unlink instance method" do
739
- [file, dir].each do |target|
740
- symlink = tmpfile("#{Puppet::FileSystem.basename(target)}_link")
741
- Puppet::FileSystem.symlink(target, symlink)
742
-
743
- expect(Puppet::FileSystem.exist?(target)).to be_truthy
744
- expect(Puppet::FileSystem.readlink(symlink)).to eq(target.to_s)
745
-
746
- expect(Puppet::FileSystem.unlink(symlink)).to eq(1) # count of files
747
-
748
- expect(Puppet::FileSystem.exist?(target)).to be_truthy
749
- expect(Puppet::FileSystem.exist?(symlink)).to be_falsey
750
- end
751
- end
752
-
753
- it "should delete only the symlink and not the target when calling unlink class method" do
754
- [file, dir].each do |target|
755
- symlink = tmpfile("#{Puppet::FileSystem.basename(target)}_link")
756
- Puppet::FileSystem.symlink(target, symlink)
757
-
758
- expect(Puppet::FileSystem.exist?(target)).to be_truthy
759
- expect(Puppet::FileSystem.readlink(symlink)).to eq(target.to_s)
760
-
761
- expect(Puppet::FileSystem.unlink(symlink)).to eq(1) # count of files
762
-
763
- expect(Puppet::FileSystem.exist?(target)).to be_truthy
764
- expect(Puppet::FileSystem.exist?(symlink)).to be_falsey
765
- end
766
- end
767
-
768
- describe "unlink" do
769
- it "should delete files with unlink" do
770
- expect(Puppet::FileSystem.exist?(file)).to be_truthy
771
-
772
- expect(Puppet::FileSystem.unlink(file)).to eq(1) # count of files
773
-
774
- expect(Puppet::FileSystem.exist?(file)).to be_falsey
775
- end
776
-
777
- it "should delete files with unlink class method" do
778
- expect(Puppet::FileSystem.exist?(file)).to be_truthy
779
-
780
- expect(Puppet::FileSystem.unlink(file)).to eq(1) # count of files
781
-
782
- expect(Puppet::FileSystem.exist?(file)).to be_falsey
783
- end
784
-
785
- it "should delete multiple files with unlink class method" do
786
- paths = (1..3).collect do |i|
787
- f = tmpfile("somefile_#{i}")
788
- FileUtils.touch(f)
789
- expect(Puppet::FileSystem.exist?(f)).to be_truthy
790
- f.to_s
791
- end
792
-
793
- expect(Puppet::FileSystem.unlink(*paths)).to eq(3) # count of files
794
-
795
- paths.each { |p| expect(Puppet::FileSystem.exist?(p)).to be_falsey }
796
- end
797
-
798
- it "should raise Errno::EPERM or Errno::EISDIR when trying to delete a directory with the unlink class method" do
799
- expect(Puppet::FileSystem.exist?(dir)).to be_truthy
800
-
801
- ex = nil
802
- begin
803
- Puppet::FileSystem.unlink(dir)
804
- rescue Exception => e
805
- ex = e
806
- end
807
-
808
- expect([
809
- Errno::EPERM, # Windows and OSX
810
- Errno::EISDIR # Linux
811
- ]).to include(ex.class)
812
-
813
- expect(Puppet::FileSystem.exist?(dir)).to be_truthy
814
- end
815
-
816
- it "should raise Errno::EACCESS when trying to delete a file whose parent directory does not allow execute/traverse", unless: Puppet::Util::Platform.windows? do
817
- dir = tmpdir('file_system_unlink')
818
- path = File.join(dir, 'deleteme')
819
- mode = Puppet::FileSystem.stat(dir).mode
820
- Puppet::FileSystem.chmod(0, dir)
821
- begin
822
- # JRuby 9.2.21.0 drops the path from the message..
823
- message = Puppet::Util::Platform.jruby? ? /^Permission denied/ : /^Permission denied .* #{path}/
824
- expect {
825
- Puppet::FileSystem.unlink(path)
826
- }.to raise_error(Errno::EACCES, message)
827
- ensure
828
- Puppet::FileSystem.chmod(mode, dir)
829
- end
830
- end
831
- end
832
-
833
- describe "exclusive_create" do
834
- it "should create a file that doesn't exist" do
835
- expect(Puppet::FileSystem.exist?(missing_file)).to be_falsey
836
-
837
- Puppet::FileSystem.exclusive_create(missing_file, nil) {}
838
-
839
- expect(Puppet::FileSystem.exist?(missing_file)).to be_truthy
840
- end
841
-
842
- it "should raise Errno::EEXIST creating a file that does exist" do
843
- expect(Puppet::FileSystem.exist?(file)).to be_truthy
844
-
845
- expect do
846
- Puppet::FileSystem.exclusive_create(file, nil) {}
847
- end.to raise_error(Errno::EEXIST)
848
- end
849
- end
850
-
851
- describe 'expand_path' do
852
- it 'should raise an error when given nil, like Ruby File.expand_path' do
853
- expect { File.expand_path(nil) }.to raise_error(TypeError)
854
-
855
- # match Ruby behavior
856
- expect { Puppet::FileSystem.expand_path(nil) }.to raise_error(TypeError)
857
- end
858
-
859
- it 'with an expanded path passed to Dir.glob, the same expanded path will be returned' do
860
- # this exists specifically for Puppet::Pops::Loader::ModuleLoaders::FileBased#add_to_index
861
- # which should receive an expanded path value from it's parent Environment
862
- # and will later compare values generated by Dir.glob
863
- tmp_long_file = tmpfile('foo.bar', tmpdir('super-long-thing-that-Windows-shortens'))
864
- Puppet::FileSystem.touch(tmp_long_file)
865
- expanded_path = Puppet::FileSystem.expand_path(tmp_long_file)
866
-
867
- expect(expanded_path).to eq(Dir.glob(expanded_path).first)
868
- end
869
-
870
- describe 'on non-Windows', :unless => Puppet::Util::Platform.windows? do
871
- it 'should produce the same results as the Ruby File.expand_path' do
872
- # on Windows this may be 8.3 style, but not so on other platforms
873
- # only done since expect(::File).to receive(:expand_path).with(path).at_least(:once)
874
- # cannot be used since it will cause a stack overflow
875
- path = tmpdir('foobar')
876
-
877
- expect(Puppet::FileSystem.expand_path(path)).to eq(File.expand_path(path))
878
- end
879
- end
880
-
881
- describe 'on Windows', :if => Puppet::Util::Platform.windows? do
882
- let(:nonexist_file) { 'C:\\file~1.ext' }
883
- let(:nonexist_path) { 'C:\\progra~1\\missing\\path\\file.ext' }
884
-
885
- ['/', '\\'].each do |slash|
886
- it "should return the absolute path including system drive letter when given #{slash}, like Ruby File.expand_path" do
887
-
888
- # regardless of slash direction, return value is drive letter
889
- expanded = Puppet::FileSystem.expand_path(slash)
890
- expect(expanded).to match(/^[a-z]:/i)
891
- end
892
- end
893
-
894
- it 'should behave like Rubys File.expand_path for a file that doesnt exist' do
895
- expect(Puppet::FileSystem.exist?(nonexist_file)).to be_falsey
896
- # this will change c:\\file~1.ext to c:/file~1.ext (existing Ruby behavior), but not expand any ~
897
- ruby_expanded = File.expand_path(nonexist_file)
898
- expect(ruby_expanded).to match(/~/)
899
- expect(Puppet::FileSystem.expand_path(nonexist_file)).to eq(ruby_expanded)
900
- end
901
-
902
- it 'should behave like Rubys File.expand_path for a file with a parent path that doesnt exist' do
903
- expect(Puppet::FileSystem.exist?(nonexist_path)).to be_falsey
904
- # this will change c:\\progra~1 to c:/progra~1 (existing Ruby behavior), but not expand any ~
905
- ruby_expanded = File.expand_path(nonexist_path)
906
- expect(ruby_expanded).to match(/~/)
907
- expect(Puppet::FileSystem.expand_path(nonexist_path)).to eq(ruby_expanded)
908
- end
909
-
910
- it 'should expand a shortened path completely, unlike Ruby File.expand_path' do
911
- tmp_long_dir = tmpdir('super-long-thing-that-Windows-shortens')
912
- short_path = Puppet::Util::Windows::File.get_short_pathname(tmp_long_dir)
913
-
914
- # a shortened path to the temp dir will have a least 2 ~
915
- # for instance, C:\\Users\\Administrator\\AppData\\Local\\Temp\\rspecrun2016####-####-#######\\super-long-thing-that-Windows-shortens\
916
- # or C:\\Windows\\Temp\\rspecrun2016####-####-#######\\super-long-thing-that-Windows-shortens\
917
- # will shorten to Temp\\rspecr~#\\super-~1
918
- expect(short_path).to match(/~.*~/)
919
-
920
- # expand with Ruby, noting not all ~ have been expanded
921
- # which is the primary reason that a Puppet helper exists
922
- ruby_expanded = File.expand_path(short_path)
923
- expect(ruby_expanded).to match(/~/)
924
-
925
- # Puppet expansion uses the Windows API and has no ~ remaining
926
- puppet_expanded = Puppet::FileSystem.expand_path(short_path)
927
- expect(puppet_expanded).to_not match(/~/)
928
-
929
- # and the directories are one and the same
930
- expect(File.identical?(short_path, puppet_expanded)).to be_truthy
931
- end
932
- end
933
- end
934
- end
935
-
936
- describe '#replace_file' do
937
- let(:dest) { tmpfile('replace_file') }
938
- let(:content) { "some data" }
939
-
940
- context 'when creating' do
941
- it 'writes the data' do
942
- Puppet::FileSystem.replace_file(dest) { |f| f.write(content) }
943
-
944
- expect(Puppet::FileSystem.binread(dest)).to eq(content)
945
- end
946
-
947
- it 'writes in binary mode' do
948
- Puppet::FileSystem.replace_file(dest) { |f| f.write("\x00\x01\x02") }
949
-
950
- expect(Puppet::FileSystem.binread(dest)).to eq("\x00\x01\x02")
951
- end
952
-
953
- context 'on posix', unless: Puppet::Util::Platform.windows? do
954
- it 'applies the default mode 0640' do
955
- Puppet::FileSystem.replace_file(dest) { |f| f.write(content) }
956
-
957
- mode = Puppet::FileSystem.stat(dest).mode
958
- expect(mode & 07777).to eq(0640)
959
- end
960
-
961
- it 'applies the specified mode' do
962
- Puppet::FileSystem.replace_file(dest, 0777) { |f| f.write(content) }
963
-
964
- mode = Puppet::FileSystem.stat(dest).mode
965
- expect(mode & 07777).to eq(0777)
966
- end
967
-
968
- it 'raises EACCES if we do not have permission' do
969
- dir = tmpdir('file_system')
970
- dest = File.join(dir, 'unwritable')
971
-
972
- Puppet::FileSystem.chmod(0600, dir)
973
-
974
- expect {
975
- Puppet::FileSystem.replace_file(dest) { |_| }
976
- }.to raise_error(Errno::EACCES, /Permission denied/)
977
- end
978
-
979
- it 'creates a read-only file' do
980
- Puppet::FileSystem.replace_file(dest, 0400) { |f| f.write(content) }
981
-
982
- expect(Puppet::FileSystem.binread(dest)).to eq(content)
983
-
984
- mode = Puppet::FileSystem.stat(dest).mode
985
- expect(mode & 07777).to eq(0400)
986
- end
987
-
988
- it 'preserves file ownership' do
989
- FileUtils.touch(dest)
990
- allow(File).to receive(:lstat).and_call_original
991
- allow(File).to receive(:lstat).with(Pathname.new(dest)).and_return(double(uid: 1, gid: 2, 'directory?': false))
992
-
993
- allow(File).to receive(:chown).and_call_original
994
- expect(FileUtils).to receive(:chown).with(1, 2, any_args)
995
-
996
- Puppet::FileSystem.replace_file(dest, 0644) { |f| f.write(content) }
997
- end
998
- end
999
-
1000
- context 'on windows', if: Puppet::Util::Platform.windows? do
1001
- it 'does not grant users access by default' do
1002
- Puppet::FileSystem.replace_file(dest) { |f| f.write(content) }
1003
-
1004
- expects_private_file(dest)
1005
- end
1006
-
1007
- it 'applies the specified mode' do
1008
- Puppet::FileSystem.replace_file(dest, 0644) { |f| f.write(content) }
1009
-
1010
- expects_public_file(dest)
1011
- end
1012
-
1013
- it 'rejects unsupported modes' do
1014
- expect {
1015
- Puppet::FileSystem.replace_file(dest, 0755) { |_| }
1016
- }.to raise_error(ArgumentError, /Only modes 0644, 0640, 0660, and 0440 are allowed/)
1017
- end
1018
-
1019
- it 'falls back to fully qualified user name when sid retrieval fails' do
1020
- current_user_sid = Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_user_name)
1021
- allow(Puppet::Util::Windows::SID).to receive(:name_to_sid).with(Puppet::Util::Windows::ADSI::User.current_user_name).and_return(nil, current_user_sid)
1022
- allow(Puppet::Util::Windows::SID).to receive(:name_to_sid).with(Puppet::Util::Windows::ADSI::User.current_sam_compatible_user_name).and_call_original
1023
-
1024
- Puppet::FileSystem.replace_file(dest, 0644) { |f| f.write(content) }
1025
- expects_public_file(dest)
1026
- end
1027
- end
1028
- end
1029
-
1030
- context "when overwriting" do
1031
- before :each do
1032
- FileUtils.touch(dest)
1033
- end
1034
-
1035
- it 'overwrites the content' do
1036
- Puppet::FileSystem.replace_file(dest) { |f| f.write(content) }
1037
-
1038
- expect(Puppet::FileSystem.binread(dest)).to eq(content)
1039
- end
1040
-
1041
- it 'raises ISDIR if the destination is a directory' do
1042
- dir = tmpdir('file_system')
1043
-
1044
- expect {
1045
- Puppet::FileSystem.replace_file(dir) { |f| f.write(content) }
1046
- }.to raise_error(Errno::EISDIR, /Is a directory/)
1047
- end
1048
-
1049
- it 'preserves the existing content if an error is raised' do
1050
- File.write(dest, 'existing content')
1051
-
1052
- Puppet::FileSystem.replace_file(dest) { |f| raise 'whoops' } rescue nil
1053
-
1054
- expect(Puppet::FileSystem.binread(dest)).to eq('existing content')
1055
- end
1056
-
1057
- context 'on posix', unless: Puppet::Util::Platform.windows? do
1058
- it 'preserves the existing mode' do
1059
- Puppet::FileSystem.chmod(0600, dest)
1060
-
1061
- Puppet::FileSystem.replace_file(dest) { |f| f.write(content) }
1062
-
1063
- mode = Puppet::FileSystem.stat(dest).mode
1064
- expect(mode & 07777).to eq(0600)
1065
- end
1066
-
1067
- it 'applies the specified mode' do
1068
- Puppet::FileSystem.chmod(0600, dest)
1069
-
1070
- Puppet::FileSystem.replace_file(dest, 0777) { |f| f.write(content) }
1071
-
1072
- mode = Puppet::FileSystem.stat(dest).mode
1073
- expect(mode & 07777).to eq(0777)
1074
- end
1075
-
1076
- it 'updates a read-only file' do
1077
- Puppet::FileSystem.chmod(0400, dest)
1078
-
1079
- Puppet::FileSystem.replace_file(dest) { |f| f.write(content) }
1080
-
1081
- expect(Puppet::FileSystem.binread(dest)).to eq(content)
1082
-
1083
- mode = Puppet::FileSystem.stat(dest).mode
1084
- expect(mode & 07777).to eq(0400)
1085
- end
1086
- end
1087
-
1088
- context 'on windows', if: Puppet::Util::Platform.windows? do
1089
- it 'preserves the existing mode' do
1090
- old_sd = Puppet::Util::Windows::Security.get_security_descriptor(dest)
1091
-
1092
- Puppet::FileSystem.replace_file(dest) { |f| f.write(content) }
1093
-
1094
- new_sd = Puppet::Util::Windows::Security.get_security_descriptor(dest)
1095
- expect(old_sd.owner).to eq(new_sd.owner)
1096
- expect(old_sd.group).to eq(new_sd.group)
1097
- old_sd.dacl.each do |ace|
1098
- expect(new_sd.dacl).to include(an_object_having_attributes(sid: ace.sid, mask: ace.mask))
1099
- end
1100
- end
1101
-
1102
- it 'applies 0644 mode' do
1103
- Puppet::FileSystem.replace_file(dest, 0644) { |f| f.write(content) }
1104
-
1105
- expects_public_file(dest)
1106
- end
1107
-
1108
- [0660, 0640, 0600, 0440].each do |mode|
1109
- it "applies #{mode} mode" do
1110
- Puppet::FileSystem.replace_file(dest, mode) { |f| f.write(content) }
1111
- current_sid = Puppet::Util::Windows::SID.name_to_sid(Puppet::Util::Windows::ADSI::User.current_user_name)
1112
- sd = Puppet::Util::Windows::Security.get_security_descriptor(dest)
1113
-
1114
- expect(sd.dacl).to contain_exactly(
1115
- an_object_having_attributes(sid: Puppet::Util::Windows::SID::LocalSystem, mask: 0x1f01ff),
1116
- an_object_having_attributes(sid: Puppet::Util::Windows::SID::BuiltinAdministrators, mask: 0x1f01ff),
1117
- an_object_having_attributes(sid: current_sid, mask: 0x1f01ff),
1118
- )
1119
- end
1120
- end
1121
-
1122
- it 'raises Errno::EACCES if access is denied' do
1123
- allow(Puppet::Util::Windows::Security).to receive(:get_security_descriptor).and_raise(Puppet::Util::Windows::Error.new('access denied', 5))
1124
-
1125
- expect {
1126
- Puppet::FileSystem.replace_file(dest) { |f| f.write(content) }
1127
- }.to raise_error(Errno::EACCES, /Access is denied/)
1128
- end
1129
-
1130
- it 'raises SystemCallError otherwise' do
1131
- allow(Puppet::Util::Windows::Security).to receive(:get_security_descriptor).and_raise(Puppet::Util::Windows::Error.new('arena is trashed', 7))
1132
-
1133
- expect {
1134
- Puppet::FileSystem.replace_file(dest) { |f| f.write(content) }
1135
- }.to raise_error(SystemCallError, /The storage control blocks were destroyed/)
1136
- end
1137
- end
1138
- end
1139
- end
1140
-
1141
- context '#touch' do
1142
- let(:dest) { tmpfile('touch_file') }
1143
-
1144
- it 'creates a file' do
1145
- Puppet::FileSystem.touch(dest)
1146
-
1147
- expect(File).to be_file(dest)
1148
- end
1149
-
1150
- it 'updates the mtime for an existing file' do
1151
- Puppet::FileSystem.touch(dest)
1152
-
1153
- now = Time.now
1154
- allow(Time).to receive(:now).and_return(now)
1155
-
1156
- Puppet::FileSystem.touch(dest)
1157
-
1158
- expect(File.mtime(dest)).to be_within(1).of(now)
1159
- end
1160
-
1161
- it 'allows the mtime to be passed in' do
1162
- tomorrow = Time.now + (24 * 60 * 60)
1163
-
1164
- Puppet::FileSystem.touch(dest, mtime: tomorrow)
1165
-
1166
- expect(File.mtime(dest)).to be_within(1).of(tomorrow)
1167
- end
1168
- end
1169
-
1170
- context '#chmod' do
1171
- let(:dest) { tmpfile('abs_file') }
1172
-
1173
- it "changes the mode given an absolute string" do
1174
- Puppet::FileSystem.touch(dest)
1175
- Puppet::FileSystem.chmod(0644, dest)
1176
- expect(File.stat(dest).mode & 0777).to eq(0644)
1177
- end
1178
-
1179
- it "returns true if given an absolute pathname" do
1180
- Puppet::FileSystem.touch(dest)
1181
- Puppet::FileSystem.chmod(0644, Pathname.new(dest))
1182
- expect(File.stat(dest).mode & 0777).to eq(0644)
1183
- end
1184
-
1185
- it "raises if the file doesn't exist" do
1186
- klass = Puppet::Util::Platform.windows? ? Puppet::Error : Errno::ENOENT
1187
- expect {
1188
- Puppet::FileSystem.chmod(0644, dest)
1189
- }.to raise_error(klass)
1190
- end
1191
-
1192
- it "raises ArgumentError if dest is invalid" do
1193
- expect {
1194
- Puppet::FileSystem.chmod(0644, nil)
1195
- }.to raise_error(ArgumentError, /expected Pathname, got: 'NilClass'/)
1196
- end
1197
- end
1198
- end