puppet 3.8.7 → 4.0.0.rc1

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

Potentially problematic release.


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

Files changed (1586) hide show
  1. data/CONTRIBUTING.md +26 -11
  2. data/Gemfile +13 -25
  3. data/LICENSE +1 -1
  4. data/Rakefile +9 -0
  5. data/bin/puppet +7 -6
  6. data/conf/auth.conf +30 -26
  7. data/conf/environment.conf +16 -0
  8. data/conf/fileserver.conf +2 -2
  9. data/conf/puppet.conf +6 -0
  10. data/ext/README.environment +1 -1
  11. data/ext/build_defaults.yaml +16 -7
  12. data/ext/debian/control +5 -5
  13. data/ext/debian/puppet-common.manpages +0 -5
  14. data/ext/debian/puppet-common.postinst +3 -3
  15. data/ext/debian/puppet.init +23 -12
  16. data/ext/debian/puppet.logrotate +1 -2
  17. data/ext/debian/puppetmaster-common.postinst +6 -0
  18. data/ext/debian/puppetmaster.init +5 -5
  19. data/ext/debian/rules +4 -1
  20. data/ext/debian/vim-puppet.dirs +2 -0
  21. data/ext/debian/vim-puppet.yaml +2 -0
  22. data/ext/emacs/puppet-mode.el +0 -1
  23. data/ext/gentoo/conf.d/puppet +1 -1
  24. data/ext/gentoo/conf.d/puppetmaster +1 -1
  25. data/ext/nagios/check_puppet.rb +1 -1
  26. data/ext/project_data.yaml +6 -7
  27. data/ext/puppet-nm-dispatcher +13 -0
  28. data/ext/puppet-test +0 -66
  29. data/ext/puppetlisten/puppetlisten.rb +7 -5
  30. data/ext/rack/config.ru +12 -5
  31. data/ext/redhat/client.init +3 -3
  32. data/ext/redhat/logrotate +1 -2
  33. data/ext/redhat/puppet.spec.erb +12 -8
  34. data/ext/redhat/server.init +1 -1
  35. data/ext/regexp_nodes/regexp_nodes.rb +1 -1
  36. data/ext/solaris/smf/svc-puppetd +1 -1
  37. data/ext/solaris/smf/svc-puppetmasterd +1 -1
  38. data/ext/suse/client.init +1 -1
  39. data/ext/suse/server.init +1 -1
  40. data/ext/systemd/puppet.service +1 -3
  41. data/ext/vim/syntax/puppet.vim +1 -1
  42. data/ext/windows/service/daemon.rb +19 -2
  43. data/install.rb +63 -7
  44. data/lib/hiera/puppet_function.rb +7 -18
  45. data/lib/hiera/scope.rb +4 -1
  46. data/lib/puppet.rb +19 -51
  47. data/lib/puppet/agent.rb +2 -6
  48. data/lib/puppet/application.rb +14 -65
  49. data/lib/puppet/application/agent.rb +7 -56
  50. data/lib/puppet/application/apply.rb +1 -6
  51. data/lib/puppet/application/ca.rb +5 -0
  52. data/lib/puppet/application/cert.rb +7 -3
  53. data/lib/puppet/application/certificate.rb +2 -0
  54. data/lib/puppet/application/device.rb +10 -36
  55. data/lib/puppet/application/doc.rb +16 -63
  56. data/lib/puppet/application/epp.rb +5 -0
  57. data/lib/puppet/application/face_base.rb +24 -5
  58. data/lib/puppet/application/master.rb +2 -5
  59. data/lib/puppet/application/resource.rb +17 -17
  60. data/lib/puppet/application_support.rb +57 -0
  61. data/lib/puppet/configurer.rb +3 -7
  62. data/lib/puppet/configurer/downloader.rb +1 -0
  63. data/lib/puppet/configurer/fact_handler.rb +1 -1
  64. data/lib/puppet/daemon.rb +6 -15
  65. data/lib/puppet/data_providers.rb +28 -0
  66. data/lib/puppet/data_providers/data_adapter.rb +86 -0
  67. data/lib/puppet/data_providers/data_function_support.rb +32 -0
  68. data/lib/puppet/data_providers/function_env_data_provider.rb +28 -0
  69. data/lib/puppet/data_providers/function_module_data_provider.rb +44 -0
  70. data/lib/puppet/defaults.rb +135 -530
  71. data/lib/puppet/environments.rb +10 -156
  72. data/lib/puppet/error.rb +4 -30
  73. data/lib/puppet/external/nagios/base.rb +2 -2
  74. data/lib/puppet/external/pson/common.rb +2 -17
  75. data/lib/puppet/external/pson/pure/generator.rb +1 -0
  76. data/lib/puppet/external/pson/pure/parser.rb +0 -11
  77. data/lib/puppet/face/catalog.rb +4 -4
  78. data/lib/puppet/face/certificate.rb +2 -3
  79. data/lib/puppet/face/certificate_request.rb +4 -3
  80. data/lib/puppet/face/certificate_revocation_list.rb +5 -9
  81. data/lib/puppet/face/config.rb +2 -2
  82. data/lib/puppet/face/epp.rb +479 -0
  83. data/lib/puppet/face/facts.rb +6 -49
  84. data/lib/puppet/face/file.rb +2 -2
  85. data/lib/puppet/face/file/download.rb +1 -2
  86. data/lib/puppet/face/help.rb +2 -3
  87. data/lib/puppet/face/module/build.rb +5 -5
  88. data/lib/puppet/face/module/changes.rb +1 -1
  89. data/lib/puppet/face/module/generate.rb +6 -6
  90. data/lib/puppet/face/module/install.rb +16 -16
  91. data/lib/puppet/face/module/list.rb +9 -9
  92. data/lib/puppet/face/module/uninstall.rb +5 -5
  93. data/lib/puppet/face/module/upgrade.rb +3 -3
  94. data/lib/puppet/face/node.rb +3 -4
  95. data/lib/puppet/face/node/clean.rb +5 -68
  96. data/lib/puppet/face/parser.rb +6 -8
  97. data/lib/puppet/face/report.rb +4 -4
  98. data/lib/puppet/face/resource.rb +1 -1
  99. data/lib/puppet/face/resource_type.rb +7 -4
  100. data/lib/puppet/face/status.rb +6 -12
  101. data/lib/puppet/feature/base.rb +0 -7
  102. data/lib/puppet/file_bucket/dipper.rb +1 -2
  103. data/lib/puppet/file_bucket/file.rb +12 -25
  104. data/lib/puppet/file_serving/base.rb +1 -11
  105. data/lib/puppet/file_serving/content.rb +5 -7
  106. data/lib/puppet/file_serving/metadata.rb +4 -61
  107. data/lib/puppet/file_serving/mount/pluginfacts.rb +1 -1
  108. data/lib/puppet/file_serving/mount/plugins.rb +1 -1
  109. data/lib/puppet/file_serving/terminus_helper.rb +16 -5
  110. data/lib/puppet/file_system.rb +6 -22
  111. data/lib/puppet/file_system/file_impl.rb +0 -4
  112. data/lib/puppet/file_system/memory_file.rb +0 -5
  113. data/lib/puppet/file_system/memory_impl.rb +0 -4
  114. data/lib/puppet/file_system/{file19.rb → posix.rb} +1 -1
  115. data/lib/puppet/file_system/{file19windows.rb → windows.rb} +2 -10
  116. data/lib/puppet/forge/repository.rb +12 -8
  117. data/lib/puppet/functions.rb +17 -51
  118. data/lib/puppet/functions/assert_type.rb +7 -7
  119. data/lib/puppet/functions/each.rb +1 -3
  120. data/lib/puppet/functions/epp.rb +3 -3
  121. data/lib/puppet/functions/filter.rb +3 -5
  122. data/lib/puppet/functions/hiera.rb +2 -23
  123. data/lib/puppet/functions/hiera_array.rb +3 -25
  124. data/lib/puppet/functions/hiera_hash.rb +2 -26
  125. data/lib/puppet/functions/hiera_include.rb +4 -37
  126. data/lib/puppet/functions/inline_epp.rb +1 -2
  127. data/lib/puppet/functions/lookup.rb +234 -0
  128. data/lib/puppet/functions/map.rb +1 -3
  129. data/lib/puppet/functions/match.rb +5 -5
  130. data/lib/puppet/functions/reduce.rb +1 -3
  131. data/lib/puppet/functions/regsubst.rb +79 -0
  132. data/lib/puppet/functions/scanf.rb +4 -3
  133. data/lib/puppet/functions/slice.rb +1 -3
  134. data/lib/puppet/functions/split.rb +47 -0
  135. data/lib/puppet/functions/with.rb +1 -1
  136. data/lib/puppet/graph/relationship_graph.rb +41 -13
  137. data/lib/puppet/graph/simple_graph.rb +6 -10
  138. data/lib/puppet/indirector/catalog/compiler.rb +0 -2
  139. data/lib/puppet/indirector/catalog/static_compiler.rb +4 -5
  140. data/lib/puppet/indirector/direct_file_server.rb +1 -3
  141. data/lib/puppet/indirector/face.rb +11 -2
  142. data/lib/puppet/indirector/facts/facter.rb +5 -1
  143. data/lib/puppet/indirector/facts/network_device.rb +5 -2
  144. data/lib/puppet/indirector/facts/store_configs.rb +3 -0
  145. data/lib/puppet/indirector/facts/yaml.rb +4 -0
  146. data/lib/puppet/indirector/file_metadata/file.rb +0 -15
  147. data/lib/puppet/indirector/file_server.rb +2 -16
  148. data/lib/puppet/indirector/hiera.rb +39 -1
  149. data/lib/puppet/indirector/indirection.rb +2 -9
  150. data/lib/puppet/indirector/node/ldap.rb +1 -1
  151. data/lib/puppet/indirector/request.rb +21 -81
  152. data/lib/puppet/indirector/resource/ral.rb +1 -2
  153. data/lib/puppet/indirector/resource/store_configs.rb +1 -2
  154. data/lib/puppet/indirector/resource_type/parser.rb +1 -1
  155. data/lib/puppet/indirector/rest.rb +21 -33
  156. data/lib/puppet/interface.rb +0 -7
  157. data/lib/puppet/interface/action_builder.rb +1 -1
  158. data/lib/puppet/interface/action_manager.rb +9 -13
  159. data/lib/puppet/interface/face_collection.rb +2 -2
  160. data/lib/puppet/interface/option_builder.rb +1 -3
  161. data/lib/puppet/metatype/manager.rb +1 -7
  162. data/lib/puppet/module.rb +42 -35
  163. data/lib/puppet/module_tool.rb +5 -7
  164. data/lib/puppet/module_tool/applications/application.rb +3 -10
  165. data/lib/puppet/module_tool/applications/installer.rb +13 -15
  166. data/lib/puppet/module_tool/applications/unpacker.rb +1 -1
  167. data/lib/puppet/module_tool/applications/upgrader.rb +9 -11
  168. data/lib/puppet/module_tool/contents_description.rb +17 -13
  169. data/lib/puppet/module_tool/installed_modules.rb +4 -6
  170. data/lib/puppet/module_tool/metadata.rb +3 -14
  171. data/lib/puppet/module_tool/skeleton/templates/generator/Gemfile +3 -3
  172. data/lib/puppet/module_tool/skeleton/templates/generator/Rakefile +0 -1
  173. data/lib/puppet/module_tool/skeleton/templates/generator/manifests/init.pp.erb +1 -1
  174. data/lib/puppet/module_tool/tar/gnu.rb +1 -1
  175. data/lib/puppet/module_tool/tar/mini.rb +2 -2
  176. data/lib/puppet/network/auth_config_parser.rb +2 -2
  177. data/lib/puppet/network/authconfig.rb +32 -16
  178. data/lib/puppet/network/format_handler.rb +7 -7
  179. data/lib/puppet/network/format_support.rb +4 -0
  180. data/lib/puppet/network/formats.rb +6 -62
  181. data/lib/puppet/network/http.rb +12 -2
  182. data/lib/puppet/network/http/api.rb +42 -0
  183. data/lib/puppet/network/http/api/ca.rb +2 -0
  184. data/lib/puppet/network/http/api/ca/v1.rb +11 -0
  185. data/lib/puppet/network/http/api/{v1.rb → indirected_routes.rb} +57 -29
  186. data/lib/puppet/network/http/api/indirection_type.rb +32 -0
  187. data/lib/puppet/network/http/api/master.rb +2 -0
  188. data/lib/puppet/network/http/api/master/v3.rb +22 -0
  189. data/lib/puppet/network/http/api/master/v3/authorization.rb +18 -0
  190. data/lib/puppet/network/http/api/{v2 → master/v3}/environments.rb +2 -2
  191. data/lib/puppet/network/http/compression.rb +3 -5
  192. data/lib/puppet/network/http/connection.rb +1 -8
  193. data/lib/puppet/network/http/factory.rb +2 -3
  194. data/lib/puppet/network/http/handler.rb +3 -11
  195. data/lib/puppet/network/http/rack/rest.rb +4 -4
  196. data/lib/puppet/network/http/request.rb +4 -4
  197. data/lib/puppet/network/http/webrick.rb +1 -6
  198. data/lib/puppet/network/http/webrick/rest.rb +15 -8
  199. data/lib/puppet/network/resolver.rb +2 -2
  200. data/lib/puppet/network/rights.rb +2 -2
  201. data/lib/puppet/node.rb +2 -29
  202. data/lib/puppet/node/environment.rb +92 -184
  203. data/lib/puppet/node/facts.rb +22 -44
  204. data/lib/puppet/parameter.rb +3 -16
  205. data/lib/puppet/parameter/value.rb +1 -3
  206. data/lib/puppet/parameter/value_collection.rb +12 -11
  207. data/lib/puppet/parser.rb +12 -2
  208. data/lib/puppet/parser/ast.rb +9 -78
  209. data/lib/puppet/parser/ast/block_expression.rb +11 -36
  210. data/lib/puppet/parser/ast/branch.rb +15 -18
  211. data/lib/puppet/parser/ast/hostclass.rb +1 -3
  212. data/lib/puppet/parser/ast/leaf.rb +55 -212
  213. data/lib/puppet/parser/ast/node.rb +3 -11
  214. data/lib/puppet/parser/ast/pops_bridge.rb +2 -7
  215. data/lib/puppet/parser/ast/resource.rb +14 -20
  216. data/lib/puppet/parser/ast/resource_instance.rb +4 -7
  217. data/lib/puppet/parser/ast/resourceparam.rb +21 -22
  218. data/lib/puppet/parser/compiler.rb +41 -70
  219. data/lib/puppet/parser/e4_parser_adapter.rb +2 -23
  220. data/lib/puppet/parser/files.rb +22 -67
  221. data/lib/puppet/parser/functions.rb +1 -3
  222. data/lib/puppet/parser/functions/assert_type.rb +1 -2
  223. data/lib/puppet/parser/functions/contain.rb +5 -3
  224. data/lib/puppet/parser/functions/create_resources.rb +9 -1
  225. data/lib/puppet/parser/functions/defined.rb +33 -61
  226. data/lib/puppet/parser/functions/each.rb +1 -3
  227. data/lib/puppet/parser/functions/epp.rb +1 -2
  228. data/lib/puppet/parser/functions/file.rb +1 -3
  229. data/lib/puppet/parser/functions/filter.rb +1 -3
  230. data/lib/puppet/parser/functions/hiera.rb +4 -6
  231. data/lib/puppet/parser/functions/hiera_array.rb +4 -6
  232. data/lib/puppet/parser/functions/hiera_hash.rb +6 -8
  233. data/lib/puppet/parser/functions/hiera_include.rb +2 -10
  234. data/lib/puppet/parser/functions/include.rb +4 -2
  235. data/lib/puppet/parser/functions/lookup.rb +115 -105
  236. data/lib/puppet/parser/functions/map.rb +1 -3
  237. data/lib/puppet/parser/functions/match.rb +1 -2
  238. data/lib/puppet/parser/functions/realize.rb +1 -6
  239. data/lib/puppet/parser/functions/reduce.rb +1 -3
  240. data/lib/puppet/parser/functions/regsubst.rb +1 -57
  241. data/lib/puppet/parser/functions/require.rb +6 -4
  242. data/lib/puppet/parser/functions/scanf.rb +1 -1
  243. data/lib/puppet/parser/functions/slice.rb +1 -3
  244. data/lib/puppet/parser/functions/split.rb +1 -1
  245. data/lib/puppet/parser/functions/with.rb +1 -2
  246. data/lib/puppet/parser/parser_factory.rb +5 -21
  247. data/lib/puppet/parser/relationship.rb +14 -37
  248. data/lib/puppet/parser/resource.rb +11 -22
  249. data/lib/puppet/parser/scope.rb +45 -135
  250. data/lib/puppet/parser/templatewrapper.rb +1 -29
  251. data/lib/puppet/parser/type_loader.rb +12 -15
  252. data/lib/puppet/plugins.rb +9 -0
  253. data/lib/{puppetx/puppet/bindings_scheme_handler.rb → puppet/plugins/binding_schemes.rb} +14 -4
  254. data/lib/puppet/plugins/configuration.rb +68 -0
  255. data/lib/puppet/plugins/data_providers.rb +90 -0
  256. data/lib/{puppetx/puppet/syntax_checker.rb → puppet/plugins/syntax_checkers.rb} +14 -2
  257. data/lib/puppet/pops.rb +6 -7
  258. data/lib/puppet/pops/adaptable.rb +16 -5
  259. data/lib/puppet/pops/binder/binder.rb +5 -4
  260. data/lib/puppet/pops/binder/bindings_composer.rb +6 -4
  261. data/lib/puppet/pops/binder/bindings_factory.rb +4 -0
  262. data/lib/puppet/pops/binder/bindings_label_provider.rb +1 -1
  263. data/lib/puppet/pops/binder/bindings_loader.rb +3 -8
  264. data/lib/puppet/pops/binder/bindings_model_dumper.rb +36 -8
  265. data/lib/puppet/pops/binder/config/binder_config.rb +2 -2
  266. data/lib/puppet/pops/binder/config/binder_config_checker.rb +1 -1
  267. data/lib/puppet/pops/binder/config/issues.rb +4 -0
  268. data/lib/puppet/pops/binder/injector.rb +0 -1
  269. data/lib/puppet/pops/binder/scheme_handler/symbolic_scheme.rb +1 -1
  270. data/lib/puppet/pops/evaluator/access_operator.rb +18 -50
  271. data/lib/puppet/pops/evaluator/callable_mismatch_describer.rb +5 -5
  272. data/lib/puppet/pops/evaluator/callable_signature.rb +2 -2
  273. data/lib/puppet/pops/evaluator/closure.rb +16 -21
  274. data/lib/puppet/pops/evaluator/collector_transformer.rb +11 -1
  275. data/lib/puppet/pops/evaluator/compare_operator.rb +0 -43
  276. data/lib/puppet/pops/evaluator/epp_evaluator.rb +1 -1
  277. data/lib/puppet/pops/evaluator/evaluator_impl.rb +36 -152
  278. data/lib/puppet/pops/evaluator/external_syntax_support.rb +6 -3
  279. data/lib/puppet/pops/evaluator/relationship_operator.rb +1 -1
  280. data/lib/puppet/pops/evaluator/runtime3_converter.rb +1 -1
  281. data/lib/puppet/pops/evaluator/runtime3_support.rb +9 -57
  282. data/lib/puppet/pops/functions/dispatch.rb +1 -6
  283. data/lib/puppet/pops/issue_reporter.rb +16 -42
  284. data/lib/puppet/pops/issues.rb +13 -128
  285. data/lib/puppet/pops/loader/dependency_loader.rb +3 -3
  286. data/lib/puppet/pops/loader/loader.rb +21 -20
  287. data/lib/puppet/pops/loaders.rb +13 -8
  288. data/lib/puppet/pops/lookup.rb +96 -0
  289. data/lib/puppet/pops/merge_strategy.rb +283 -0
  290. data/lib/puppet/pops/model/ast_transformer.rb +4 -522
  291. data/lib/puppet/pops/model/factory.rb +20 -21
  292. data/lib/puppet/pops/model/model.rb +1 -1
  293. data/lib/puppet/pops/model/model_label_provider.rb +1 -1
  294. data/lib/puppet/pops/model/model_meta.rb +10 -7
  295. data/lib/puppet/pops/model/tree_dumper.rb +1 -1
  296. data/lib/puppet/pops/parser/egrammar.ra +1 -13
  297. data/lib/puppet/pops/parser/eparser.rb +1132 -1272
  298. data/lib/puppet/pops/parser/epp_support.rb +11 -22
  299. data/lib/puppet/pops/parser/evaluating_parser.rb +11 -10
  300. data/lib/puppet/pops/parser/heredoc_support.rb +12 -13
  301. data/lib/puppet/pops/parser/interpolation_support.rb +1 -7
  302. data/lib/puppet/pops/parser/lexer2.rb +33 -36
  303. data/lib/puppet/pops/parser/lexer_support.rb +20 -46
  304. data/lib/puppet/pops/parser/locator.rb +6 -30
  305. data/lib/puppet/pops/parser/parser_support.rb +14 -11
  306. data/lib/puppet/pops/parser/slurp_support.rb +6 -22
  307. data/lib/puppet/pops/patterns.rb +0 -3
  308. data/lib/puppet/pops/types/class_loader.rb +8 -8
  309. data/lib/puppet/pops/types/enumeration.rb +1 -1
  310. data/lib/puppet/pops/types/type_asserter.rb +45 -0
  311. data/lib/puppet/pops/types/type_assertion_error.rb +26 -0
  312. data/lib/puppet/pops/types/type_calculator.rb +110 -212
  313. data/lib/puppet/pops/types/type_factory.rb +15 -74
  314. data/lib/puppet/pops/types/type_parser.rb +15 -24
  315. data/lib/puppet/pops/types/types.rb +25 -35
  316. data/lib/puppet/pops/types/types_meta.rb +2 -13
  317. data/lib/puppet/pops/utils.rb +1 -1
  318. data/lib/puppet/pops/validation.rb +3 -26
  319. data/lib/puppet/pops/validation/checker4_0.rb +6 -56
  320. data/lib/puppet/pops/validation/validator_factory_4_0.rb +1 -3
  321. data/lib/puppet/pops/visitor.rb +10 -7
  322. data/lib/puppet/property.rb +44 -124
  323. data/lib/puppet/provider.rb +0 -52
  324. data/lib/puppet/provider/aixobject.rb +2 -2
  325. data/lib/puppet/provider/augeas/augeas.rb +9 -6
  326. data/lib/puppet/provider/command.rb +1 -1
  327. data/lib/puppet/provider/cron/crontab.rb +37 -0
  328. data/lib/puppet/provider/exec.rb +2 -16
  329. data/lib/puppet/provider/file/posix.rb +1 -1
  330. data/lib/puppet/provider/file/windows.rb +1 -1
  331. data/lib/puppet/provider/group/aix.rb +1 -1
  332. data/lib/puppet/provider/group/pw.rb +0 -1
  333. data/lib/puppet/provider/group/windows_adsi.rb +4 -18
  334. data/lib/puppet/provider/host/parsed.rb +4 -2
  335. data/lib/puppet/provider/macauthorization/macauthorization.rb +0 -12
  336. data/lib/puppet/provider/mailalias/aliases.rb +23 -12
  337. data/lib/puppet/provider/mount/parsed.rb +2 -145
  338. data/lib/puppet/provider/nameservice/directoryservice.rb +57 -131
  339. data/lib/puppet/provider/network_device.rb +3 -0
  340. data/lib/puppet/provider/package/appdmg.rb +5 -2
  341. data/lib/puppet/provider/package/apt.rb +1 -1
  342. data/lib/puppet/provider/package/fink.rb +1 -1
  343. data/lib/puppet/provider/package/openbsd.rb +26 -12
  344. data/lib/puppet/provider/package/opkg.rb +6 -1
  345. data/lib/puppet/provider/package/pacman.rb +159 -127
  346. data/lib/puppet/provider/package/pip.rb +1 -11
  347. data/lib/puppet/provider/package/pkg.rb +73 -29
  348. data/lib/puppet/provider/package/pkgdmg.rb +2 -2
  349. data/lib/puppet/provider/package/pkgin.rb +1 -1
  350. data/lib/puppet/provider/package/portage.rb +5 -1
  351. data/lib/puppet/provider/package/portupgrade.rb +0 -2
  352. data/lib/puppet/provider/package/rpm.rb +109 -0
  353. data/lib/puppet/provider/package/rug.rb +0 -1
  354. data/lib/puppet/provider/package/windows/package.rb +1 -1
  355. data/lib/puppet/provider/package/yum.rb +121 -30
  356. data/lib/puppet/provider/package/zypper.rb +8 -17
  357. data/lib/puppet/provider/scheduled_task/win32_taskscheduler.rb +7 -32
  358. data/lib/puppet/provider/service/base.rb +17 -3
  359. data/lib/puppet/provider/service/bsd.rb +1 -1
  360. data/lib/puppet/provider/service/daemontools.rb +1 -1
  361. data/lib/puppet/provider/service/init.rb +0 -7
  362. data/lib/puppet/provider/service/launchd.rb +11 -89
  363. data/lib/puppet/provider/service/openbsd.rb +56 -298
  364. data/lib/puppet/provider/service/runit.rb +1 -1
  365. data/lib/puppet/provider/service/systemd.rb +1 -0
  366. data/lib/puppet/provider/service/upstart.rb +4 -2
  367. data/lib/puppet/provider/ssh_authorized_key/parsed.rb +1 -1
  368. data/lib/puppet/provider/user/aix.rb +1 -1
  369. data/lib/puppet/provider/user/directoryservice.rb +40 -70
  370. data/lib/puppet/provider/user/hpux.rb +31 -2
  371. data/lib/puppet/provider/user/openbsd.rb +74 -0
  372. data/lib/puppet/provider/user/pw.rb +0 -1
  373. data/lib/puppet/provider/user/user_role_add.rb +1 -3
  374. data/lib/puppet/provider/user/windows_adsi.rb +2 -9
  375. data/lib/puppet/provider/yumrepo/inifile.rb +1 -3
  376. data/lib/puppet/provider/zfs/zfs.rb +3 -2
  377. data/lib/puppet/provider/zone/solaris.rb +3 -3
  378. data/lib/puppet/reference/configuration.rb +4 -3
  379. data/lib/puppet/reference/metaparameter.rb +0 -9
  380. data/lib/puppet/reference/providers.rb +1 -1
  381. data/lib/puppet/reference/type.rb +8 -10
  382. data/lib/puppet/relationship.rb +4 -17
  383. data/lib/puppet/resource.rb +132 -114
  384. data/lib/puppet/resource/catalog.rb +23 -30
  385. data/lib/puppet/resource/status.rb +74 -22
  386. data/lib/puppet/resource/type.rb +12 -52
  387. data/lib/puppet/resource/type_collection.rb +26 -73
  388. data/lib/puppet/settings.rb +94 -153
  389. data/lib/puppet/settings/base_setting.rb +6 -30
  390. data/lib/puppet/settings/config_file.rb +14 -11
  391. data/lib/puppet/settings/duration_setting.rb +1 -1
  392. data/lib/puppet/settings/environment_conf.rb +14 -12
  393. data/lib/puppet/settings/file_setting.rb +9 -10
  394. data/lib/puppet/settings/ttl_setting.rb +1 -3
  395. data/lib/puppet/ssl/certificate.rb +38 -8
  396. data/lib/puppet/ssl/certificate_authority/interface.rb +7 -1
  397. data/lib/puppet/ssl/certificate_factory.rb +3 -3
  398. data/lib/puppet/ssl/certificate_request.rb +36 -8
  399. data/lib/puppet/ssl/configuration.rb +2 -8
  400. data/lib/puppet/ssl/host.rb +1 -8
  401. data/lib/puppet/ssl/inventory.rb +0 -7
  402. data/lib/puppet/ssl/oids.rb +72 -3
  403. data/lib/puppet/ssl/validator/default_validator.rb +0 -1
  404. data/lib/puppet/status.rb +0 -5
  405. data/lib/puppet/syntax_checkers.rb +3 -0
  406. data/lib/{puppetx/puppetlabs → puppet}/syntax_checkers/json.rb +2 -2
  407. data/lib/puppet/test/test_helper.rb +11 -12
  408. data/lib/puppet/transaction.rb +12 -9
  409. data/lib/puppet/transaction/event.rb +4 -5
  410. data/lib/puppet/transaction/event_manager.rb +50 -5
  411. data/lib/puppet/transaction/report.rb +5 -10
  412. data/lib/puppet/transaction/resource_harness.rb +7 -2
  413. data/lib/puppet/type.rb +113 -29
  414. data/lib/puppet/type/augeas.rb +1 -0
  415. data/lib/puppet/type/exec.rb +2 -2
  416. data/lib/puppet/type/file.rb +8 -9
  417. data/lib/puppet/type/file/content.rb +19 -15
  418. data/lib/puppet/type/file/mode.rb +16 -11
  419. data/lib/puppet/type/file/selcontext.rb +1 -1
  420. data/lib/puppet/type/file/source.rb +15 -15
  421. data/lib/puppet/type/filebucket.rb +2 -2
  422. data/lib/puppet/type/group.rb +5 -17
  423. data/lib/puppet/type/host.rb +12 -3
  424. data/lib/puppet/type/k5login.rb +1 -1
  425. data/lib/puppet/type/mailalias.rb +20 -6
  426. data/lib/puppet/type/maillist.rb +1 -1
  427. data/lib/puppet/type/mount.rb +6 -16
  428. data/lib/puppet/type/notify.rb +1 -1
  429. data/lib/puppet/type/package.rb +91 -16
  430. data/lib/puppet/type/resources.rb +0 -7
  431. data/lib/puppet/type/router.rb +1 -1
  432. data/lib/puppet/type/schedule.rb +1 -1
  433. data/lib/puppet/type/scheduled_task.rb +0 -13
  434. data/lib/puppet/type/selboolean.rb +2 -2
  435. data/lib/puppet/type/service.rb +1 -1
  436. data/lib/puppet/type/ssh_authorized_key.rb +1 -1
  437. data/lib/puppet/type/sshkey.rb +1 -1
  438. data/lib/puppet/type/tidy.rb +4 -1
  439. data/lib/puppet/type/user.rb +16 -3
  440. data/lib/puppet/type/yumrepo.rb +26 -0
  441. data/lib/puppet/type/zfs.rb +1 -1
  442. data/lib/puppet/type/zpool.rb +1 -1
  443. data/lib/puppet/util.rb +2 -85
  444. data/lib/puppet/util/autoload.rb +3 -13
  445. data/lib/puppet/util/checksums.rb +59 -22
  446. data/lib/puppet/util/classgen.rb +1 -9
  447. data/lib/puppet/util/colors.rb +0 -117
  448. data/lib/puppet/util/command_line.rb +1 -23
  449. data/lib/puppet/util/errors.rb +2 -4
  450. data/lib/puppet/util/execution.rb +19 -22
  451. data/lib/puppet/util/feature.rb +2 -4
  452. data/lib/puppet/util/fileparsing.rb +3 -2
  453. data/lib/puppet/util/log.rb +13 -56
  454. data/lib/puppet/util/log/destinations.rb +17 -36
  455. data/lib/puppet/util/logging.rb +52 -37
  456. data/lib/puppet/util/metric.rb +0 -149
  457. data/lib/puppet/util/monkey_patches.rb +1 -94
  458. data/lib/puppet/util/network_device/base.rb +1 -5
  459. data/lib/puppet/util/network_device/cisco/interface.rb +2 -2
  460. data/lib/puppet/util/network_device/config.rb +0 -5
  461. data/lib/puppet/util/network_device/transport/ssh.rb +2 -2
  462. data/lib/puppet/util/profiler.rb +1 -1
  463. data/lib/puppet/util/profiler/aggregate.rb +1 -1
  464. data/lib/puppet/util/profiler/around_profiler.rb +1 -1
  465. data/lib/puppet/util/psych_support.rb +38 -0
  466. data/lib/puppet/util/rdoc.rb +6 -42
  467. data/lib/puppet/util/rdoc/code_objects.rb +5 -45
  468. data/lib/puppet/util/rdoc/generators/puppet_generator.rb +1 -1
  469. data/lib/puppet/util/rdoc/parser.rb +5 -15
  470. data/lib/puppet/util/rdoc/parser/puppet_parser_core.rb +8 -227
  471. data/lib/puppet/util/retry_action.rb +46 -0
  472. data/lib/puppet/util/run_mode.rb +31 -7
  473. data/lib/puppet/util/selinux.rb +2 -2
  474. data/lib/puppet/util/ssl.rb +11 -11
  475. data/lib/puppet/util/suidmanager.rb +4 -31
  476. data/lib/puppet/util/tag_set.rb +0 -11
  477. data/lib/puppet/util/tagging.rb +50 -19
  478. data/lib/puppet/util/warnings.rb +1 -0
  479. data/lib/puppet/util/windows/adsi.rb +13 -60
  480. data/lib/puppet/util/windows/api_types.rb +16 -2
  481. data/lib/puppet/util/windows/file.rb +2 -8
  482. data/lib/puppet/util/windows/process.rb +58 -0
  483. data/lib/puppet/util/windows/registry.rb +319 -31
  484. data/lib/puppet/util/windows/security.rb +1 -68
  485. data/lib/puppet/util/windows/taskscheduler.rb +0 -21
  486. data/lib/puppet/util/windows/user.rb +2 -3
  487. data/lib/puppet/vendor/deep_merge/CHANGELOG +45 -0
  488. data/lib/puppet/vendor/deep_merge/Gemfile +3 -0
  489. data/lib/puppet/vendor/deep_merge/LICENSE +21 -0
  490. data/lib/puppet/vendor/deep_merge/README.md +113 -0
  491. data/lib/puppet/vendor/deep_merge/Rakefile +19 -0
  492. data/lib/puppet/vendor/deep_merge/deep_merge.gemspec +35 -0
  493. data/lib/puppet/vendor/deep_merge/lib/deep_merge.rb +2 -0
  494. data/lib/puppet/vendor/deep_merge/lib/deep_merge/core.rb +210 -0
  495. data/lib/puppet/vendor/deep_merge/lib/deep_merge/deep_merge_hash.rb +28 -0
  496. data/lib/puppet/vendor/deep_merge/lib/deep_merge/rails_compat.rb +27 -0
  497. data/lib/puppet/vendor/deep_merge/test/test_deep_merge.rb +608 -0
  498. data/lib/puppet/vendor/load_deep_merge.rb +1 -0
  499. data/lib/puppet/vendor/load_rgen.rb +1 -0
  500. data/lib/puppet/vendor/require_vendored.rb +1 -3
  501. data/lib/puppet/vendor/rgen_patch.rb +132 -0
  502. data/lib/puppet/version.rb +1 -1
  503. data/lib/puppet_x.rb +8 -0
  504. data/lib/semver.rb +0 -1
  505. data/man/man5/puppet.conf.5 +432 -287
  506. data/man/man8/extlookup2hiera.8 +2 -15
  507. data/man/man8/puppet-agent.8 +14 -14
  508. data/man/man8/puppet-apply.8 +29 -30
  509. data/man/man8/puppet-ca.8 +29 -17
  510. data/man/man8/puppet-catalog.8 +5 -34
  511. data/man/man8/puppet-cert.8 +8 -4
  512. data/man/man8/puppet-certificate.8 +15 -29
  513. data/man/man8/puppet-certificate_request.8 +9 -16
  514. data/man/man8/puppet-certificate_revocation_list.8 +5 -31
  515. data/man/man8/puppet-config.8 +52 -11
  516. data/man/man8/puppet-describe.8 +1 -1
  517. data/man/man8/puppet-device.8 +5 -16
  518. data/man/man8/puppet-doc.8 +7 -80
  519. data/man/man8/puppet-epp.8 +349 -0
  520. data/man/man8/puppet-facts.8 +5 -95
  521. data/man/man8/puppet-file.8 +2 -28
  522. data/man/man8/puppet-filebucket.8 +2 -2
  523. data/man/man8/puppet-help.8 +2 -2
  524. data/man/man8/puppet-inspect.8 +1 -1
  525. data/man/man8/puppet-key.8 +6 -3
  526. data/man/man8/puppet-man.8 +2 -2
  527. data/man/man8/puppet-master.8 +11 -7
  528. data/man/man8/puppet-module.8 +75 -49
  529. data/man/man8/puppet-node.8 +8 -56
  530. data/man/man8/puppet-parser.8 +38 -4
  531. data/man/man8/puppet-plugin.8 +2 -2
  532. data/man/man8/puppet-report.8 +8 -70
  533. data/man/man8/puppet-resource.8 +7 -3
  534. data/man/man8/puppet-resource_type.8 +2 -28
  535. data/man/man8/puppet-status.8 +5 -47
  536. data/man/man8/puppet.8 +2 -2
  537. data/spec/fixtures/integration/provider/mailalias/aliases/test1 +3 -0
  538. data/spec/fixtures/integration/provider/sshkey/sample +21 -0
  539. data/spec/fixtures/unit/data_providers/environments/production/environment.conf +2 -0
  540. data/spec/fixtures/unit/data_providers/environments/production/lib/puppet/functions/environment/data.rb +7 -0
  541. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +9 -0
  542. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +8 -0
  543. data/spec/fixtures/unit/data_providers/environments/production/modules/abc/manifests/init.pp +9 -0
  544. data/spec/fixtures/unit/data_providers/environments/sample/environment.conf +2 -0
  545. data/spec/fixtures/unit/data_providers/environments/sample/manifests/site.pp +6 -0
  546. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet/bindings/dataprovider/default.rb +54 -0
  547. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_env_data.rb +31 -0
  548. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/lib/puppet_x/helindbe/sample_module_data.rb +32 -0
  549. data/spec/fixtures/unit/data_providers/environments/sample/modules/dataprovider/manifests/init.pp +5 -0
  550. data/spec/fixtures/unit/functions/lookup/environments/production/environment.conf +2 -0
  551. data/spec/fixtures/unit/functions/lookup/environments/production/lib/puppet/functions/environment/data.rb +11 -0
  552. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/bindings/abc/default.rb +9 -0
  553. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/lib/puppet/functions/abc/data.rb +9 -0
  554. data/spec/fixtures/unit/functions/lookup/environments/production/modules/abc/manifests/init.pp +8 -0
  555. data/spec/fixtures/unit/parser/lexer/subclass_name_duplication.pp +0 -0
  556. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/binder_config.yaml +1 -1
  557. data/spec/fixtures/unit/pops/binder/bindings_composer/ok/modules/awesome2/lib/{puppetx → puppet_x}/awesome2/echo_scheme_handler.rb +3 -3
  558. data/spec/fixtures/unit/pops/binder/config/binder_config/nolayer/binder_config.yaml +6 -0
  559. data/spec/fixtures/unit/pops/parser/lexer/subclass_name_duplication.pp +0 -0
  560. data/spec/fixtures/unit/provider/mount/parsed/aix.filesystems +85 -93
  561. data/spec/fixtures/unit/provider/mount/parsed/aix.mount +7 -11
  562. data/spec/fixtures/unit/provider/package/pkg/dummy_implicit_version +3 -0
  563. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris10 +1 -1
  564. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.certificate_warning +1 -1
  565. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.installed +1 -1
  566. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.ifo.known +1 -1
  567. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.installed +1 -1
  568. data/spec/fixtures/unit/provider/package/pkg/dummy_solaris11.known +1 -1
  569. data/spec/fixtures/unit/provider/package/pkg/incomplete +1 -1
  570. data/spec/fixtures/unit/provider/package/pkg/solaris11 +2 -2
  571. data/spec/fixtures/unit/provider/package/pkg/unknown_status +12 -12
  572. data/spec/fixtures/unit/provider/package/yum/yum-check-update-multiline.txt +201 -0
  573. data/spec/fixtures/unit/provider/package/yum/yum-check-update-simple.txt +12 -0
  574. data/spec/fixtures/unit/provider/parsedfile/simple.txt +3 -0
  575. data/spec/fixtures/unit/provider/service/openbsd/rcctl_getall +6 -0
  576. data/spec/fixtures/unit/ssl/certificate/old-style-cert-exts.pem +33 -0
  577. data/spec/fixtures/unit/ssl/certificate_request/old-style-cert-request.pem +28 -0
  578. data/spec/integration/agent/logging_spec.rb +1 -5
  579. data/spec/integration/application/apply_spec.rb +1 -1
  580. data/spec/integration/application/doc_spec.rb +1 -43
  581. data/spec/integration/configurer_spec.rb +5 -5
  582. data/spec/integration/data_binding.rb +4 -0
  583. data/spec/integration/defaults_spec.rb +42 -143
  584. data/spec/integration/directory_environments_spec.rb +3 -3
  585. data/spec/integration/environments/default_manifest_spec.rb +3 -51
  586. data/spec/integration/environments/setting_hooks_spec.rb +1 -1
  587. data/spec/integration/environments/settings_interpolation_spec.rb +50 -105
  588. data/spec/integration/environments/settings_spec.rb +100 -0
  589. data/spec/integration/faces/ca_spec.rb +51 -51
  590. data/spec/integration/faces/documentation_spec.rb +6 -6
  591. data/spec/integration/file_bucket/file_spec.rb +5 -16
  592. data/spec/integration/file_serving/fileset_spec.rb +1 -1
  593. data/spec/integration/file_serving/terminus_helper_spec.rb +1 -1
  594. data/spec/integration/indirector/catalog/compiler_spec.rb +6 -6
  595. data/spec/integration/indirector/direct_file_server_spec.rb +40 -12
  596. data/spec/integration/indirector/facts/facter_spec.rb +1 -1
  597. data/spec/integration/indirector/file_content/file_server_spec.rb +23 -21
  598. data/spec/integration/indirector/file_metadata/file_server_spec.rb +53 -0
  599. data/spec/integration/indirector/node/ldap_spec.rb +0 -0
  600. data/spec/integration/network/authconfig_spec.rb +26 -26
  601. data/spec/integration/network/formats_spec.rb +12 -12
  602. data/spec/integration/network/http/api/indirected_routes_spec.rb +56 -0
  603. data/spec/integration/node/environment_spec.rb +12 -15
  604. data/spec/integration/node/facts_spec.rb +3 -3
  605. data/spec/integration/node_spec.rb +8 -8
  606. data/spec/integration/parser/catalog_spec.rb +1 -32
  607. data/spec/integration/parser/class_spec.rb +0 -4
  608. data/spec/integration/parser/{collector_spec.rb → collection_spec.rb} +3 -27
  609. data/spec/integration/parser/compiler_spec.rb +769 -385
  610. data/spec/integration/parser/conditionals_spec.rb +2 -27
  611. data/spec/integration/parser/functions/require_spec.rb +8 -8
  612. data/spec/integration/parser/node_spec.rb +29 -42
  613. data/spec/integration/parser/resource_expressions_spec.rb +125 -210
  614. data/spec/integration/parser/scope_spec.rb +168 -319
  615. data/spec/integration/parser/undef_param_spec.rb +5 -5
  616. data/spec/integration/provider/cron/crontab_spec.rb +3 -3
  617. data/spec/integration/provider/mailalias/aliases_spec.rb +0 -0
  618. data/spec/integration/provider/mount_spec.rb +33 -28
  619. data/spec/integration/provider/package_spec.rb +3 -14
  620. data/spec/integration/provider/service/init_spec.rb +4 -4
  621. data/spec/integration/provider/service/systemd_spec.rb +3 -3
  622. data/spec/integration/provider/ssh_authorized_key_spec.rb +12 -12
  623. data/spec/integration/provider/sshkey_spec.rb +159 -0
  624. data/spec/integration/reference/providers_spec.rb +1 -1
  625. data/spec/integration/reports_spec.rb +1 -1
  626. data/spec/integration/resource/catalog_spec.rb +3 -3
  627. data/spec/integration/resource/type_collection_spec.rb +10 -25
  628. data/spec/integration/ssl/autosign_spec.rb +1 -1
  629. data/spec/integration/ssl/certificate_authority_spec.rb +8 -8
  630. data/spec/integration/ssl/certificate_request_spec.rb +2 -2
  631. data/spec/integration/ssl/certificate_revocation_list_spec.rb +0 -0
  632. data/spec/integration/ssl/host_spec.rb +7 -7
  633. data/spec/integration/transaction/report_spec.rb +0 -0
  634. data/spec/integration/transaction_spec.rb +86 -50
  635. data/spec/integration/type/exec_spec.rb +5 -5
  636. data/spec/integration/type/file_spec.rb +277 -280
  637. data/spec/integration/type/package_spec.rb +105 -6
  638. data/spec/integration/type/tidy_spec.rb +1 -1
  639. data/spec/integration/type/user_spec.rb +4 -4
  640. data/spec/integration/type_spec.rb +2 -2
  641. data/spec/integration/util/autoload_spec.rb +7 -12
  642. data/spec/integration/util/rdoc/parser_spec.rb +13 -99
  643. data/spec/integration/util/settings_spec.rb +1 -1
  644. data/spec/integration/util/windows/process_spec.rb +6 -6
  645. data/spec/integration/util/windows/security_spec.rb +79 -105
  646. data/spec/integration/util/windows/user_spec.rb +12 -12
  647. data/spec/integration/util_spec.rb +8 -8
  648. data/spec/lib/matchers/containment_matchers.rb +1 -1
  649. data/spec/lib/matchers/include.rb +3 -3
  650. data/spec/lib/matchers/include_in_order.rb +2 -2
  651. data/spec/lib/matchers/json.rb +5 -35
  652. data/spec/lib/matchers/match_tokens2.rb +1 -1
  653. data/spec/lib/matchers/relationship_graph_matchers.rb +1 -1
  654. data/spec/lib/matchers/resource.rb +8 -23
  655. data/spec/lib/puppet/face/1.0.0/huzzah.rb +2 -2
  656. data/spec/lib/puppet/face/basetest.rb +0 -0
  657. data/spec/lib/puppet/face/huzzah.rb +2 -2
  658. data/spec/lib/puppet/face/version_matching.rb +1 -1
  659. data/spec/lib/puppet/indirector_proxy.rb +34 -0
  660. data/spec/lib/puppet/indirector_testing.rb +1 -11
  661. data/spec/lib/puppet_spec/files.rb +1 -1
  662. data/spec/lib/puppet_spec/fixtures.rb +0 -0
  663. data/spec/lib/puppet_spec/handler.rb +53 -0
  664. data/spec/lib/puppet_spec/matchers.rb +12 -5
  665. data/spec/lib/puppet_spec/module_tool/shared_functions.rb +3 -3
  666. data/spec/lib/puppet_spec/modules.rb +11 -0
  667. data/spec/lib/puppet_spec/network.rb +101 -0
  668. data/spec/lib/puppet_spec/pops.rb +2 -2
  669. data/spec/lib/puppet_spec/settings.rb +17 -0
  670. data/spec/lib/puppet_spec/verbose.rb +0 -0
  671. data/spec/shared_behaviours/all_parsedfile_providers.rb +1 -1
  672. data/spec/shared_behaviours/an_indirector_face.rb +2 -2
  673. data/spec/shared_behaviours/documentation_on_faces.rb +46 -46
  674. data/spec/shared_behaviours/file_server_terminus.rb +1 -1
  675. data/spec/shared_behaviours/file_serving.rb +0 -0
  676. data/spec/shared_behaviours/hiera_indirections.rb +10 -10
  677. data/spec/shared_behaviours/iterative_functions.rb +1 -1
  678. data/spec/shared_behaviours/memory_terminus.rb +5 -5
  679. data/spec/shared_behaviours/path_parameters.rb +8 -8
  680. data/spec/shared_behaviours/store_configs_terminus.rb +3 -3
  681. data/spec/shared_behaviours/things_that_declare_options.rb +25 -25
  682. data/spec/shared_contexts/checksum.rb +62 -0
  683. data/spec/shared_contexts/{checksums.rb → digests.rb} +2 -2
  684. data/spec/spec_helper.rb +14 -5
  685. data/spec/unit/agent/disabler_spec.rb +3 -3
  686. data/spec/unit/agent/locker_spec.rb +9 -9
  687. data/spec/unit/agent_spec.rb +18 -18
  688. data/spec/unit/application/agent_spec.rb +25 -92
  689. data/spec/unit/application/apply_spec.rb +16 -16
  690. data/spec/unit/application/cert_spec.rb +15 -15
  691. data/spec/unit/application/certificate_spec.rb +2 -2
  692. data/spec/unit/application/config_spec.rb +1 -1
  693. data/spec/unit/application/describe_spec.rb +6 -6
  694. data/spec/unit/application/device_spec.rb +25 -63
  695. data/spec/unit/application/doc_spec.rb +22 -31
  696. data/spec/unit/application/face_base_spec.rb +88 -59
  697. data/spec/unit/application/facts_spec.rb +2 -11
  698. data/spec/unit/application/filebucket_spec.rb +7 -7
  699. data/spec/unit/application/indirection_base_spec.rb +0 -4
  700. data/spec/unit/application/inspect_spec.rb +21 -21
  701. data/spec/unit/application/master_spec.rb +8 -9
  702. data/spec/unit/application/resource_spec.rb +27 -79
  703. data/spec/unit/application_spec.rb +54 -58
  704. data/spec/unit/configurer/downloader_factory_spec.rb +0 -0
  705. data/spec/unit/configurer/downloader_spec.rb +26 -20
  706. data/spec/unit/configurer/fact_handler_spec.rb +19 -12
  707. data/spec/unit/configurer/plugin_handler_spec.rb +0 -0
  708. data/spec/unit/configurer_spec.rb +44 -44
  709. data/spec/unit/confine/exists_spec.rb +10 -10
  710. data/spec/unit/confine/false_spec.rb +7 -7
  711. data/spec/unit/confine/feature_spec.rb +7 -7
  712. data/spec/unit/confine/true_spec.rb +7 -7
  713. data/spec/unit/confine/variable_spec.rb +13 -13
  714. data/spec/unit/confine_collection_spec.rb +12 -12
  715. data/spec/unit/confine_spec.rb +10 -10
  716. data/spec/unit/confiner_spec.rb +8 -8
  717. data/spec/unit/context/trusted_information_spec.rb +9 -2
  718. data/spec/unit/daemon_spec.rb +10 -21
  719. data/spec/unit/data_binding_spec.rb +1 -1
  720. data/spec/unit/data_providers/function_data_provider_spec.rb +96 -0
  721. data/spec/unit/data_providers/sample_data_provider_spec.rb +52 -0
  722. data/spec/unit/defaults_spec.rb +6 -6
  723. data/spec/unit/environments_spec.rb +4 -6
  724. data/spec/unit/{util → external}/pson_spec.rb +15 -25
  725. data/spec/unit/face/catalog_spec.rb +0 -0
  726. data/spec/unit/face/certificate_spec.rb +19 -19
  727. data/spec/unit/face/config_spec.rb +2 -7
  728. data/spec/unit/face/epp_face_spec.rb +303 -0
  729. data/spec/unit/face/facts_spec.rb +1 -15
  730. data/spec/unit/face/file_spec.rb +3 -5
  731. data/spec/unit/face/help_spec.rb +17 -16
  732. data/spec/unit/face/module/build_spec.rb +2 -2
  733. data/spec/unit/face/module/list_spec.rb +11 -11
  734. data/spec/unit/face/module/search_spec.rb +17 -17
  735. data/spec/unit/face/node_spec.rb +4 -122
  736. data/spec/unit/face/parser_spec.rb +1 -1
  737. data/spec/unit/face/plugin_spec.rb +2 -2
  738. data/spec/unit/face_spec.rb +0 -0
  739. data/spec/unit/file_bucket/dipper_spec.rb +23 -23
  740. data/spec/unit/file_bucket/file_spec.rb +12 -28
  741. data/spec/unit/file_serving/base_spec.rb +26 -26
  742. data/spec/unit/file_serving/configuration/parser_spec.rb +10 -10
  743. data/spec/unit/file_serving/configuration_spec.rb +17 -17
  744. data/spec/unit/file_serving/content_spec.rb +19 -31
  745. data/spec/unit/file_serving/fileset_spec.rb +32 -33
  746. data/spec/unit/file_serving/metadata_spec.rb +115 -71
  747. data/spec/unit/file_serving/mount/file_spec.rb +15 -15
  748. data/spec/unit/file_serving/mount/modules_spec.rb +2 -2
  749. data/spec/unit/file_serving/mount/pluginfacts_spec.rb +5 -5
  750. data/spec/unit/file_serving/mount/plugins_spec.rb +5 -5
  751. data/spec/unit/file_serving/mount_spec.rb +5 -5
  752. data/spec/unit/file_serving/terminus_helper_spec.rb +19 -0
  753. data/spec/unit/file_serving/terminus_selector_spec.rb +6 -6
  754. data/spec/unit/file_system/uniquefile_spec.rb +2 -2
  755. data/spec/unit/file_system_spec.rb +79 -117
  756. data/spec/unit/forge/errors_spec.rb +8 -8
  757. data/spec/unit/forge/module_release_spec.rb +2 -4
  758. data/spec/unit/forge/repository_spec.rb +38 -44
  759. data/spec/unit/forge_spec.rb +1 -1
  760. data/spec/unit/functions/assert_type_spec.rb +1 -1
  761. data/spec/unit/functions/each_spec.rb +19 -23
  762. data/spec/unit/functions/epp_spec.rb +9 -17
  763. data/spec/unit/functions/filter_spec.rb +0 -22
  764. data/spec/unit/functions/hiera_spec.rb +18 -24
  765. data/spec/unit/functions/inline_epp_spec.rb +8 -16
  766. data/spec/unit/functions/lookup_spec.rb +324 -0
  767. data/spec/unit/functions/map_spec.rb +1 -7
  768. data/spec/unit/functions/reduce_spec.rb +0 -11
  769. data/spec/unit/functions/regsubst_spec.rb +94 -0
  770. data/spec/unit/functions/scanf_spec.rb +0 -4
  771. data/spec/unit/functions/slice_spec.rb +0 -12
  772. data/spec/unit/functions/split_spec.rb +46 -0
  773. data/spec/unit/functions/with_spec.rb +4 -13
  774. data/spec/unit/functions4_spec.rb +57 -162
  775. data/spec/unit/graph/rb_tree_map_spec.rb +78 -78
  776. data/spec/unit/graph/relationship_graph_spec.rb +17 -17
  777. data/spec/unit/graph/{simple_graph.rb → simple_graph_spec.rb} +122 -126
  778. data/spec/unit/hiera/scope_spec.rb +13 -12
  779. data/spec/unit/hiera_puppet_spec.rb +12 -12
  780. data/spec/unit/indirector/catalog/compiler_spec.rb +10 -15
  781. data/spec/unit/indirector/catalog/json_spec.rb +2 -2
  782. data/spec/unit/indirector/catalog/msgpack_spec.rb +2 -2
  783. data/spec/unit/indirector/catalog/rest_spec.rb +1 -1
  784. data/spec/unit/indirector/catalog/static_compiler_spec.rb +14 -14
  785. data/spec/unit/indirector/catalog/store_configs_spec.rb +0 -0
  786. data/spec/unit/indirector/catalog/yaml_spec.rb +4 -4
  787. data/spec/unit/indirector/certificate/ca_spec.rb +3 -3
  788. data/spec/unit/indirector/certificate/disabled_ca_spec.rb +0 -0
  789. data/spec/unit/indirector/certificate/file_spec.rb +3 -3
  790. data/spec/unit/indirector/certificate/rest_spec.rb +6 -6
  791. data/spec/unit/indirector/certificate_request/ca_spec.rb +8 -8
  792. data/spec/unit/indirector/certificate_request/disabled_ca_spec.rb +0 -0
  793. data/spec/unit/indirector/certificate_request/file_spec.rb +2 -2
  794. data/spec/unit/indirector/certificate_request/rest_spec.rb +4 -4
  795. data/spec/unit/indirector/certificate_revocation_list/ca_spec.rb +2 -2
  796. data/spec/unit/indirector/certificate_revocation_list/disabled_ca_spec.rb +0 -0
  797. data/spec/unit/indirector/certificate_revocation_list/file_spec.rb +2 -2
  798. data/spec/unit/indirector/certificate_revocation_list/rest_spec.rb +4 -4
  799. data/spec/unit/indirector/certificate_status/file_spec.rb +18 -18
  800. data/spec/unit/indirector/certificate_status/rest_spec.rb +2 -2
  801. data/spec/unit/indirector/code_spec.rb +3 -3
  802. data/spec/unit/indirector/data_binding/hiera_spec.rb +3 -3
  803. data/spec/unit/indirector/data_binding/none_spec.rb +5 -5
  804. data/spec/unit/indirector/direct_file_server_spec.rb +14 -4
  805. data/spec/unit/indirector/envelope_spec.rb +4 -4
  806. data/spec/unit/indirector/exec_spec.rb +4 -4
  807. data/spec/unit/indirector/face_spec.rb +13 -8
  808. data/spec/unit/indirector/facts/facter_spec.rb +10 -20
  809. data/spec/unit/indirector/facts/network_device_spec.rb +10 -20
  810. data/spec/unit/indirector/facts/store_configs_spec.rb +0 -0
  811. data/spec/unit/indirector/facts/yaml_spec.rb +6 -6
  812. data/spec/unit/indirector/file_bucket_file/file_spec.rb +34 -34
  813. data/spec/unit/indirector/file_bucket_file/rest_spec.rb +1 -1
  814. data/spec/unit/indirector/file_content/file_server_spec.rb +2 -2
  815. data/spec/unit/indirector/file_content/file_spec.rb +2 -2
  816. data/spec/unit/indirector/file_content/rest_spec.rb +1 -1
  817. data/spec/unit/indirector/file_metadata/file_server_spec.rb +2 -2
  818. data/spec/unit/indirector/file_metadata/file_spec.rb +13 -5
  819. data/spec/unit/indirector/file_metadata/rest_spec.rb +1 -1
  820. data/spec/unit/indirector/file_server_spec.rb +35 -17
  821. data/spec/unit/indirector/indirection_spec.rb +56 -56
  822. data/spec/unit/indirector/json_spec.rb +15 -16
  823. data/spec/unit/indirector/key/ca_spec.rb +3 -3
  824. data/spec/unit/indirector/key/disabled_ca_spec.rb +0 -0
  825. data/spec/unit/indirector/key/file_spec.rb +5 -5
  826. data/spec/unit/indirector/ldap_spec.rb +13 -13
  827. data/spec/unit/indirector/memory_spec.rb +0 -0
  828. data/spec/unit/indirector/msgpack_spec.rb +15 -15
  829. data/spec/unit/indirector/node/exec_spec.rb +20 -9
  830. data/spec/unit/indirector/node/ldap_spec.rb +48 -48
  831. data/spec/unit/indirector/node/memory_spec.rb +0 -0
  832. data/spec/unit/indirector/node/msgpack_spec.rb +4 -4
  833. data/spec/unit/indirector/node/plain_spec.rb +2 -2
  834. data/spec/unit/indirector/node/rest_spec.rb +0 -0
  835. data/spec/unit/indirector/node/store_configs_spec.rb +0 -0
  836. data/spec/unit/indirector/node/yaml_spec.rb +4 -4
  837. data/spec/unit/indirector/none_spec.rb +2 -2
  838. data/spec/unit/indirector/plain_spec.rb +1 -1
  839. data/spec/unit/indirector/report/msgpack_spec.rb +5 -5
  840. data/spec/unit/indirector/report/processor_spec.rb +4 -4
  841. data/spec/unit/indirector/report/rest_spec.rb +8 -8
  842. data/spec/unit/indirector/report/yaml_spec.rb +5 -5
  843. data/spec/unit/indirector/request_spec.rb +103 -206
  844. data/spec/unit/indirector/resource/ral_spec.rb +8 -10
  845. data/spec/unit/indirector/resource/store_configs_spec.rb +2 -4
  846. data/spec/unit/indirector/resource_type/parser_spec.rb +37 -37
  847. data/spec/unit/indirector/resource_type/rest_spec.rb +2 -2
  848. data/spec/unit/indirector/rest_spec.rb +70 -55
  849. data/spec/unit/indirector/ssl_file_spec.rb +13 -13
  850. data/spec/unit/indirector/status/rest_spec.rb +1 -1
  851. data/spec/unit/indirector/store_configs_spec.rb +0 -0
  852. data/spec/unit/indirector/terminus_spec.rb +17 -17
  853. data/spec/unit/indirector/yaml_spec.rb +12 -12
  854. data/spec/unit/indirector_spec.rb +7 -7
  855. data/spec/unit/interface/action_builder_spec.rb +15 -15
  856. data/spec/unit/interface/action_manager_spec.rb +31 -56
  857. data/spec/unit/interface/action_spec.rb +62 -65
  858. data/spec/unit/interface/documentation_spec.rb +2 -2
  859. data/spec/unit/interface/face_collection_spec.rb +33 -33
  860. data/spec/unit/interface/option_builder_spec.rb +8 -8
  861. data/spec/unit/interface/option_spec.rb +23 -23
  862. data/spec/unit/interface_spec.rb +19 -24
  863. data/spec/unit/man_spec.rb +0 -0
  864. data/spec/unit/module_spec.rb +163 -115
  865. data/spec/unit/module_tool/applications/builder_spec.rb +0 -19
  866. data/spec/unit/module_tool/applications/installer_spec.rb +29 -29
  867. data/spec/unit/module_tool/applications/searcher_spec.rb +4 -4
  868. data/spec/unit/module_tool/applications/uninstaller_spec.rb +15 -15
  869. data/spec/unit/module_tool/applications/unpacker_spec.rb +3 -3
  870. data/spec/unit/module_tool/applications/upgrader_spec.rb +28 -28
  871. data/spec/unit/module_tool/install_directory_spec.rb +3 -3
  872. data/spec/unit/module_tool/metadata_spec.rb +26 -26
  873. data/spec/unit/module_tool/tar/gnu_spec.rb +1 -1
  874. data/spec/unit/module_tool/tar/mini_spec.rb +2 -2
  875. data/spec/unit/module_tool/tar_spec.rb +2 -2
  876. data/spec/unit/module_tool_spec.rb +13 -34
  877. data/spec/unit/network/auth_config_parser_spec.rb +7 -7
  878. data/spec/unit/network/authconfig_spec.rb +9 -9
  879. data/spec/unit/network/authstore_spec.rb +38 -39
  880. data/spec/unit/network/format_handler_spec.rb +14 -14
  881. data/spec/unit/network/format_spec.rb +34 -34
  882. data/spec/unit/network/format_support_spec.rb +10 -10
  883. data/spec/unit/network/formats_spec.rb +50 -136
  884. data/spec/unit/network/http/api/ca/v1_spec.rb +26 -0
  885. data/spec/unit/network/http/api/{v1_spec.rb → indirected_routes_spec.rb} +128 -184
  886. data/spec/unit/network/http/api/{v2 → master/v3}/authorization_spec.rb +23 -21
  887. data/spec/unit/network/http/api/{v2 → master/v3}/environments_spec.rb +5 -5
  888. data/spec/unit/network/http/api/master/v3_spec.rb +39 -0
  889. data/spec/unit/network/http/api_spec.rb +127 -0
  890. data/spec/unit/network/http/compression_spec.rb +20 -26
  891. data/spec/unit/network/http/connection_spec.rb +2 -5
  892. data/spec/unit/network/http/factory_spec.rb +6 -8
  893. data/spec/unit/network/http/handler_spec.rb +31 -84
  894. data/spec/unit/network/http/nocache_pool_spec.rb +0 -0
  895. data/spec/unit/network/http/pool_spec.rb +0 -0
  896. data/spec/unit/network/http/rack/rest_spec.rb +38 -39
  897. data/spec/unit/network/http/rack_spec.rb +1 -1
  898. data/spec/unit/network/http/route_spec.rb +3 -3
  899. data/spec/unit/network/http/session_spec.rb +4 -4
  900. data/spec/unit/network/http/site_spec.rb +1 -1
  901. data/spec/unit/network/http/webrick/rest_spec.rb +36 -55
  902. data/spec/unit/network/http/webrick_spec.rb +16 -27
  903. data/spec/unit/network/http_pool_spec.rb +11 -11
  904. data/spec/unit/network/http_spec.rb +0 -0
  905. data/spec/unit/network/resolver_spec.rb +10 -10
  906. data/spec/unit/network/rights_spec.rb +67 -67
  907. data/spec/unit/network/server_spec.rb +3 -3
  908. data/spec/unit/node/environment_spec.rb +177 -273
  909. data/spec/unit/node/facts_spec.rb +71 -33
  910. data/spec/unit/node_spec.rb +150 -158
  911. data/spec/unit/other/selinux_spec.rb +6 -6
  912. data/spec/unit/parameter/boolean_spec.rb +4 -3
  913. data/spec/unit/parameter/package_options_spec.rb +5 -5
  914. data/spec/unit/parameter/path_spec.rb +1 -1
  915. data/spec/unit/parameter/value_collection_spec.rb +23 -28
  916. data/spec/unit/parameter/value_spec.rb +20 -24
  917. data/spec/unit/parameter_spec.rb +26 -26
  918. data/spec/unit/parser/ast/block_expression_spec.rb +3 -2
  919. data/spec/unit/parser/ast/leaf_spec.rb +5 -378
  920. data/spec/unit/parser/compiler_spec.rb +84 -74
  921. data/spec/unit/parser/files_spec.rb +55 -121
  922. data/spec/unit/parser/functions/contain_spec.rb +8 -11
  923. data/spec/unit/parser/functions/create_resources_spec.rb +29 -29
  924. data/spec/unit/parser/functions/defined_spec.rb +52 -51
  925. data/spec/unit/parser/functions/digest_spec.rb +2 -2
  926. data/spec/unit/parser/functions/fail_spec.rb +1 -1
  927. data/spec/unit/parser/functions/file_spec.rb +7 -13
  928. data/spec/unit/parser/functions/fqdn_rand_spec.rb +5 -5
  929. data/spec/unit/parser/functions/generate_spec.rb +20 -20
  930. data/spec/unit/parser/functions/hiera_array_spec.rb +2 -16
  931. data/spec/unit/parser/functions/hiera_hash_spec.rb +2 -12
  932. data/spec/unit/parser/functions/hiera_include_spec.rb +2 -29
  933. data/spec/unit/parser/functions/hiera_spec.rb +2 -12
  934. data/spec/unit/parser/functions/include_spec.rb +9 -19
  935. data/spec/unit/parser/functions/inline_template_spec.rb +3 -3
  936. data/spec/unit/parser/functions/lookup_spec.rb +3 -140
  937. data/spec/unit/parser/functions/realize_spec.rb +0 -0
  938. data/spec/unit/parser/functions/regsubst_spec.rb +7 -179
  939. data/spec/unit/parser/functions/require_spec.rb +14 -21
  940. data/spec/unit/parser/functions/scanf_spec.rb +0 -0
  941. data/spec/unit/parser/functions/shellquote_spec.rb +20 -20
  942. data/spec/unit/parser/functions/split_spec.rb +2 -37
  943. data/spec/unit/parser/functions/sprintf_spec.rb +7 -11
  944. data/spec/unit/parser/functions/tag_spec.rb +3 -3
  945. data/spec/unit/parser/functions/template_spec.rb +10 -10
  946. data/spec/unit/parser/functions/versioncmp_spec.rb +3 -3
  947. data/spec/unit/parser/functions_spec.rb +8 -8
  948. data/spec/unit/parser/relationship_spec.rb +14 -32
  949. data/spec/unit/parser/resource/param_spec.rb +0 -0
  950. data/spec/unit/parser/resource_spec.rb +57 -57
  951. data/spec/unit/parser/scope_spec.rb +89 -101
  952. data/spec/unit/parser/templatewrapper_spec.rb +15 -32
  953. data/spec/unit/parser/type_loader_spec.rb +53 -73
  954. data/spec/unit/pops/adaptable_spec.rb +22 -22
  955. data/spec/unit/pops/binder/bindings_checker_spec.rb +14 -14
  956. data/spec/unit/pops/binder/bindings_composer_spec.rb +4 -6
  957. data/spec/unit/pops/binder/bindings_validator_factory_spec.rb +3 -3
  958. data/spec/unit/pops/binder/config/binder_config_spec.rb +8 -1
  959. data/spec/unit/pops/binder/injector_spec.rb +92 -92
  960. data/spec/unit/pops/containment_spec.rb +4 -4
  961. data/spec/unit/pops/evaluator/access_ops_spec.rb +5 -24
  962. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +23 -23
  963. data/spec/unit/pops/evaluator/basic_expressions_spec.rb +22 -22
  964. data/spec/unit/pops/evaluator/collections_ops_spec.rb +1 -3
  965. data/spec/unit/pops/evaluator/comparison_ops_spec.rb +104 -107
  966. data/spec/unit/pops/evaluator/conditionals_spec.rb +39 -39
  967. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +75 -143
  968. data/spec/unit/pops/evaluator/evaluator_rspec_helper.rb +1 -5
  969. data/spec/unit/pops/evaluator/logical_ops_spec.rb +15 -15
  970. data/spec/unit/pops/evaluator/string_interpolation_spec.rb +5 -5
  971. data/spec/unit/pops/evaluator/variables_spec.rb +18 -18
  972. data/spec/unit/pops/factory_rspec_helper.rb +0 -8
  973. data/spec/unit/pops/factory_spec.rb +104 -104
  974. data/spec/unit/pops/issues_spec.rb +21 -21
  975. data/spec/unit/pops/label_provider_spec.rb +6 -6
  976. data/spec/unit/pops/loaders/loaders_spec.rb +3 -3
  977. data/spec/unit/pops/model/model_spec.rb +10 -10
  978. data/spec/unit/pops/parser/epp_parser_spec.rb +20 -20
  979. data/spec/unit/pops/parser/evaluating_parser_spec.rb +2 -2
  980. data/spec/unit/pops/parser/lexer2_spec.rb +65 -276
  981. data/spec/unit/pops/parser/parse_basic_expressions_spec.rb +91 -91
  982. data/spec/unit/pops/parser/parse_calls_spec.rb +19 -19
  983. data/spec/unit/pops/parser/parse_conditionals_spec.rb +38 -22
  984. data/spec/unit/pops/parser/parse_containers_spec.rb +47 -47
  985. data/spec/unit/pops/parser/parse_heredoc_spec.rb +15 -62
  986. data/spec/unit/pops/parser/parse_resource_spec.rb +75 -70
  987. data/spec/unit/pops/parser/parser_rspec_helper.rb +0 -5
  988. data/spec/unit/pops/parser/parser_spec.rb +7 -7
  989. data/spec/unit/pops/parser/parsing_typed_parameters_spec.rb +0 -7
  990. data/spec/unit/pops/parser/rgen_sanitycheck_spec.rb +2 -2
  991. data/spec/unit/pops/types/class_loader_spec.rb +10 -0
  992. data/spec/unit/pops/types/type_calculator_spec.rb +456 -651
  993. data/spec/unit/pops/types/type_factory_spec.rb +59 -59
  994. data/spec/unit/pops/types/type_parser_spec.rb +2 -10
  995. data/spec/unit/pops/validator/validator_spec.rb +3 -57
  996. data/spec/unit/pops/visitor_spec.rb +4 -4
  997. data/spec/unit/property/boolean_spec.rb +2 -2
  998. data/spec/unit/property/ensure_spec.rb +1 -1
  999. data/spec/unit/property/keyvalue_spec.rb +16 -16
  1000. data/spec/unit/property/list_spec.rb +18 -18
  1001. data/spec/unit/property/ordered_list_spec.rb +7 -7
  1002. data/spec/unit/property_spec.rb +72 -96
  1003. data/spec/unit/provider/aixobject_spec.rb +12 -12
  1004. data/spec/unit/provider/augeas/augeas_spec.rb +171 -149
  1005. data/spec/unit/provider/cisco_spec.rb +2 -2
  1006. data/spec/unit/provider/command_spec.rb +1 -1
  1007. data/spec/unit/provider/cron/crontab_spec.rb +9 -9
  1008. data/spec/unit/provider/cron/parsed_spec.rb +59 -38
  1009. data/spec/unit/provider/exec/posix_spec.rb +9 -19
  1010. data/spec/unit/provider/exec/shell_spec.rb +13 -13
  1011. data/spec/unit/provider/exec/windows_spec.rb +10 -10
  1012. data/spec/unit/provider/exec_spec.rb +2 -2
  1013. data/spec/unit/provider/file/posix_spec.rb +27 -27
  1014. data/spec/unit/provider/file/windows_spec.rb +15 -15
  1015. data/spec/unit/provider/group/groupadd_spec.rb +1 -1
  1016. data/spec/unit/provider/group/ldap_spec.rb +11 -11
  1017. data/spec/unit/provider/group/pw_spec.rb +3 -3
  1018. data/spec/unit/provider/group/windows_adsi_spec.rb +48 -62
  1019. data/spec/unit/provider/host/parsed_spec.rb +58 -22
  1020. data/spec/unit/provider/interface/cisco_spec.rb +3 -3
  1021. data/spec/unit/provider/ldap_spec.rb +23 -23
  1022. data/spec/unit/provider/macauthorization_spec.rb +6 -6
  1023. data/spec/unit/provider/mcx/mcxcontent_spec.rb +6 -6
  1024. data/spec/unit/provider/mount/parsed_spec.rb +101 -119
  1025. data/spec/unit/provider/mount_spec.rb +0 -0
  1026. data/spec/unit/provider/naginator_spec.rb +8 -8
  1027. data/spec/unit/provider/nameservice/directoryservice_spec.rb +5 -27
  1028. data/spec/unit/provider/nameservice_spec.rb +26 -26
  1029. data/spec/unit/provider/network_device_spec.rb +11 -11
  1030. data/spec/unit/provider/package/aix_spec.rb +3 -3
  1031. data/spec/unit/provider/package/appdmg_spec.rb +1 -1
  1032. data/spec/unit/provider/package/apt_spec.rb +4 -4
  1033. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  1034. data/spec/unit/provider/package/aptrpm_spec.rb +3 -3
  1035. data/spec/unit/provider/package/dpkg_spec.rb +0 -0
  1036. data/spec/unit/provider/package/freebsd_spec.rb +1 -1
  1037. data/spec/unit/provider/package/gem_spec.rb +12 -12
  1038. data/spec/unit/provider/package/hpux_spec.rb +3 -3
  1039. data/spec/unit/provider/package/macports_spec.rb +15 -15
  1040. data/spec/unit/provider/package/nim_spec.rb +11 -11
  1041. data/spec/unit/provider/package/openbsd_spec.rb +72 -37
  1042. data/spec/unit/provider/package/opkg_spec.rb +14 -11
  1043. data/spec/unit/provider/package/pacman_spec.rb +185 -86
  1044. data/spec/unit/provider/package/pip_spec.rb +25 -54
  1045. data/spec/unit/provider/package/pkg_spec.rb +145 -71
  1046. data/spec/unit/provider/package/pkgdmg_spec.rb +9 -9
  1047. data/spec/unit/provider/package/pkgin_spec.rb +18 -18
  1048. data/spec/unit/provider/package/pkgutil_spec.rb +19 -19
  1049. data/spec/unit/provider/package/portage_spec.rb +8 -4
  1050. data/spec/unit/provider/package/rpm_spec.rb +103 -9
  1051. data/spec/unit/provider/package/sun_spec.rb +14 -14
  1052. data/spec/unit/provider/package/up2date_spec.rb +1 -1
  1053. data/spec/unit/provider/package/{urpmi.rb → urpmi_spec.rb} +3 -3
  1054. data/spec/unit/provider/package/windows/exe_package_spec.rb +15 -13
  1055. data/spec/unit/provider/package/windows/msi_package_spec.rb +16 -16
  1056. data/spec/unit/provider/package/windows/package_spec.rb +14 -14
  1057. data/spec/unit/provider/package/windows_spec.rb +26 -26
  1058. data/spec/unit/provider/package/yum_spec.rb +292 -98
  1059. data/spec/unit/provider/package/zypper_spec.rb +20 -31
  1060. data/spec/unit/provider/parsedfile_spec.rb +9 -9
  1061. data/spec/unit/provider/scheduled_task/win32_taskscheduler_spec.rb +192 -434
  1062. data/spec/unit/provider/selboolean_spec.rb +2 -2
  1063. data/spec/unit/provider/selmodule_spec.rb +8 -8
  1064. data/spec/unit/provider/service/base_spec.rb +27 -38
  1065. data/spec/unit/provider/service/daemontools_spec.rb +11 -11
  1066. data/spec/unit/provider/service/debian_spec.rb +8 -8
  1067. data/spec/unit/provider/service/freebsd_spec.rb +7 -8
  1068. data/spec/unit/provider/service/gentoo_spec.rb +12 -13
  1069. data/spec/unit/provider/service/init_spec.rb +25 -38
  1070. data/spec/unit/provider/service/launchd_spec.rb +19 -125
  1071. data/spec/unit/provider/service/openbsd_spec.rb +90 -144
  1072. data/spec/unit/provider/service/openrc_spec.rb +14 -14
  1073. data/spec/unit/provider/service/openwrt_spec.rb +9 -9
  1074. data/spec/unit/provider/service/redhat_spec.rb +14 -15
  1075. data/spec/unit/provider/service/runit_spec.rb +11 -11
  1076. data/spec/unit/provider/service/smf_spec.rb +19 -19
  1077. data/spec/unit/provider/service/src_spec.rb +9 -9
  1078. data/spec/unit/provider/service/systemd_spec.rb +33 -15
  1079. data/spec/unit/provider/service/upstart_spec.rb +59 -59
  1080. data/spec/unit/provider/service/windows_spec.rb +6 -6
  1081. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +18 -18
  1082. data/spec/unit/provider/sshkey/parsed_spec.rb +11 -11
  1083. data/spec/unit/provider/user/aix_spec.rb +19 -19
  1084. data/spec/unit/provider/user/directoryservice_spec.rb +51 -95
  1085. data/spec/unit/provider/user/hpux_spec.rb +24 -3
  1086. data/spec/unit/provider/user/ldap_spec.rb +12 -12
  1087. data/spec/unit/provider/user/openbsd_spec.rb +77 -0
  1088. data/spec/unit/provider/user/pw_spec.rb +5 -5
  1089. data/spec/unit/provider/user/user_role_add_spec.rb +20 -20
  1090. data/spec/unit/provider/user/useradd_spec.rb +48 -32
  1091. data/spec/unit/provider/user/windows_adsi_spec.rb +9 -31
  1092. data/spec/unit/provider/vlan/cisco_spec.rb +3 -3
  1093. data/spec/unit/provider/yumrepo/inifile_spec.rb +3 -3
  1094. data/spec/unit/provider/zfs/zfs_spec.rb +11 -11
  1095. data/spec/unit/provider/zone/solaris_spec.rb +22 -55
  1096. data/spec/unit/provider/zpool/zpool_spec.rb +22 -22
  1097. data/spec/unit/provider_spec.rb +110 -102
  1098. data/spec/unit/puppet_spec.rb +15 -8
  1099. data/spec/unit/relationship_spec.rb +37 -41
  1100. data/spec/unit/reports/http_spec.rb +0 -0
  1101. data/spec/unit/reports/store_spec.rb +3 -3
  1102. data/spec/unit/reports_spec.rb +5 -5
  1103. data/spec/unit/resource/catalog_spec.rb +93 -111
  1104. data/spec/unit/resource/status_spec.rb +49 -75
  1105. data/spec/unit/resource/type_collection_helper_spec.rb +1 -1
  1106. data/spec/unit/resource/type_collection_spec.rb +59 -164
  1107. data/spec/unit/resource/type_spec.rb +115 -120
  1108. data/spec/unit/resource_spec.rb +176 -159
  1109. data/spec/unit/scheduler/job_spec.rb +12 -12
  1110. data/spec/unit/scheduler/scheduler_spec.rb +8 -8
  1111. data/spec/unit/scheduler/splay_job_spec.rb +4 -4
  1112. data/spec/unit/semver_spec.rb +66 -64
  1113. data/spec/unit/settings/autosign_setting_spec.rb +1 -0
  1114. data/spec/unit/settings/config_file_spec.rb +13 -40
  1115. data/spec/unit/settings/directory_setting_spec.rb +1 -1
  1116. data/spec/unit/settings/duration_setting_spec.rb +9 -5
  1117. data/spec/unit/settings/environment_conf_spec.rb +0 -11
  1118. data/spec/unit/settings/file_setting_spec.rb +38 -69
  1119. data/spec/unit/settings/ini_file_spec.rb +2 -2
  1120. data/spec/unit/settings/path_setting_spec.rb +5 -5
  1121. data/spec/unit/settings/priority_setting_spec.rb +7 -7
  1122. data/spec/unit/settings/string_setting_spec.rb +7 -7
  1123. data/spec/unit/settings/terminus_setting_spec.rb +4 -4
  1124. data/spec/unit/settings/value_translator_spec.rb +22 -22
  1125. data/spec/unit/settings_spec.rb +189 -338
  1126. data/spec/unit/ssl/base_spec.rb +5 -5
  1127. data/spec/unit/ssl/certificate_authority/autosign_command_spec.rb +2 -2
  1128. data/spec/unit/ssl/certificate_authority/interface_spec.rb +40 -13
  1129. data/spec/unit/ssl/certificate_authority_spec.rb +23 -23
  1130. data/spec/unit/ssl/certificate_factory_spec.rb +39 -26
  1131. data/spec/unit/ssl/certificate_request_attributes_spec.rb +2 -2
  1132. data/spec/unit/ssl/certificate_request_spec.rb +52 -40
  1133. data/spec/unit/ssl/certificate_revocation_list_spec.rb +10 -10
  1134. data/spec/unit/ssl/certificate_spec.rb +35 -38
  1135. data/spec/unit/ssl/configuration_spec.rb +12 -14
  1136. data/spec/unit/ssl/digest_spec.rb +5 -5
  1137. data/spec/unit/ssl/host_spec.rb +91 -91
  1138. data/spec/unit/ssl/inventory_spec.rb +11 -34
  1139. data/spec/unit/ssl/key_spec.rb +23 -23
  1140. data/spec/unit/ssl/oids_spec.rb +28 -15
  1141. data/spec/unit/ssl/validator_spec.rb +16 -17
  1142. data/spec/unit/status_spec.rb +6 -12
  1143. data/spec/unit/transaction/additional_resource_generator_spec.rb +2 -2
  1144. data/spec/unit/transaction/event_manager_spec.rb +38 -8
  1145. data/spec/unit/transaction/event_spec.rb +29 -29
  1146. data/spec/unit/transaction/report_spec.rb +76 -90
  1147. data/spec/unit/transaction/resource_harness_spec.rb +42 -42
  1148. data/spec/unit/transaction_spec.rb +66 -59
  1149. data/spec/unit/type/augeas_spec.rb +20 -20
  1150. data/spec/unit/type/component_spec.rb +10 -10
  1151. data/spec/unit/type/computer_spec.rb +10 -10
  1152. data/spec/unit/type/cron_spec.rb +21 -21
  1153. data/spec/unit/type/exec_spec.rb +65 -73
  1154. data/spec/unit/type/file/checksum_spec.rb +8 -8
  1155. data/spec/unit/type/file/content_spec.rb +144 -85
  1156. data/spec/unit/type/file/ctime_spec.rb +4 -4
  1157. data/spec/unit/type/file/ensure_spec.rb +11 -11
  1158. data/spec/unit/type/file/group_spec.rb +5 -5
  1159. data/spec/unit/type/file/mode_spec.rb +30 -28
  1160. data/spec/unit/type/file/mtime_spec.rb +4 -4
  1161. data/spec/unit/type/file/owner_spec.rb +5 -5
  1162. data/spec/unit/type/file/selinux_spec.rb +8 -8
  1163. data/spec/unit/type/file/source_spec.rb +118 -135
  1164. data/spec/unit/type/file/type_spec.rb +2 -2
  1165. data/spec/unit/type/file_spec.rb +161 -160
  1166. data/spec/unit/type/filebucket_spec.rb +8 -8
  1167. data/spec/unit/type/group_spec.rb +12 -12
  1168. data/spec/unit/type/host_spec.rb +41 -25
  1169. data/spec/unit/type/interface_spec.rb +6 -6
  1170. data/spec/unit/type/k5login_spec.rb +18 -18
  1171. data/spec/unit/type/macauthorization_spec.rb +17 -17
  1172. data/spec/unit/type/mailalias_spec.rb +34 -6
  1173. data/spec/unit/type/maillist_spec.rb +2 -2
  1174. data/spec/unit/type/mcx_spec.rb +13 -13
  1175. data/spec/unit/type/mount_spec.rb +40 -40
  1176. data/spec/unit/type/nagios_spec.rb +23 -23
  1177. data/spec/unit/type/noop_metaparam_spec.rb +5 -5
  1178. data/spec/unit/type/package/package_settings_spec.rb +9 -9
  1179. data/spec/unit/type/package_spec.rb +87 -18
  1180. data/spec/unit/type/resources_spec.rb +46 -46
  1181. data/spec/unit/type/schedule_spec.rb +83 -83
  1182. data/spec/unit/type/scheduled_task_spec.rb +15 -15
  1183. data/spec/unit/type/selboolean_spec.rb +2 -2
  1184. data/spec/unit/type/selmodule_spec.rb +2 -2
  1185. data/spec/unit/type/service_spec.rb +24 -24
  1186. data/spec/unit/type/ssh_authorized_key_spec.rb +2 -2
  1187. data/spec/unit/type/sshkey_spec.rb +0 -0
  1188. data/spec/unit/type/stage_spec.rb +1 -1
  1189. data/spec/unit/type/tidy_spec.rb +58 -39
  1190. data/spec/unit/type/user_spec.rb +56 -56
  1191. data/spec/unit/type/vlan_spec.rb +6 -6
  1192. data/spec/unit/type/whit_spec.rb +1 -1
  1193. data/spec/unit/type/yumrepo_spec.rb +15 -0
  1194. data/spec/unit/type/zfs_spec.rb +3 -3
  1195. data/spec/unit/type/zone_spec.rb +19 -19
  1196. data/spec/unit/type/zpool_spec.rb +15 -15
  1197. data/spec/unit/type_spec.rb +236 -163
  1198. data/spec/unit/util/autoload_spec.rb +31 -25
  1199. data/spec/unit/util/backups_spec.rb +4 -4
  1200. data/spec/unit/util/checksums_spec.rb +55 -27
  1201. data/spec/unit/util/colors_spec.rb +6 -50
  1202. data/spec/unit/util/command_line_spec.rb +13 -41
  1203. data/spec/unit/util/command_line_utils/puppet_option_parser_spec.rb +2 -2
  1204. data/spec/unit/util/constant_inflector_spec.rb +12 -12
  1205. data/spec/unit/util/diff_spec.rb +4 -4
  1206. data/spec/unit/util/errors_spec.rb +5 -5
  1207. data/spec/unit/util/execution_spec.rb +74 -29
  1208. data/spec/unit/util/execution_stub_spec.rb +10 -10
  1209. data/spec/unit/util/feature_spec.rb +15 -19
  1210. data/spec/unit/util/filetype_spec.rb +9 -9
  1211. data/spec/unit/util/http_proxy_spec.rb +18 -18
  1212. data/spec/unit/util/inifile_spec.rb +2 -2
  1213. data/spec/unit/util/json_lockfile_spec.rb +1 -1
  1214. data/spec/unit/util/ldap/connection_spec.rb +6 -6
  1215. data/spec/unit/util/ldap/generator_spec.rb +8 -8
  1216. data/spec/unit/util/ldap/manager_spec.rb +40 -40
  1217. data/spec/unit/util/lockfile_spec.rb +13 -13
  1218. data/spec/unit/util/log/destinations_spec.rb +52 -49
  1219. data/spec/unit/util/log_spec.rb +48 -173
  1220. data/spec/unit/util/logging_spec.rb +120 -3
  1221. data/spec/unit/util/metric_spec.rb +18 -33
  1222. data/spec/unit/util/monkey_patches_spec.rb +18 -139
  1223. data/spec/unit/util/nagios_maker_spec.rb +2 -2
  1224. data/spec/unit/util/network_device/cisco/device_spec.rb +23 -23
  1225. data/spec/unit/util/network_device/cisco/facts_spec.rb +3 -3
  1226. data/spec/unit/util/network_device/cisco/interface_spec.rb +0 -0
  1227. data/spec/unit/util/network_device/config_spec.rb +10 -16
  1228. data/spec/unit/util/network_device/ipcalc_spec.rb +10 -10
  1229. data/spec/unit/util/network_device/transport/base_spec.rb +2 -2
  1230. data/spec/unit/util/network_device/transport/ssh_spec.rb +10 -10
  1231. data/spec/unit/util/network_device/transport/telnet_spec.rb +3 -3
  1232. data/spec/unit/util/network_device_spec.rb +2 -2
  1233. data/spec/unit/util/package_spec.rb +2 -2
  1234. data/spec/unit/util/pidlock_spec.rb +38 -38
  1235. data/spec/unit/util/posix_spec.rb +25 -25
  1236. data/spec/unit/util/profiler/aggregate_spec.rb +14 -18
  1237. data/spec/unit/util/profiler/around_profiler_spec.rb +6 -6
  1238. data/spec/unit/util/profiler/logging_spec.rb +8 -8
  1239. data/spec/unit/util/profiler/object_counts_spec.rb +3 -5
  1240. data/spec/unit/util/profiler/wall_clock_spec.rb +1 -1
  1241. data/spec/unit/util/profiler_spec.rb +6 -14
  1242. data/spec/unit/util/rdoc_spec.rb +0 -85
  1243. data/spec/unit/util/reference_spec.rb +1 -1
  1244. data/spec/unit/util/resource_template_spec.rb +2 -2
  1245. data/spec/unit/util/{retryaction_spec.rb → retry_action_spec.rb} +25 -2
  1246. data/spec/unit/util/rubygems_spec.rb +8 -8
  1247. data/spec/unit/util/run_mode_spec.rb +159 -17
  1248. data/spec/unit/util/selinux_spec.rb +61 -39
  1249. data/spec/unit/util/ssl_spec.rb +13 -13
  1250. data/spec/unit/util/storage_spec.rb +27 -27
  1251. data/spec/unit/util/suidmanager_spec.rb +56 -67
  1252. data/spec/unit/util/symbolic_file_mode_spec.rb +15 -16
  1253. data/spec/unit/util/tag_set_spec.rb +5 -5
  1254. data/spec/unit/util/tagging_spec.rb +0 -0
  1255. data/spec/unit/util/terminal_spec.rb +5 -5
  1256. data/spec/unit/util/user_attr_spec.rb +6 -6
  1257. data/spec/unit/util/warnings_spec.rb +9 -1
  1258. data/spec/unit/util/watcher_spec.rb +1 -1
  1259. data/spec/unit/util/windows/access_control_entry_spec.rb +9 -9
  1260. data/spec/unit/util/windows/access_control_list_spec.rb +21 -21
  1261. data/spec/unit/util/windows/adsi_spec.rb +71 -209
  1262. data/spec/unit/util/windows/api_types_spec.rb +3 -3
  1263. data/spec/unit/util/windows/registry_spec.rb +71 -46
  1264. data/spec/unit/util/windows/root_certs_spec.rb +1 -1
  1265. data/spec/unit/util/windows/security_descriptor_spec.rb +18 -18
  1266. data/spec/unit/util/windows/sid_spec.rb +40 -20
  1267. data/spec/unit/util/windows/string_spec.rb +4 -4
  1268. data/spec/unit/util/yaml_spec.rb +1 -1
  1269. data/spec/unit/util_spec.rb +73 -124
  1270. data/spec/unit/version_spec.rb +4 -4
  1271. data/spec/watchr.rb +1 -5
  1272. data/tasks/benchmark.rake +1 -6
  1273. data/tasks/ci.rake +1 -1
  1274. data/tasks/manpages.rake +0 -9
  1275. data/tasks/parallel.rake +4 -7
  1276. data/tasks/parser.rake +0 -5
  1277. metadata +175 -461
  1278. data/conf/tagmail.conf +0 -16
  1279. data/ext/debian/puppet.conf +0 -14
  1280. data/ext/debian/puppetmaster-common.puppetqd.default +0 -27
  1281. data/ext/debian/puppetmaster-common.puppetqd.init +0 -84
  1282. data/ext/gentoo/puppet/puppet.conf +0 -25
  1283. data/ext/ips/puppet.conf +0 -29
  1284. data/ext/nagios/naggen +0 -309
  1285. data/ext/puppet-load.rb +0 -393
  1286. data/ext/redhat/puppet.conf +0 -25
  1287. data/ext/redhat/queue.init +0 -105
  1288. data/lib/hiera/backend/puppet_backend.rb +0 -103
  1289. data/lib/puppet/application/instrumentation_data.rb +0 -7
  1290. data/lib/puppet/application/instrumentation_listener.rb +0 -7
  1291. data/lib/puppet/application/instrumentation_probe.rb +0 -7
  1292. data/lib/puppet/application/kick.rb +0 -351
  1293. data/lib/puppet/application/queue.rb +0 -161
  1294. data/lib/puppet/application/secret_agent.rb +0 -9
  1295. data/lib/puppet/dsl.rb +0 -7
  1296. data/lib/puppet/dsl/resource_api.rb +0 -120
  1297. data/lib/puppet/dsl/resource_type_api.rb +0 -34
  1298. data/lib/puppet/face/instrumentation_data.rb +0 -30
  1299. data/lib/puppet/face/instrumentation_listener.rb +0 -98
  1300. data/lib/puppet/face/instrumentation_probe.rb +0 -79
  1301. data/lib/puppet/face/secret_agent.rb +0 -54
  1302. data/lib/puppet/feature/pson.rb +0 -4
  1303. data/lib/puppet/feature/rails.rb +0 -47
  1304. data/lib/puppet/feature/rdoc1.rb +0 -16
  1305. data/lib/puppet/feature/rubygems.rb +0 -7
  1306. data/lib/puppet/feature/stomp.rb +0 -5
  1307. data/lib/puppet/file_collection.rb +0 -19
  1308. data/lib/puppet/file_collection/lookup.rb +0 -10
  1309. data/lib/puppet/file_system/file18.rb +0 -5
  1310. data/lib/puppet/functions/defined.rb +0 -130
  1311. data/lib/puppet/indirector/active_record.rb +0 -29
  1312. data/lib/puppet/indirector/catalog/active_record.rb +0 -39
  1313. data/lib/puppet/indirector/catalog/queue.rb +0 -9
  1314. data/lib/puppet/indirector/couch.rb +0 -78
  1315. data/lib/puppet/indirector/facts/active_record.rb +0 -44
  1316. data/lib/puppet/indirector/facts/couch.rb +0 -36
  1317. data/lib/puppet/indirector/facts/inventory_active_record.rb +0 -110
  1318. data/lib/puppet/indirector/facts/inventory_service.rb +0 -20
  1319. data/lib/puppet/indirector/facts/rest.rb +0 -8
  1320. data/lib/puppet/indirector/instrumentation_data.rb +0 -3
  1321. data/lib/puppet/indirector/instrumentation_data/local.rb +0 -22
  1322. data/lib/puppet/indirector/instrumentation_data/rest.rb +0 -8
  1323. data/lib/puppet/indirector/instrumentation_listener.rb +0 -3
  1324. data/lib/puppet/indirector/instrumentation_listener/local.rb +0 -26
  1325. data/lib/puppet/indirector/instrumentation_listener/rest.rb +0 -8
  1326. data/lib/puppet/indirector/instrumentation_probe.rb +0 -3
  1327. data/lib/puppet/indirector/instrumentation_probe/local.rb +0 -27
  1328. data/lib/puppet/indirector/instrumentation_probe/rest.rb +0 -8
  1329. data/lib/puppet/indirector/node/active_record.rb +0 -22
  1330. data/lib/puppet/indirector/queue.rb +0 -80
  1331. data/lib/puppet/indirector/resource/active_record.rb +0 -104
  1332. data/lib/puppet/indirector/resource/rest.rb +0 -17
  1333. data/lib/puppet/indirector/run/local.rb +0 -15
  1334. data/lib/puppet/indirector/run/rest.rb +0 -12
  1335. data/lib/puppet/module_tool/modulefile.rb +0 -78
  1336. data/lib/puppet/network/authentication.rb +0 -35
  1337. data/lib/puppet/network/http/api/v2.rb +0 -32
  1338. data/lib/puppet/network/http/api/v2/authorization.rb +0 -15
  1339. data/lib/puppet/parser/ast/arithmetic_operator.rb +0 -91
  1340. data/lib/puppet/parser/ast/astarray.rb +0 -50
  1341. data/lib/puppet/parser/ast/asthash.rb +0 -37
  1342. data/lib/puppet/parser/ast/boolean_operator.rb +0 -46
  1343. data/lib/puppet/parser/ast/caseopt.rb +0 -52
  1344. data/lib/puppet/parser/ast/casestatement.rb +0 -41
  1345. data/lib/puppet/parser/ast/collection.rb +0 -53
  1346. data/lib/puppet/parser/ast/collexpr.rb +0 -109
  1347. data/lib/puppet/parser/ast/comparison_operator.rb +0 -38
  1348. data/lib/puppet/parser/ast/definition.rb +0 -17
  1349. data/lib/puppet/parser/ast/else.rb +0 -22
  1350. data/lib/puppet/parser/ast/function.rb +0 -59
  1351. data/lib/puppet/parser/ast/ifstatement.rb +0 -34
  1352. data/lib/puppet/parser/ast/in_operator.rb +0 -24
  1353. data/lib/puppet/parser/ast/lambda.rb +0 -135
  1354. data/lib/puppet/parser/ast/match_operator.rb +0 -28
  1355. data/lib/puppet/parser/ast/method_call.rb +0 -77
  1356. data/lib/puppet/parser/ast/minus.rb +0 -23
  1357. data/lib/puppet/parser/ast/nop.rb +0 -11
  1358. data/lib/puppet/parser/ast/not.rb +0 -19
  1359. data/lib/puppet/parser/ast/relationship.rb +0 -47
  1360. data/lib/puppet/parser/ast/resource_defaults.rb +0 -24
  1361. data/lib/puppet/parser/ast/resource_override.rb +0 -62
  1362. data/lib/puppet/parser/ast/resource_reference.rb +0 -28
  1363. data/lib/puppet/parser/ast/selector.rb +0 -50
  1364. data/lib/puppet/parser/ast/vardef.rb +0 -38
  1365. data/lib/puppet/parser/code_merger.rb +0 -13
  1366. data/lib/puppet/parser/collector.rb +0 -177
  1367. data/lib/puppet/parser/functions/extlookup.rb +0 -153
  1368. data/lib/puppet/parser/functions/search.rb +0 -12
  1369. data/lib/puppet/parser/grammar.ra +0 -806
  1370. data/lib/puppet/parser/lexer.rb +0 -608
  1371. data/lib/puppet/parser/makefile +0 -8
  1372. data/lib/puppet/parser/methods.rb +0 -69
  1373. data/lib/puppet/parser/parser.rb +0 -2559
  1374. data/lib/puppet/parser/parser_support.rb +0 -195
  1375. data/lib/puppet/pops/binder/lookup.rb +0 -216
  1376. data/lib/puppet/pops/migration/migration_checker.rb +0 -45
  1377. data/lib/puppet/pops/model/ast_tree_dumper.rb +0 -386
  1378. data/lib/puppet/provider/package/msi.rb +0 -125
  1379. data/lib/puppet/provider/package/yumhelper.py +0 -159
  1380. data/lib/puppet/rails.rb +0 -139
  1381. data/lib/puppet/rails/benchmark.rb +0 -63
  1382. data/lib/puppet/rails/database/001_add_created_at_to_all_tables.rb +0 -13
  1383. data/lib/puppet/rails/database/002_remove_duplicated_index_on_all_tables.rb +0 -13
  1384. data/lib/puppet/rails/database/003_add_environment_to_host.rb +0 -9
  1385. data/lib/puppet/rails/database/004_add_inventory_service_tables.rb +0 -36
  1386. data/lib/puppet/rails/database/schema.rb +0 -136
  1387. data/lib/puppet/rails/fact_name.rb +0 -7
  1388. data/lib/puppet/rails/fact_value.rb +0 -10
  1389. data/lib/puppet/rails/host.rb +0 -258
  1390. data/lib/puppet/rails/inventory_fact.rb +0 -5
  1391. data/lib/puppet/rails/inventory_node.rb +0 -43
  1392. data/lib/puppet/rails/param_name.rb +0 -25
  1393. data/lib/puppet/rails/param_value.rb +0 -74
  1394. data/lib/puppet/rails/puppet_tag.rb +0 -10
  1395. data/lib/puppet/rails/resource.rb +0 -235
  1396. data/lib/puppet/rails/resource_tag.rb +0 -26
  1397. data/lib/puppet/rails/source_file.rb +0 -8
  1398. data/lib/puppet/reports/rrdgraph.rb +0 -128
  1399. data/lib/puppet/reports/tagmail.rb +0 -179
  1400. data/lib/puppet/run.rb +0 -109
  1401. data/lib/puppet/util/cacher.rb +0 -74
  1402. data/lib/puppet/util/inline_docs.rb +0 -26
  1403. data/lib/puppet/util/instrumentation.rb +0 -152
  1404. data/lib/puppet/util/instrumentation/data.rb +0 -46
  1405. data/lib/puppet/util/instrumentation/indirection_probe.rb +0 -41
  1406. data/lib/puppet/util/instrumentation/instrumentable.rb +0 -136
  1407. data/lib/puppet/util/instrumentation/listener.rb +0 -72
  1408. data/lib/puppet/util/instrumentation/listeners/log.rb +0 -23
  1409. data/lib/puppet/util/instrumentation/listeners/performance.rb +0 -24
  1410. data/lib/puppet/util/log/rate_limited_logger.rb +0 -40
  1411. data/lib/puppet/util/monkey_patches/lines.rb +0 -13
  1412. data/lib/puppet/util/plugins.rb +0 -82
  1413. data/lib/puppet/util/pson.rb +0 -13
  1414. data/lib/puppet/util/queue.rb +0 -96
  1415. data/lib/puppet/util/queue/stomp.rb +0 -60
  1416. data/lib/puppet/util/rails/cache_accumulator.rb +0 -65
  1417. data/lib/puppet/util/rails/collection_merger.rb +0 -17
  1418. data/lib/puppet/util/rails/reference_serializer.rb +0 -32
  1419. data/lib/puppet/util/rdoc/parser/puppet_parser_rdoc1.rb +0 -19
  1420. data/lib/puppet/util/retryaction.rb +0 -47
  1421. data/lib/puppet/util/zaml.rb +0 -419
  1422. data/lib/puppet/vendor/load_safe_yaml.rb +0 -1
  1423. data/lib/puppet/vendor/safe_yaml/CHANGES.md +0 -104
  1424. data/lib/puppet/vendor/safe_yaml/Gemfile +0 -11
  1425. data/lib/puppet/vendor/safe_yaml/LICENSE.txt +0 -22
  1426. data/lib/puppet/vendor/safe_yaml/PUPPET_README.md +0 -6
  1427. data/lib/puppet/vendor/safe_yaml/README.md +0 -179
  1428. data/lib/puppet/vendor/safe_yaml/Rakefile +0 -6
  1429. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml.rb +0 -253
  1430. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/deep.rb +0 -34
  1431. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/date.rb +0 -27
  1432. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/hexadecimal.rb +0 -12
  1433. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/parse/sexagesimal.rb +0 -26
  1434. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_handler.rb +0 -92
  1435. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/psych_resolver.rb +0 -52
  1436. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/resolver.rb +0 -94
  1437. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/safe_to_ruby_visitor.rb +0 -17
  1438. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_hack.rb +0 -36
  1439. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_node_monkeypatch.rb +0 -43
  1440. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/syck_resolver.rb +0 -38
  1441. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform.rb +0 -41
  1442. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_boolean.rb +0 -21
  1443. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_date.rb +0 -11
  1444. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_float.rb +0 -33
  1445. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_integer.rb +0 -25
  1446. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_nil.rb +0 -18
  1447. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/to_symbol.rb +0 -13
  1448. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/transform/transformation_map.rb +0 -47
  1449. data/lib/puppet/vendor/safe_yaml/lib/safe_yaml/version.rb +0 -3
  1450. data/lib/puppet/vendor/safe_yaml/run_specs_all_ruby_versions.sh +0 -21
  1451. data/lib/puppet/vendor/safe_yaml/safe_yaml.gemspec +0 -18
  1452. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.2.yaml +0 -2
  1453. data/lib/puppet/vendor/safe_yaml/spec/exploit.1.9.3.yaml +0 -2
  1454. data/lib/puppet/vendor/safe_yaml/spec/psych_resolver_spec.rb +0 -10
  1455. data/lib/puppet/vendor/safe_yaml/spec/resolver_specs.rb +0 -250
  1456. data/lib/puppet/vendor/safe_yaml/spec/safe_yaml_spec.rb +0 -702
  1457. data/lib/puppet/vendor/safe_yaml/spec/spec_helper.rb +0 -18
  1458. data/lib/puppet/vendor/safe_yaml/spec/support/exploitable_back_door.rb +0 -29
  1459. data/lib/puppet/vendor/safe_yaml/spec/syck_resolver_spec.rb +0 -10
  1460. data/lib/puppet/vendor/safe_yaml/spec/transform/base64_spec.rb +0 -11
  1461. data/lib/puppet/vendor/safe_yaml/spec/transform/to_date_spec.rb +0 -34
  1462. data/lib/puppet/vendor/safe_yaml/spec/transform/to_float_spec.rb +0 -42
  1463. data/lib/puppet/vendor/safe_yaml/spec/transform/to_integer_spec.rb +0 -59
  1464. data/lib/puppet/vendor/safe_yaml/spec/transform/to_symbol_spec.rb +0 -49
  1465. data/lib/puppet/vendor/safe_yaml_patches.rb +0 -9
  1466. data/lib/puppetx.rb +0 -89
  1467. data/man/man8/puppet-instrumentation_data.8 +0 -141
  1468. data/man/man8/puppet-instrumentation_listener.8 +0 -218
  1469. data/man/man8/puppet-instrumentation_probe.8 +0 -203
  1470. data/man/man8/puppet-kick.8 +0 -131
  1471. data/man/man8/puppet-queue.8 +0 -55
  1472. data/man/man8/puppet-secret_agent.8 +0 -70
  1473. data/spec/fixtures/module.tar.gz +0 -0
  1474. data/spec/fixtures/unit/provider/package/pkg/publisher +0 -2
  1475. data/spec/fixtures/unit/provider/package/pkg/simple +0 -2
  1476. data/spec/fixtures/yaml/report0.25.x.yaml +0 -64
  1477. data/spec/integration/indirector/catalog/queue_spec.rb +0 -55
  1478. data/spec/integration/module_tool/tar/mini_spec.rb +0 -28
  1479. data/spec/integration/parser/dynamic_scoping_spec.rb +0 -131
  1480. data/spec/integration/parser/future_compiler_spec.rb +0 -822
  1481. data/spec/integration/parser/parser_spec.rb +0 -207
  1482. data/spec/integration/parser/ruby_manifest_spec.rb +0 -119
  1483. data/spec/integration/type/sshkey_spec.rb +0 -22
  1484. data/spec/integration/util/feature_spec.rb +0 -53
  1485. data/spec/lib/puppet_spec/database.rb +0 -29
  1486. data/spec/monkey_patches/alias_should_to_must.rb +0 -21
  1487. data/spec/shared_contexts/platform.rb +0 -52
  1488. data/spec/unit/application/kick_spec.rb +0 -296
  1489. data/spec/unit/application/queue_spec.rb +0 -168
  1490. data/spec/unit/application/secret_agent_spec.rb +0 -34
  1491. data/spec/unit/dsl/resource_api_spec.rb +0 -180
  1492. data/spec/unit/dsl/resource_type_api_spec.rb +0 -53
  1493. data/spec/unit/face/instrumentation_data_spec.rb +0 -7
  1494. data/spec/unit/face/instrumentation_listener_spec.rb +0 -38
  1495. data/spec/unit/face/instrumentation_probe_spec.rb +0 -21
  1496. data/spec/unit/face/secret_agent_spec.rb +0 -27
  1497. data/spec/unit/functions/defined_spec.rb +0 -291
  1498. data/spec/unit/hiera/backend/puppet_backend_spec.rb +0 -148
  1499. data/spec/unit/indirector/active_record_spec.rb +0 -75
  1500. data/spec/unit/indirector/catalog/active_record_spec.rb +0 -107
  1501. data/spec/unit/indirector/catalog/queue_spec.rb +0 -19
  1502. data/spec/unit/indirector/facts/active_record_spec.rb +0 -113
  1503. data/spec/unit/indirector/facts/couch_spec.rb +0 -102
  1504. data/spec/unit/indirector/facts/inventory_active_record_spec.rb +0 -175
  1505. data/spec/unit/indirector/facts/inventory_service_spec.rb +0 -21
  1506. data/spec/unit/indirector/facts/rest_spec.rb +0 -10
  1507. data/spec/unit/indirector/instrumentation_data/local_spec.rb +0 -52
  1508. data/spec/unit/indirector/instrumentation_data/rest_spec.rb +0 -11
  1509. data/spec/unit/indirector/instrumentation_listener/local_spec.rb +0 -65
  1510. data/spec/unit/indirector/instrumentation_listener/rest_spec.rb +0 -11
  1511. data/spec/unit/indirector/instrumentation_probe/local_spec.rb +0 -65
  1512. data/spec/unit/indirector/instrumentation_probe/rest_spec.rb +0 -11
  1513. data/spec/unit/indirector/node/active_record_spec.rb +0 -48
  1514. data/spec/unit/indirector/queue_spec.rb +0 -115
  1515. data/spec/unit/indirector/resource/active_record_spec.rb +0 -166
  1516. data/spec/unit/indirector/resource/rest_spec.rb +0 -10
  1517. data/spec/unit/indirector/run/local_spec.rb +0 -21
  1518. data/spec/unit/indirector/run/rest_spec.rb +0 -10
  1519. data/spec/unit/network/authentication_spec.rb +0 -104
  1520. data/spec/unit/network/http/api/v2_spec.rb +0 -14
  1521. data/spec/unit/parser/ast/arithmetic_operator_spec.rb +0 -160
  1522. data/spec/unit/parser/ast/astarray_spec.rb +0 -56
  1523. data/spec/unit/parser/ast/asthash_spec.rb +0 -98
  1524. data/spec/unit/parser/ast/boolean_operator_spec.rb +0 -54
  1525. data/spec/unit/parser/ast/casestatement_spec.rb +0 -168
  1526. data/spec/unit/parser/ast/collection_spec.rb +0 -70
  1527. data/spec/unit/parser/ast/collexpr_spec.rb +0 -120
  1528. data/spec/unit/parser/ast/comparison_operator_spec.rb +0 -118
  1529. data/spec/unit/parser/ast/definition_spec.rb +0 -21
  1530. data/spec/unit/parser/ast/function_spec.rb +0 -92
  1531. data/spec/unit/parser/ast/hostclass_spec.rb +0 -72
  1532. data/spec/unit/parser/ast/ifstatement_spec.rb +0 -77
  1533. data/spec/unit/parser/ast/in_operator_spec.rb +0 -61
  1534. data/spec/unit/parser/ast/match_operator_spec.rb +0 -51
  1535. data/spec/unit/parser/ast/minus_spec.rb +0 -37
  1536. data/spec/unit/parser/ast/node_spec.rb +0 -30
  1537. data/spec/unit/parser/ast/nop_spec.rb +0 -19
  1538. data/spec/unit/parser/ast/not_spec.rb +0 -31
  1539. data/spec/unit/parser/ast/relationship_spec.rb +0 -87
  1540. data/spec/unit/parser/ast/resource_defaults_spec.rb +0 -21
  1541. data/spec/unit/parser/ast/resource_override_spec.rb +0 -50
  1542. data/spec/unit/parser/ast/resource_reference_spec.rb +0 -56
  1543. data/spec/unit/parser/ast/resource_spec.rb +0 -183
  1544. data/spec/unit/parser/ast/resourceparam_spec.rb +0 -51
  1545. data/spec/unit/parser/ast/selector_spec.rb +0 -88
  1546. data/spec/unit/parser/ast/vardef_spec.rb +0 -68
  1547. data/spec/unit/parser/ast_spec.rb +0 -76
  1548. data/spec/unit/parser/collector_spec.rb +0 -438
  1549. data/spec/unit/parser/functions/extlookup_spec.rb +0 -102
  1550. data/spec/unit/parser/functions/search_spec.rb +0 -28
  1551. data/spec/unit/parser/lexer_spec.rb +0 -877
  1552. data/spec/unit/parser/parser_spec.rb +0 -535
  1553. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +0 -19
  1554. data/spec/unit/pops/migration_spec.rb +0 -180
  1555. data/spec/unit/pops/model/ast_transformer_spec.rb +0 -76
  1556. data/spec/unit/pops/transformer/transform_basic_expressions_spec.rb +0 -243
  1557. data/spec/unit/pops/transformer/transform_calls_spec.rb +0 -115
  1558. data/spec/unit/pops/transformer/transform_conditionals_spec.rb +0 -123
  1559. data/spec/unit/pops/transformer/transform_containers_spec.rb +0 -190
  1560. data/spec/unit/pops/transformer/transformer_rspec_helper.rb +0 -27
  1561. data/spec/unit/pops/validation_spec.rb +0 -66
  1562. data/spec/unit/provider/package/msi_spec.rb +0 -229
  1563. data/spec/unit/rails/host_spec.rb +0 -162
  1564. data/spec/unit/rails/param_value_spec.rb +0 -46
  1565. data/spec/unit/rails/resource_spec.rb +0 -115
  1566. data/spec/unit/rails_spec.rb +0 -244
  1567. data/spec/unit/reports/rrdgraph_spec.rb +0 -29
  1568. data/spec/unit/reports/tagmail_spec.rb +0 -218
  1569. data/spec/unit/run_spec.rb +0 -175
  1570. data/spec/unit/util/cache_accumulator_spec.rb +0 -74
  1571. data/spec/unit/util/cacher_spec.rb +0 -107
  1572. data/spec/unit/util/inline_docs_spec.rb +0 -31
  1573. data/spec/unit/util/instrumentation/data_spec.rb +0 -46
  1574. data/spec/unit/util/instrumentation/indirection_probe_spec.rb +0 -21
  1575. data/spec/unit/util/instrumentation/instrumentable_spec.rb +0 -186
  1576. data/spec/unit/util/instrumentation/listener_spec.rb +0 -101
  1577. data/spec/unit/util/instrumentation/listeners/log_spec.rb +0 -34
  1578. data/spec/unit/util/instrumentation/listeners/performance_spec.rb +0 -36
  1579. data/spec/unit/util/instrumentation_spec.rb +0 -181
  1580. data/spec/unit/util/log/rate_limited_logger_spec.rb +0 -51
  1581. data/spec/unit/util/monkey_patches/lines_spec.rb +0 -83
  1582. data/spec/unit/util/queue/stomp_spec.rb +0 -137
  1583. data/spec/unit/util/queue_spec.rb +0 -94
  1584. data/spec/unit/util/rdoc/parser_spec.rb +0 -608
  1585. data/spec/unit/util/reference_serializer_spec.rb +0 -51
  1586. data/spec/unit/util/zaml_spec.rb +0 -308
@@ -7,21 +7,21 @@ describe "Puppet::Pops::Issues" do
7
7
 
8
8
  it "should have an issue called NAME_WITH_HYPHEN" do
9
9
  x = Puppet::Pops::Issues::NAME_WITH_HYPHEN
10
- x.class.should == Puppet::Pops::Issues::Issue
11
- x.issue_code.should == :NAME_WITH_HYPHEN
10
+ expect(x.class).to eq(Puppet::Pops::Issues::Issue)
11
+ expect(x.issue_code).to eq(:NAME_WITH_HYPHEN)
12
12
  end
13
13
 
14
14
  it "should should format a message that requires an argument" do
15
15
  x = Puppet::Pops::Issues::NAME_WITH_HYPHEN
16
- x.format(:name => 'Boo-Hoo',
16
+ expect(x.format(:name => 'Boo-Hoo',
17
17
  :label => Puppet::Pops::Model::ModelLabelProvider.new,
18
18
  :semantic => "dummy"
19
- ).should == "A String may not have a name containing a hyphen. The name 'Boo-Hoo' is not legal"
19
+ )).to eq("A String may not have a name containing a hyphen. The name 'Boo-Hoo' is not legal")
20
20
  end
21
21
 
22
22
  it "should should format a message that does not require an argument" do
23
23
  x = Puppet::Pops::Issues::NOT_TOP_LEVEL
24
- x.format().should == "Classes, definitions, and nodes may only appear at toplevel or inside other classes"
24
+ expect(x.format()).to eq("Classes, definitions, and nodes may only appear at toplevel or inside other classes")
25
25
  end
26
26
 
27
27
  end
@@ -62,19 +62,19 @@ describe "Puppet::Pops::IssueReporter" do
62
62
  end
63
63
 
64
64
  it "emits warnings if told to emit them" do
65
- Puppet::Log.expects(:create).twice.with(has_entries(:level => :warning, :message => regexp_matches(/warning1|deprecation1/)))
65
+ Puppet.expects(:warning).twice.with(regexp_matches(/warning1|deprecation1/))
66
66
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { :emit_warnings => true })
67
67
  end
68
68
 
69
69
  it "does not emit warnings if not told to emit them" do
70
- Puppet::Log.expects(:create).never
70
+ Puppet.expects(:warning).never
71
71
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, {})
72
72
  end
73
73
 
74
74
  it "emits no warnings if :max_warnings is 0" do
75
75
  acceptor.accept( warning(2) )
76
76
  Puppet[:max_warnings] = 0
77
- Puppet::Log.expects(:create).once.with(has_entries(:level => :warning, :message => regexp_matches(/deprecation1/)))
77
+ Puppet.expects(:warning).once.with(regexp_matches(/deprecation1/))
78
78
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { :emit_warnings => true })
79
79
  end
80
80
 
@@ -82,20 +82,20 @@ describe "Puppet::Pops::IssueReporter" do
82
82
  acceptor.accept( warning(2) )
83
83
  acceptor.accept( warning(3) )
84
84
  Puppet[:max_warnings] = 1
85
- Puppet::Log.expects(:create).twice.with(has_entries(:level => :warning, :message => regexp_matches(/warning1|deprecation1/)))
85
+ Puppet.expects(:warning).twice.with(regexp_matches(/warning1|deprecation1/))
86
86
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { :emit_warnings => true })
87
87
  end
88
88
 
89
89
  it "does not emit more deprecations warnings than the max deprecation warnings" do
90
90
  acceptor.accept( deprecation(2) )
91
91
  Puppet[:max_deprecations] = 0
92
- Puppet::Log.expects(:create).once.with(has_entries(:level => :warning, :message => regexp_matches(/warning1/)))
92
+ Puppet.expects(:warning).once.with(regexp_matches(/warning1/))
93
93
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { :emit_warnings => true })
94
94
  end
95
95
 
96
96
  it "does not emit deprecation warnings, but does emit regular warnings if disable_warnings includes deprecations" do
97
97
  Puppet[:disable_warnings] = 'deprecations'
98
- Puppet::Log.expects(:create).once.with(has_entries(:level => :warning, :message => regexp_matches(/warning1/)))
98
+ Puppet.expects(:warning).once.with(regexp_matches(/warning1/))
99
99
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { :emit_warnings => true })
100
100
  end
101
101
  end
@@ -103,7 +103,7 @@ describe "Puppet::Pops::IssueReporter" do
103
103
  context "given errors" do
104
104
  it "logs nothing, but raises the given :message if :emit_errors is repressing error logging" do
105
105
  acceptor.accept( error(1) )
106
- Puppet::Log.expects(:create).never
106
+ Puppet.expects(:err).never
107
107
  expect do
108
108
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { :emit_errors => false, :message => 'special'})
109
109
  end.to raise_error(Puppet::ParseError, 'special')
@@ -111,7 +111,7 @@ describe "Puppet::Pops::IssueReporter" do
111
111
 
112
112
  it "prefixes :message if a single error is raised" do
113
113
  acceptor.accept( error(1) )
114
- Puppet::Log.expects(:create).never
114
+ Puppet.expects(:err).never
115
115
  expect do
116
116
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { :message => 'special'})
117
117
  end.to raise_error(Puppet::ParseError, /special error1/)
@@ -119,7 +119,7 @@ describe "Puppet::Pops::IssueReporter" do
119
119
 
120
120
  it "logs nothing and raises immediately if there is only one error" do
121
121
  acceptor.accept( error(1) )
122
- Puppet::Log.expects(:create).never
122
+ Puppet.expects(:err).never
123
123
  expect do
124
124
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { })
125
125
  end.to raise_error(Puppet::ParseError, /error1/)
@@ -129,7 +129,7 @@ describe "Puppet::Pops::IssueReporter" do
129
129
  acceptor.accept( error(1) )
130
130
  acceptor.accept( error(2) )
131
131
  Puppet[:max_errors] = 0
132
- Puppet::Log.expects(:create).never
132
+ Puppet.expects(:err).never
133
133
  expect do
134
134
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { })
135
135
  end.to raise_error(Puppet::ParseError, /error1/)
@@ -138,7 +138,7 @@ describe "Puppet::Pops::IssueReporter" do
138
138
  it "logs the :message if there is more than one allowed error" do
139
139
  acceptor.accept( error(1) )
140
140
  acceptor.accept( error(2) )
141
- Puppet::Log.expects(:create).times(3).with(has_entries(:level => :err, :message => regexp_matches(/error1|error2|special/)))
141
+ Puppet.expects(:err).times(3).with(regexp_matches(/error1|error2|special/))
142
142
  expect do
143
143
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { :message => 'special'})
144
144
  end.to raise_error(Puppet::ParseError, /Giving up/)
@@ -149,7 +149,7 @@ describe "Puppet::Pops::IssueReporter" do
149
149
  acceptor.accept( error(2) )
150
150
  acceptor.accept( error(3) )
151
151
  Puppet[:max_errors] = 2
152
- Puppet::Log.expects(:create).times(2).with(has_entries(:level => :err, :message => regexp_matches(/error1|error2/)))
152
+ Puppet.expects(:err).times(2).with(regexp_matches(/error1|error2/))
153
153
  expect do
154
154
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { })
155
155
  end.to raise_error(Puppet::ParseError, /3 errors.*Giving up/)
@@ -160,7 +160,7 @@ describe "Puppet::Pops::IssueReporter" do
160
160
  acceptor.accept( error(2) )
161
161
  acceptor.accept( error(3) )
162
162
  Puppet[:max_errors] = 4
163
- Puppet::Log.expects(:create).times(3).with(has_entries(:level => :err, :message => regexp_matches(/error[123]/)))
163
+ Puppet.expects(:err).times(3).with(regexp_matches(/error[123]/))
164
164
  expect do
165
165
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { })
166
166
  end.to raise_error(Puppet::ParseError, /3 errors.*Giving up/)
@@ -170,7 +170,7 @@ describe "Puppet::Pops::IssueReporter" do
170
170
  acceptor.accept( error(1) )
171
171
  acceptor.accept( error(2) )
172
172
  Puppet[:disable_warnings] = 'deprecations'
173
- Puppet::Log.expects(:create).times(2).with(has_entries(:level => :err, :message => regexp_matches(/error1|error2/)))
173
+ Puppet.expects(:err).times(2).with(regexp_matches(/error1|error2/))
174
174
  expect do
175
175
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { })
176
176
  end.to raise_error(Puppet::ParseError, /Giving up/)
@@ -186,8 +186,8 @@ describe "Puppet::Pops::IssueReporter" do
186
186
  acceptor.accept( error(3) )
187
187
  acceptor.accept( deprecation(1) )
188
188
  Puppet[:max_errors] = 2
189
- Puppet::Log.expects(:create).twice.with(has_entries(:level => :warning, :message => regexp_matches(/warning1|deprecation1/)))
190
- Puppet::Log.expects(:create).twice.with(has_entries(:level => :err, :message => regexp_matches(/error[123]/)))
189
+ Puppet.expects(:warning).twice.with(regexp_matches(/warning1|deprecation1/))
190
+ Puppet.expects(:err).times(2).with(regexp_matches(/error[123]/))
191
191
  expect do
192
192
  Puppet::Pops::IssueReporter.assert_and_report(acceptor, { :emit_warnings => true })
193
193
  end.to raise_error(Puppet::ParseError, /3 errors.*2 warnings.*Giving up/)
@@ -5,27 +5,27 @@ describe Puppet::Pops::LabelProvider do
5
5
  let(:labeler) { Puppet::Pops::LabelProvider.new }
6
6
 
7
7
  it "prefixes words that start with a vowel with an 'an'" do
8
- labeler.a_an('owl').should == 'an owl'
8
+ expect(labeler.a_an('owl')).to eq('an owl')
9
9
  end
10
10
 
11
11
  it "prefixes words that start with a consonant with an 'a'" do
12
- labeler.a_an('bear').should == 'a bear'
12
+ expect(labeler.a_an('bear')).to eq('a bear')
13
13
  end
14
14
 
15
15
  it "prefixes non-word characters with an 'a'" do
16
- labeler.a_an('[] expression').should == 'a [] expression'
16
+ expect(labeler.a_an('[] expression')).to eq('a [] expression')
17
17
  end
18
18
 
19
19
  it "ignores a single quote leading the word" do
20
- labeler.a_an("'owl'").should == "an 'owl'"
20
+ expect(labeler.a_an("'owl'")).to eq("an 'owl'")
21
21
  end
22
22
 
23
23
  it "ignores a double quote leading the word" do
24
- labeler.a_an('"owl"').should == 'an "owl"'
24
+ expect(labeler.a_an('"owl"')).to eq('an "owl"')
25
25
  end
26
26
 
27
27
  it "capitalizes the indefinite article for a word when requested" do
28
- labeler.a_an_uc('owl').should == 'An owl'
28
+ expect(labeler.a_an_uc('owl')).to eq('An owl')
29
29
  end
30
30
 
31
31
  it "raises an error when missing a character to work with" do
@@ -7,7 +7,7 @@ require 'puppet/loaders'
7
7
  describe 'loader helper classes' do
8
8
  it 'NamedEntry holds values and is frozen' do
9
9
  ne = Puppet::Pops::Loader::Loader::NamedEntry.new('name', 'value', 'origin')
10
- expect(ne.frozen?).to be_true
10
+ expect(ne.frozen?).to be_truthy
11
11
  expect(ne.typed_name).to eql('name')
12
12
  expect(ne.origin).to eq('origin')
13
13
  expect(ne.value).to eq('value')
@@ -15,11 +15,11 @@ describe 'loader helper classes' do
15
15
 
16
16
  it 'TypedName holds values and is frozen' do
17
17
  tn = Puppet::Pops::Loader::Loader::TypedName.new(:function, '::foo::bar')
18
- expect(tn.frozen?).to be_true
18
+ expect(tn.frozen?).to be_truthy
19
19
  expect(tn.type).to eq(:function)
20
20
  expect(tn.name_parts).to eq(['foo', 'bar'])
21
21
  expect(tn.name).to eq('foo::bar')
22
- expect(tn.qualified).to be_true
22
+ expect(tn.qualified?).to be_truthy
23
23
  end
24
24
  end
25
25
 
@@ -5,7 +5,7 @@ require 'puppet/pops'
5
5
  describe Puppet::Pops::Model do
6
6
  it "should be possible to create an instance of a model object" do
7
7
  nop = Puppet::Pops::Model::Nop.new
8
- nop.class.should == Puppet::Pops::Model::Nop
8
+ expect(nop.class).to eq(Puppet::Pops::Model::Nop)
9
9
  end
10
10
  end
11
11
 
@@ -15,23 +15,23 @@ describe Puppet::Pops::Model::Factory do
15
15
 
16
16
  it "construct an arithmetic expression" do
17
17
  x = Factory.literal(10) + Factory.literal(20)
18
- x.is_a?(Factory).should == true
18
+ expect(x.is_a?(Factory)).to eq(true)
19
19
  current = x.current
20
- current.is_a?(Model::ArithmeticExpression).should == true
21
- current.operator.should == :'+'
22
- current.left_expr.class.should == Model::LiteralInteger
23
- current.right_expr.class.should == Model::LiteralInteger
24
- current.left_expr.value.should == 10
25
- current.right_expr.value.should == 20
20
+ expect(current.is_a?(Model::ArithmeticExpression)).to eq(true)
21
+ expect(current.operator).to eq(:'+')
22
+ expect(current.left_expr.class).to eq(Model::LiteralInteger)
23
+ expect(current.right_expr.class).to eq(Model::LiteralInteger)
24
+ expect(current.left_expr.value).to eq(10)
25
+ expect(current.right_expr.value).to eq(20)
26
26
  end
27
27
 
28
28
  it "should be easy to compare using a model tree dumper" do
29
29
  x = Factory.literal(10) + Factory.literal(20)
30
- Puppet::Pops::Model::ModelTreeDumper.new.dump(x.current).should == "(+ 10 20)"
30
+ expect(Puppet::Pops::Model::ModelTreeDumper.new.dump(x.current)).to eq("(+ 10 20)")
31
31
  end
32
32
 
33
33
  it "builder should apply precedence" do
34
34
  x = Factory.literal(2) * Factory.literal(10) + Factory.literal(20)
35
- Puppet::Pops::Model::ModelTreeDumper.new.dump(x.current).should == "(+ (* 2 10) 20)"
35
+ expect(Puppet::Pops::Model::ModelTreeDumper.new.dump(x.current)).to eq("(+ (* 2 10) 20)")
36
36
  end
37
37
  end
@@ -16,15 +16,15 @@ describe "epp parser" do
16
16
 
17
17
  it "should instantiate an epp parser" do
18
18
  parser = Puppet::Pops::Parser::EppParser.new()
19
- parser.class.should == Puppet::Pops::Parser::EppParser
19
+ expect(parser.class).to eq(Puppet::Pops::Parser::EppParser)
20
20
  end
21
21
 
22
22
  it "should parse a code string and return a program with epp" do
23
23
  parser = Puppet::Pops::Parser::EppParser.new()
24
24
  model = parser.parse_string("Nothing to see here, move along...").current
25
- model.class.should == Puppet::Pops::Model::Program
26
- model.body.class.should == Puppet::Pops::Model::LambdaExpression
27
- model.body.body.class.should == Puppet::Pops::Model::EppExpression
25
+ expect(model.class).to eq(Puppet::Pops::Model::Program)
26
+ expect(model.body.class).to eq(Puppet::Pops::Model::LambdaExpression)
27
+ expect(model.body.body.class).to eq(Puppet::Pops::Model::EppExpression)
28
28
  end
29
29
 
30
30
  context "when facing bad input it reports" do
@@ -51,65 +51,65 @@ describe "epp parser" do
51
51
 
52
52
  context "handles parsing of" do
53
53
  it "text (and nothing else)" do
54
- dump(parse("Hello World")).should == [
54
+ expect(dump(parse("Hello World"))).to eq([
55
55
  "(lambda (epp (block",
56
56
  " (render-s 'Hello World')",
57
- ")))"].join("\n")
57
+ ")))"].join("\n"))
58
58
  end
59
59
 
60
60
  it "template parameters" do
61
- dump(parse("<%|$x|%>Hello World")).should == [
61
+ expect(dump(parse("<%|$x|%>Hello World"))).to eq([
62
62
  "(lambda (parameters x) (epp (block",
63
63
  " (render-s 'Hello World')",
64
- ")))"].join("\n")
64
+ ")))"].join("\n"))
65
65
  end
66
66
 
67
67
  it "template parameters with default" do
68
- dump(parse("<%|$x='cigar'|%>Hello World")).should == [
68
+ expect(dump(parse("<%|$x='cigar'|%>Hello World"))).to eq([
69
69
  "(lambda (parameters (= x 'cigar')) (epp (block",
70
70
  " (render-s 'Hello World')",
71
- ")))"].join("\n")
71
+ ")))"].join("\n"))
72
72
  end
73
73
 
74
74
  it "template parameters with and without default" do
75
- dump(parse("<%|$x='cigar', $y|%>Hello World")).should == [
75
+ expect(dump(parse("<%|$x='cigar', $y|%>Hello World"))).to eq([
76
76
  "(lambda (parameters (= x 'cigar') y) (epp (block",
77
77
  " (render-s 'Hello World')",
78
- ")))"].join("\n")
78
+ ")))"].join("\n"))
79
79
  end
80
80
 
81
81
  it "template parameters + additional setup" do
82
- dump(parse("<%|$x| $y = 10 %>Hello World")).should == [
82
+ expect(dump(parse("<%|$x| $y = 10 %>Hello World"))).to eq([
83
83
  "(lambda (parameters x) (epp (block",
84
84
  " (= $y 10)",
85
85
  " (render-s 'Hello World')",
86
- ")))"].join("\n")
86
+ ")))"].join("\n"))
87
87
  end
88
88
 
89
89
  it "comments" do
90
- dump(parse("<%#($x='cigar', $y)%>Hello World")).should == [
90
+ expect(dump(parse("<%#($x='cigar', $y)%>Hello World"))).to eq([
91
91
  "(lambda (epp (block",
92
92
  " (render-s 'Hello World')",
93
93
  ")))"
94
- ].join("\n")
94
+ ].join("\n"))
95
95
  end
96
96
 
97
97
  it "verbatim epp tags" do
98
- dump(parse("<%% contemplating %%>Hello World")).should == [
98
+ expect(dump(parse("<%% contemplating %%>Hello World"))).to eq([
99
99
  "(lambda (epp (block",
100
100
  " (render-s '<% contemplating %>Hello World')",
101
101
  ")))"
102
- ].join("\n")
102
+ ].join("\n"))
103
103
  end
104
104
 
105
105
  it "expressions" do
106
- dump(parse("We all live in <%= 3.14 - 2.14 %> world")).should == [
106
+ expect(dump(parse("We all live in <%= 3.14 - 2.14 %> world"))).to eq([
107
107
  "(lambda (epp (block",
108
108
  " (render-s 'We all live in ')",
109
109
  " (render (- 3.14 2.14))",
110
110
  " (render-s ' world')",
111
111
  ")))"
112
- ].join("\n")
112
+ ].join("\n"))
113
113
  end
114
114
  end
115
115
  end
@@ -25,12 +25,12 @@ describe 'The Evaluating Parser' do
25
25
  end
26
26
 
27
27
  def test(x)
28
- evaluator.evaluate_string(scope, quote(x)).should == x
28
+ expect(evaluator.evaluate_string(scope, quote(x))).to eq(x)
29
29
  end
30
30
 
31
31
  def test_interpolate(x, y)
32
32
  scope['a'] = 'expansion'
33
- evaluator.evaluate_string(scope, quote(x)).should == y
33
+ expect(evaluator.evaluate_string(scope, quote(x))).to eq(y)
34
34
  end
35
35
 
36
36
  context 'when evaluating' do
@@ -65,12 +65,12 @@ describe 'Lexer2' do
65
65
  :PIPE => '|',
66
66
  }.each do |name, string|
67
67
  it "should lex a token named #{name.to_s}" do
68
- tokens_scanned_from(string).should match_tokens2(name)
68
+ expect(tokens_scanned_from(string)).to match_tokens2(name)
69
69
  end
70
70
  end
71
71
 
72
72
  it "should lex [ in position after non whitespace as LBRACK" do
73
- tokens_scanned_from("a[").should match_tokens2(:NAME, :LBRACK)
73
+ expect(tokens_scanned_from("a[")).to match_tokens2(:NAME, :LBRACK)
74
74
  end
75
75
 
76
76
  {
@@ -91,48 +91,37 @@ describe 'Lexer2' do
91
91
  "true" => :BOOLEAN,
92
92
  "in" => :IN,
93
93
  "unless" => :UNLESS,
94
- "private" => :PRIVATE,
95
- "type" => :TYPE,
96
- "attr" => :ATTR,
97
94
  }.each do |string, name|
98
95
  it "should lex a keyword from '#{string}'" do
99
- tokens_scanned_from(string).should match_tokens2(name)
100
- end
101
- end
102
-
103
- {
104
- "application" => :APPLICATION_R,
105
- "consumes" => :CONSUMES_R,
106
- "produces" => :PRODUCES_R,
107
- }.each do |string, name|
108
- it "should lex a (future reserved) keyword from '#{string}'" do
109
- tokens_scanned_from(string).should match_tokens2(name)
96
+ expect(tokens_scanned_from(string)).to match_tokens2(name)
110
97
  end
111
98
  end
112
99
 
113
100
  # TODO: Complete with all edge cases
114
101
  [ 'A', 'A::B', '::A', '::A::B',].each do |string|
115
102
  it "should lex a CLASSREF on the form '#{string}'" do
116
- tokens_scanned_from(string).should match_tokens2([:CLASSREF, string])
103
+ expect(tokens_scanned_from(string)).to match_tokens2([:CLASSREF, string])
117
104
  end
118
105
  end
119
106
 
120
107
  # TODO: Complete with all edge cases
121
108
  [ 'a', 'a::b', '::a', '::a::b',].each do |string|
122
109
  it "should lex a NAME on the form '#{string}'" do
123
- tokens_scanned_from(string).should match_tokens2([:NAME, string])
110
+ expect(tokens_scanned_from(string)).to match_tokens2([:NAME, string])
124
111
  end
125
112
  end
126
113
 
127
114
  [ 'a-b', 'a--b', 'a-b-c', '_x'].each do |string|
128
115
  it "should lex a BARE WORD STRING on the form '#{string}'" do
129
- tokens_scanned_from(string).should match_tokens2([:WORD, string])
116
+ expect(tokens_scanned_from(string)).to match_tokens2([:WORD, string])
130
117
  end
131
118
  end
132
119
 
133
120
  [ '_x::y', 'x::_y'].each do |string|
134
- it "should consider the bare word '#{string}' to be a WORD" do
135
- tokens_scanned_from(string).should match_tokens2(:WORD)
121
+ it "should consider the bare word '#{string}' to be a bad NAME" do
122
+ expect {
123
+ tokens_scanned_from(string)
124
+ }.to raise_error(/Illegal fully qualified name/)
136
125
  end
137
126
  end
138
127
 
@@ -144,43 +133,43 @@ describe 'Lexer2' do
144
133
  'a-$3' => [:NAME, :MINUS, :VARIABLE],
145
134
  }.each do |source, expected|
146
135
  it "should lex leading and trailing hyphens from #{source}" do
147
- tokens_scanned_from(source).should match_tokens2(*expected)
136
+ expect(tokens_scanned_from(source)).to match_tokens2(*expected)
148
137
  end
149
138
  end
150
139
 
151
140
  { 'false'=>false, 'true'=>true}.each do |string, value|
152
141
  it "should lex a BOOLEAN on the form '#{string}'" do
153
- tokens_scanned_from(string).should match_tokens2([:BOOLEAN, value])
142
+ expect(tokens_scanned_from(string)).to match_tokens2([:BOOLEAN, value])
154
143
  end
155
144
  end
156
145
 
157
146
  [ '0', '1', '2982383139'].each do |string|
158
147
  it "should lex a decimal integer NUMBER on the form '#{string}'" do
159
- tokens_scanned_from(string).should match_tokens2([:NUMBER, string])
148
+ expect(tokens_scanned_from(string)).to match_tokens2([:NUMBER, string])
160
149
  end
161
150
  end
162
151
 
163
152
  { ' 1' => '1', '1 ' => '1', ' 1 ' => '1'}.each do |string, value|
164
153
  it "should lex a NUMBER with surrounding space '#{string}'" do
165
- tokens_scanned_from(string).should match_tokens2([:NUMBER, value])
154
+ expect(tokens_scanned_from(string)).to match_tokens2([:NUMBER, value])
166
155
  end
167
156
  end
168
157
 
169
158
  [ '0.0', '0.1', '0.2982383139', '29823.235', '10e23', '10e-23', '1.234e23'].each do |string|
170
159
  it "should lex a decimal floating point NUMBER on the form '#{string}'" do
171
- tokens_scanned_from(string).should match_tokens2([:NUMBER, string])
160
+ expect(tokens_scanned_from(string)).to match_tokens2([:NUMBER, string])
172
161
  end
173
162
  end
174
163
 
175
164
  [ '00', '01', '0123', '0777'].each do |string|
176
165
  it "should lex an octal integer NUMBER on the form '#{string}'" do
177
- tokens_scanned_from(string).should match_tokens2([:NUMBER, string])
166
+ expect(tokens_scanned_from(string)).to match_tokens2([:NUMBER, string])
178
167
  end
179
168
  end
180
169
 
181
170
  [ '0x0', '0x1', '0xa', '0xA', '0xabcdef', '0xABCDEF'].each do |string|
182
171
  it "should lex an hex integer NUMBER on the form '#{string}'" do
183
- tokens_scanned_from(string).should match_tokens2([:NUMBER, string])
172
+ expect(tokens_scanned_from(string)).to match_tokens2([:NUMBER, string])
184
173
  end
185
174
  end
186
175
 
@@ -197,7 +186,7 @@ describe 'Lexer2' do
197
186
  "'a\\\\'" =>"a\\",
198
187
  }.each do |source, expected|
199
188
  it "should lex a single quoted STRING on the form #{source}" do
200
- tokens_scanned_from(source).should match_tokens2([:STRING, expected])
189
+ expect(tokens_scanned_from(source)).to match_tokens2([:STRING, expected])
201
190
  end
202
191
  end
203
192
 
@@ -207,7 +196,7 @@ describe 'Lexer2' do
207
196
  }.each do |source, expected|
208
197
  it "should lex a single quoted STRING on the form #{source} as having length #{expected[0]}" do
209
198
  length, value = expected
210
- tokens_scanned_from(source).should match_tokens2([:STRING, value, {:line => 1, :pos=>1, :length=> length}])
199
+ expect(tokens_scanned_from(source)).to match_tokens2([:STRING, value, {:line => 1, :pos=>1, :length=> length}])
211
200
  end
212
201
  end
213
202
 
@@ -216,53 +205,28 @@ describe 'Lexer2' do
216
205
  '"a\'b"' => "a'b",
217
206
  }.each do |source, expected|
218
207
  it "should lex a double quoted STRING on the form #{source}" do
219
- tokens_scanned_from(source).should match_tokens2([:STRING, expected])
208
+ expect(tokens_scanned_from(source)).to match_tokens2([:STRING, expected])
220
209
  end
221
210
  end
222
211
 
223
- { '"a$x b"' => [[:DQPRE, 'a', {:line => 1, :pos=>1, :length=>2 }],
224
- [:VARIABLE, 'x', {:line => 1, :pos=>3, :length=>2 }],
225
- [:DQPOST, ' b', {:line => 1, :pos=>5, :length=>3 }]],
226
-
227
- '"a$x.b"' => [[:DQPRE, 'a', {:line => 1, :pos=>1, :length=>2 }],
228
- [:VARIABLE, 'x', {:line => 1, :pos=>3, :length=>2 }],
229
- [:DQPOST, '.b', {:line => 1, :pos=>5, :length=>3 }]],
212
+ { '"a$x b"' => [[:DQPRE, 'a', {:line => 1, :pos=>1, :length=>2 }],
213
+ [:VARIABLE, 'x', {:line => 1, :pos=>3, :length=>2 }],
214
+ [:DQPOST, ' b', {:line => 1, :pos=>5, :length=>3 }]],
230
215
 
231
- '"$x.b"' => [[:DQPRE, '', {:line => 1, :pos=>1, :length=>1 }],
232
- [:VARIABLE, 'x', {:line => 1, :pos=>2, :length=>2 }],
233
- [:DQPOST, '.b', {:line => 1, :pos=>4, :length=>3 }]],
216
+ '"a$x.b"' => [[:DQPRE, 'a', {:line => 1, :pos=>1, :length=>2 }],
217
+ [:VARIABLE, 'x', {:line => 1, :pos=>3, :length=>2 }],
218
+ [:DQPOST, '.b', {:line => 1, :pos=>5, :length=>3 }]],
234
219
 
235
- '"a$x"' => [[:DQPRE, 'a', {:line => 1, :pos=>1, :length=>2 }],
236
- [:VARIABLE, 'x', {:line => 1, :pos=>3, :length=>2 }],
237
- [:DQPOST, '', {:line => 1, :pos=>5, :length=>1 }]],
220
+ '"$x.b"' => [[:DQPRE, '', {:line => 1, :pos=>1, :length=>1 }],
221
+ [:VARIABLE, 'x', {:line => 1, :pos=>2, :length=>2 }],
222
+ [:DQPOST, '.b', {:line => 1, :pos=>4, :length=>3 }]],
238
223
 
239
- '"a${x}"' => [[:DQPRE, 'a', {:line => 1, :pos=>1, :length=>4 }],
240
- [:VARIABLE, 'x', {:line => 1, :pos=>5, :length=>1 }],
241
- [:DQPOST, '', {:line => 1, :pos=>7, :length=>1 }]],
242
-
243
- '"a${_x}"' => [[:DQPRE, 'a', {:line => 1, :pos=>1, :length=>4 }],
244
- [:VARIABLE, '_x', {:line => 1, :pos=>5, :length=>2 }],
245
- [:DQPOST, '', {:line => 1, :pos=>8, :length=>1 }]],
246
-
247
- '"a${y::_x}"' => [[:DQPRE, 'a', {:line => 1, :pos=>1, :length=>4 }],
248
- [:VARIABLE, 'y::_x', {:line => 1, :pos=>5, :length=>5 }],
249
- [:DQPOST, '', {:line => 1, :pos=>11, :length=>1 }]],
250
-
251
- '"a${_x[1]}"' => [[:DQPRE, 'a', {:line => 1, :pos=>1, :length=>4 }],
252
- [:VARIABLE, '_x', {:line => 1, :pos=>5, :length=>2 }],
253
- [:LBRACK, '[', {:line => 1, :pos=>7, :length=>1 }],
254
- [:NUMBER, '1', {:line => 1, :pos=>8, :length=>1 }],
255
- [:RBRACK, ']', {:line => 1, :pos=>9, :length=>1 }],
256
- [:DQPOST, '', {:line => 1, :pos=>11, :length=>1 }]],
257
-
258
- '"a${_x.foo}"'=> [[:DQPRE, 'a', {:line => 1, :pos=>1, :length=>4 }],
259
- [:VARIABLE, '_x', {:line => 1, :pos=>5, :length=>2 }],
260
- [:DOT, '.', {:line => 1, :pos=>7, :length=>1 }],
261
- [:NAME, 'foo', {:line => 1, :pos=>8, :length=>3 }],
262
- [:DQPOST, '', {:line => 1, :pos=>12, :length=>1 }]],
224
+ '"a$x"' => [[:DQPRE, 'a', {:line => 1, :pos=>1, :length=>2 }],
225
+ [:VARIABLE, 'x', {:line => 1, :pos=>3, :length=>2 }],
226
+ [:DQPOST, '', {:line => 1, :pos=>5, :length=>1 }]],
263
227
  }.each do |source, expected|
264
228
  it "should lex an interpolated variable 'x' from #{source}" do
265
- tokens_scanned_from(source).should match_tokens2(*expected)
229
+ expect(tokens_scanned_from(source)).to match_tokens2(*expected)
266
230
  end
267
231
  end
268
232
 
@@ -273,25 +237,25 @@ describe 'Lexer2' do
273
237
  '"a$$%"' => "a$$%",
274
238
  }.each do |source, expected|
275
239
  it "should lex interpolation including false starts #{source}" do
276
- tokens_scanned_from(source).should match_tokens2([:STRING, expected])
240
+ expect(tokens_scanned_from(source)).to match_tokens2([:STRING, expected])
277
241
  end
278
242
  end
279
243
 
280
244
  it "differentiates between foo[x] and foo [x] (whitespace)" do
281
- tokens_scanned_from("$a[1]").should match_tokens2(:VARIABLE, :LBRACK, :NUMBER, :RBRACK)
282
- tokens_scanned_from("$a [1]").should match_tokens2(:VARIABLE, :LISTSTART, :NUMBER, :RBRACK)
283
- tokens_scanned_from("a[1]").should match_tokens2(:NAME, :LBRACK, :NUMBER, :RBRACK)
284
- tokens_scanned_from("a [1]").should match_tokens2(:NAME, :LISTSTART, :NUMBER, :RBRACK)
285
- tokens_scanned_from(" if \n\r\t\nif if ").should match_tokens2(:IF, :IF, :IF)
245
+ expect(tokens_scanned_from("$a[1]")).to match_tokens2(:VARIABLE, :LBRACK, :NUMBER, :RBRACK)
246
+ expect(tokens_scanned_from("$a [1]")).to match_tokens2(:VARIABLE, :LISTSTART, :NUMBER, :RBRACK)
247
+ expect(tokens_scanned_from("a[1]")).to match_tokens2(:NAME, :LBRACK, :NUMBER, :RBRACK)
248
+ expect(tokens_scanned_from("a [1]")).to match_tokens2(:NAME, :LISTSTART, :NUMBER, :RBRACK)
249
+ expect(tokens_scanned_from(" if \n\r\t\nif if ")).to match_tokens2(:IF, :IF, :IF)
286
250
  end
287
251
 
288
252
  it "skips whitepsace" do
289
- tokens_scanned_from(" if if if ").should match_tokens2(:IF, :IF, :IF)
290
- tokens_scanned_from(" if \n\r\t\nif if ").should match_tokens2(:IF, :IF, :IF)
253
+ expect(tokens_scanned_from(" if if if ")).to match_tokens2(:IF, :IF, :IF)
254
+ expect(tokens_scanned_from(" if \n\r\t\nif if ")).to match_tokens2(:IF, :IF, :IF)
291
255
  end
292
256
 
293
257
  it "skips single line comments" do
294
- tokens_scanned_from("if # comment\nif").should match_tokens2(:IF, :IF)
258
+ expect(tokens_scanned_from("if # comment\nif")).to match_tokens2(:IF, :IF)
295
259
  end
296
260
 
297
261
  ["if /* comment */\nif",
@@ -299,7 +263,7 @@ describe 'Lexer2' do
299
263
  "if /*\n comment\n */\nif",
300
264
  ].each do |source|
301
265
  it "skips multi line comments" do
302
- tokens_scanned_from(source).should match_tokens2(:IF, :IF)
266
+ expect(tokens_scanned_from(source)).to match_tokens2(:IF, :IF)
303
267
  end
304
268
  end
305
269
 
@@ -318,12 +282,12 @@ describe 'Lexer2' do
318
282
  }.each do |token, entry|
319
283
  it "should lex regexp after '#{token}'" do
320
284
  expected = [entry[0], :REGEX].flatten
321
- tokens_scanned_from(entry[1]).should match_tokens2(*expected)
285
+ expect(tokens_scanned_from(entry[1])).to match_tokens2(*expected)
322
286
  end
323
287
  end
324
288
 
325
289
  it "should lex a simple expression" do
326
- tokens_scanned_from('1 + 1').should match_tokens2([:NUMBER, '1'], :PLUS, [:NUMBER, '1'])
290
+ expect(tokens_scanned_from('1 + 1')).to match_tokens2([:NUMBER, '1'], :PLUS, [:NUMBER, '1'])
327
291
  end
328
292
 
329
293
  { "1" => ["1 /./", [:NUMBER, :DIV, :DOT, :DIV]],
@@ -342,12 +306,12 @@ describe 'Lexer2' do
342
306
  '"a$a"' => ['"a$a" /./', [:DQPRE, :VARIABLE, :DQPOST, :DIV, :DOT, :DIV]],
343
307
  }.each do |token, entry|
344
308
  it "should not lex regexp after '#{token}'" do
345
- tokens_scanned_from(entry[ 0 ]).should match_tokens2(*entry[ 1 ])
309
+ expect(tokens_scanned_from(entry[ 0 ])).to match_tokens2(*entry[ 1 ])
346
310
  end
347
311
  end
348
312
 
349
313
  it 'should lex assignment' do
350
- tokens_scanned_from("$a = 10").should match_tokens2([:VARIABLE, "a"], :EQUALS, [:NUMBER, '10'])
314
+ expect(tokens_scanned_from("$a = 10")).to match_tokens2([:VARIABLE, "a"], :EQUALS, [:NUMBER, '10'])
351
315
  end
352
316
 
353
317
  # TODO: Tricky, and heredoc not supported yet
@@ -356,11 +320,11 @@ describe 'Lexer2' do
356
320
  # end
357
321
 
358
322
  it "should lex regexp at beginning of input" do
359
- tokens_scanned_from(" /./").should match_tokens2(:REGEX)
323
+ expect(tokens_scanned_from(" /./")).to match_tokens2(:REGEX)
360
324
  end
361
325
 
362
326
  it "should lex regexp right of div" do
363
- tokens_scanned_from("1 / /./").should match_tokens2(:NUMBER, :DIV, :REGEX)
327
+ expect(tokens_scanned_from("1 / /./")).to match_tokens2(:NUMBER, :DIV, :REGEX)
364
328
  end
365
329
 
366
330
  context 'when lexer lexes heredoc' do
@@ -370,7 +334,7 @@ describe 'Lexer2' do
370
334
  Tex\\tt\\n
371
335
  |- END
372
336
  CODE
373
- tokens_scanned_from(code).should match_tokens2([:HEREDOC, 'syntax'], :SUBLOCATE, [:STRING, "Tex\tt\\n"])
337
+ expect(tokens_scanned_from(code)).to match_tokens2([:HEREDOC, 'syntax'], :SUBLOCATE, [:STRING, "Tex\tt\\n"])
374
338
  end
375
339
 
376
340
  it 'lexes "tag", syntax and escapes, margin, right trim and interpolation' do
@@ -379,7 +343,7 @@ describe 'Lexer2' do
379
343
  Tex\\tt\\n$var After
380
344
  |- END
381
345
  CODE
382
- tokens_scanned_from(code).should match_tokens2(
346
+ expect(tokens_scanned_from(code)).to match_tokens2(
383
347
  [:HEREDOC, 'syntax'],
384
348
  :SUBLOCATE,
385
349
  [:DQPRE, "Tex\tt\\n"],
@@ -387,63 +351,6 @@ describe 'Lexer2' do
387
351
  [:DQPOST, " After"]
388
352
  )
389
353
  end
390
-
391
- context 'with bad syntax' do
392
- def expect_issue(code, issue)
393
- expect { tokens_scanned_from(code) }.to raise_error(Puppet::ParseErrorWithIssue) { |e|
394
- expect(e.issue_code).to be(issue.issue_code)
395
- }
396
- end
397
-
398
- it 'detects and reports HEREDOC_UNCLOSED_PARENTHESIS' do
399
- code = <<-CODE
400
- @(END:syntax/t
401
- Text
402
- |- END
403
- CODE
404
- expect_issue(code, Puppet::Pops::Issues::HEREDOC_UNCLOSED_PARENTHESIS)
405
- end
406
-
407
- it 'detects and reports HEREDOC_WITHOUT_END_TAGGED_LINE' do
408
- code = <<-CODE
409
- @(END:syntax/t)
410
- Text
411
- CODE
412
- expect_issue(code, Puppet::Pops::Issues::HEREDOC_WITHOUT_END_TAGGED_LINE)
413
- end
414
-
415
- it 'detects and reports HEREDOC_INVALID_ESCAPE' do
416
- code = <<-CODE
417
- @(END:syntax/x)
418
- Text
419
- |- END
420
- CODE
421
- expect_issue(code, Puppet::Pops::Issues::HEREDOC_INVALID_ESCAPE)
422
- end
423
-
424
- it 'detects and reports HEREDOC_INVALID_SYNTAX' do
425
- code = <<-CODE
426
- @(END:syntax/t/p)
427
- Text
428
- |- END
429
- CODE
430
- expect_issue(code, Puppet::Pops::Issues::HEREDOC_INVALID_SYNTAX)
431
- end
432
-
433
- it 'detects and reports HEREDOC_WITHOUT_TEXT' do
434
- code = '@(END:syntax/t)'
435
- expect_issue(code, Puppet::Pops::Issues::HEREDOC_WITHOUT_TEXT)
436
- end
437
-
438
- it 'detects and reports HEREDOC_MULTIPLE_AT_ESCAPES' do
439
- code = <<-CODE
440
- @(END:syntax/tst)
441
- Tex\\tt\\n
442
- |- END
443
- CODE
444
- expect_issue(code, Puppet::Pops::Issues::HEREDOC_MULTIPLE_AT_ESCAPES)
445
- end
446
- end
447
354
  end
448
355
 
449
356
  context 'when dealing with multi byte characters' do
@@ -451,25 +358,8 @@ describe 'Lexer2' do
451
358
  code = <<-CODE
452
359
  "x\\u2713y"
453
360
  CODE
454
- if Puppet::Pops::Parser::Locator::RUBYVER < Puppet::Pops::Parser::Locator::RUBY_1_9_3
455
- # Ruby 1.8.7 reports the multibyte char as several octal characters
456
- tokens_scanned_from(code).should match_tokens2([:STRING, "x\342\234\223y"])
457
- else
458
- # >= Ruby 1.9.3 reports \u
459
- tokens_scanned_from(code).should match_tokens2([:STRING, "x\u2713y"])
460
- end
461
- end
462
- it 'should support unicode characters in long form' do
463
- code = <<-CODE
464
- "x\\u{1f452}y"
465
- CODE
466
- if Puppet::Pops::Parser::Locator::RUBYVER < Puppet::Pops::Parser::Locator::RUBY_1_9_3
467
- # Ruby 1.8.7 reports the multibyte char as several octal characters
468
- tokens_scanned_from(code).should match_tokens2([:STRING, "x\360\237\221\222y"])
469
- else
470
- # >= Ruby 1.9.3 reports \u
471
- tokens_scanned_from(code).should match_tokens2([:STRING, "x\u{1f452}y"])
472
- end
361
+ # >= Ruby 1.9.3 reports \u
362
+ expect(tokens_scanned_from(code)).to match_tokens2([:STRING, "x\u2713y"])
473
363
  end
474
364
 
475
365
  it 'should not select LISTSTART token when preceded by multibyte chars' do
@@ -478,10 +368,10 @@ describe 'Lexer2' do
478
368
  # instead of the char offset.
479
369
  #
480
370
  code = "$a = '\u00f6\u00fc\u00fc\u00fc\u00fc\u00e4\u00e4\u00f6\u00e4'\nnotify {'x': message => B['dkda'] }\n"
481
- tokens_scanned_from(code).should match_tokens2(
371
+ expect(tokens_scanned_from(code)).to match_tokens2(
482
372
  :VARIABLE, :EQUALS, :STRING,
483
373
  [:NAME, 'notify'], :LBRACE,
484
- [:STRING, 'x'], :COLON,
374
+ [:STRING, 'x'], :COLON,
485
375
  :NAME, :FARROW, :CLASSREF, :LBRACK, :STRING, :RBRACK,
486
376
  :RBRACE)
487
377
  end
@@ -492,14 +382,14 @@ describe 'Lexer2' do
492
382
  code = <<-CODE
493
383
  This is just text
494
384
  CODE
495
- epp_tokens_scanned_from(code).should match_tokens2(:EPP_START, [:RENDER_STRING, " This is just text\n"])
385
+ expect(epp_tokens_scanned_from(code)).to match_tokens2(:EPP_START, [:RENDER_STRING, " This is just text\n"])
496
386
  end
497
387
 
498
388
  it 'epp can contain text with interpolated rendered expressions' do
499
389
  code = <<-CODE
500
390
  This is <%= $x %> just text
501
391
  CODE
502
- epp_tokens_scanned_from(code).should match_tokens2(
392
+ expect(epp_tokens_scanned_from(code)).to match_tokens2(
503
393
  :EPP_START,
504
394
  [:RENDER_STRING, " This is "],
505
395
  [:RENDER_EXPR, nil],
@@ -513,7 +403,7 @@ describe 'Lexer2' do
513
403
  code = <<-CODE
514
404
  This is <%= $x -%> just text
515
405
  CODE
516
- epp_tokens_scanned_from(code).should match_tokens2(
406
+ expect(epp_tokens_scanned_from(code)).to match_tokens2(
517
407
  :EPP_START,
518
408
  [:RENDER_STRING, " This is "],
519
409
  [:RENDER_EXPR, nil],
@@ -527,7 +417,7 @@ describe 'Lexer2' do
527
417
  code = <<-CODE
528
418
  This is <% $x=10 %> just text
529
419
  CODE
530
- epp_tokens_scanned_from(code).should match_tokens2(
420
+ expect(epp_tokens_scanned_from(code)).to match_tokens2(
531
421
  :EPP_START,
532
422
  [:RENDER_STRING, " This is "],
533
423
  [:VARIABLE, "x"],
@@ -542,13 +432,13 @@ describe 'Lexer2' do
542
432
  This is <% $x=10 -%>
543
433
  just text
544
434
  CODE
545
- epp_tokens_scanned_from(code).should match_tokens2(
435
+ expect(epp_tokens_scanned_from(code)).to match_tokens2(
546
436
  :EPP_START,
547
437
  [:RENDER_STRING, " This is "],
548
438
  [:VARIABLE, "x"],
549
439
  :EQUALS,
550
440
  [:NUMBER, "10"],
551
- [:RENDER_STRING, " just text\n"]
441
+ [:RENDER_STRING, "just text\n"]
552
442
  )
553
443
  end
554
444
 
@@ -558,45 +448,13 @@ describe 'Lexer2' do
558
448
  <%# This is an epp comment -%>
559
449
  just text
560
450
  CODE
561
- epp_tokens_scanned_from(code).should match_tokens2(
562
- :EPP_START,
563
- [:RENDER_STRING, " This is "],
564
- [:VARIABLE, "x"],
565
- :EQUALS,
566
- [:NUMBER, "10"],
567
- [:RENDER_STRING, " just text\n"]
568
- )
569
- end
570
-
571
- it 'epp comments strips left whitespace when preceding is right trim' do
572
- code = <<-CODE
573
- This is <% $x=10 -%>
574
- space-before-me-but-not-after <%# This is an epp comment %>
575
- just text
576
- CODE
577
- expect(epp_tokens_scanned_from(code)).to match_tokens2(
578
- :EPP_START,
579
- [:RENDER_STRING, " This is "],
580
- [:VARIABLE, "x"],
581
- :EQUALS,
582
- [:NUMBER, "10"],
583
- [:RENDER_STRING, " space-before-me-but-not-after\n just text\n"]
584
- )
585
- end
586
-
587
- it 'epp comments strips left whitespace on same line when preceding is not right trim' do
588
- code = <<-CODE
589
- This is <% $x=10 %>
590
- <%# This is an epp comment -%>
591
- just text
592
- CODE
593
451
  expect(epp_tokens_scanned_from(code)).to match_tokens2(
594
452
  :EPP_START,
595
453
  [:RENDER_STRING, " This is "],
596
454
  [:VARIABLE, "x"],
597
455
  :EQUALS,
598
456
  [:NUMBER, "10"],
599
- [:RENDER_STRING, "\n just text\n"]
457
+ [:RENDER_STRING, "just text\n"]
600
458
  )
601
459
  end
602
460
 
@@ -605,84 +463,15 @@ describe 'Lexer2' do
605
463
  This is <% $x=10 -%>
606
464
  <%% this is escaped epp %%>
607
465
  CODE
608
- epp_tokens_scanned_from(code).should match_tokens2(
466
+ expect(epp_tokens_scanned_from(code)).to match_tokens2(
609
467
  :EPP_START,
610
468
  [:RENDER_STRING, " This is "],
611
469
  [:VARIABLE, "x"],
612
470
  :EQUALS,
613
471
  [:NUMBER, "10"],
614
- [:RENDER_STRING, " <% this is escaped epp %>\n"]
472
+ [:RENDER_STRING, "<% this is escaped epp %>\n"]
615
473
  )
616
474
  end
617
-
618
- context 'with bad epp syntax' do
619
- def expect_issue(code, issue)
620
- expect { epp_tokens_scanned_from(code) }.to raise_error(Puppet::ParseErrorWithIssue) { |e|
621
- expect(e.issue_code).to be(issue.issue_code)
622
- }
623
- end
624
-
625
- it 'detects and reports EPP_UNBALANCED_TAG' do
626
- expect_issue('<% asf', Puppet::Pops::Issues::EPP_UNBALANCED_TAG)
627
- end
628
-
629
- it 'detects and reports EPP_UNBALANCED_COMMENT' do
630
- expect_issue('<%# asf', Puppet::Pops::Issues::EPP_UNBALANCED_COMMENT)
631
- end
632
-
633
- it 'detects and reports EPP_UNBALANCED_EXPRESSION' do
634
- expect_issue('asf <%', Puppet::Pops::Issues::EPP_UNBALANCED_EXPRESSION)
635
- end
636
- end
637
- end
638
-
639
- context 'when parsing bad code' do
640
- def expect_issue(code, issue)
641
- expect { tokens_scanned_from(code) }.to raise_error(Puppet::ParseErrorWithIssue) do |e|
642
- expect(e.issue_code).to be(issue.issue_code)
643
- end
644
- end
645
-
646
- it 'detects and reports issue ILLEGAL_CLASS_REFERENCE' do
647
- expect_issue('A::3', Puppet::Pops::Issues::ILLEGAL_CLASS_REFERENCE)
648
- end
649
-
650
- it 'detects and reports issue ILLEGAL_FULLY_QUALIFIED_CLASS_REFERENCE' do
651
- expect_issue('::A::3', Puppet::Pops::Issues::ILLEGAL_FULLY_QUALIFIED_CLASS_REFERENCE)
652
- end
653
-
654
- it 'detects and reports issue ILLEGAL_FULLY_QUALIFIED_NAME' do
655
- expect_issue('::a::3', Puppet::Pops::Issues::ILLEGAL_FULLY_QUALIFIED_NAME)
656
- end
657
-
658
- it 'detects and reports issue ILLEGAL_NAME_OR_BARE_WORD' do
659
- expect_issue('a::3', Puppet::Pops::Issues::ILLEGAL_NAME_OR_BARE_WORD)
660
- end
661
-
662
- it 'detects and reports issue ILLEGAL_NUMBER' do
663
- expect_issue('3g', Puppet::Pops::Issues::ILLEGAL_NUMBER)
664
- end
665
-
666
- it 'detects and reports issue INVALID_HEX_NUMBER' do
667
- expect_issue('0x3g', Puppet::Pops::Issues::INVALID_HEX_NUMBER)
668
- end
669
-
670
- it 'detects and reports issue INVALID_OCTAL_NUMBER' do
671
- expect_issue('038', Puppet::Pops::Issues::INVALID_OCTAL_NUMBER)
672
- end
673
-
674
- it 'detects and reports issue INVALID_DECIMAL_NUMBER' do
675
- expect_issue('4.3g', Puppet::Pops::Issues::INVALID_DECIMAL_NUMBER)
676
- end
677
-
678
- it 'detects and reports issue NO_INPUT_TO_LEXER' do
679
- expect { Puppet::Pops::Parser::Lexer2.new.fullscan }.to raise_error(Puppet::ParseErrorWithIssue) { |e|
680
- expect(e.issue_code).to be(Puppet::Pops::Issues::NO_INPUT_TO_LEXER.issue_code)
681
- }
682
- end
683
-
684
- it 'detects and reports issue UNCLOSED_QUOTE' do
685
- expect_issue('"asd', Puppet::Pops::Issues::UNCLOSED_QUOTE)
686
- end
687
475
  end
688
476
  end
477
+