puppet 4.7.1-universal-darwin → 4.8.0-universal-darwin

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 (276) hide show
  1. data/Gemfile +0 -3
  2. data/MAINTAINERS +76 -0
  3. data/README.md +0 -6
  4. data/Rakefile +2 -2
  5. data/lib/puppet/agent.rb +3 -3
  6. data/lib/puppet/application/apply.rb +1 -1
  7. data/lib/puppet/configurer.rb +2 -2
  8. data/lib/puppet/data_providers.rb +1 -0
  9. data/lib/puppet/data_providers/data_adapter.rb +1 -0
  10. data/lib/puppet/data_providers/data_function_support.rb +1 -0
  11. data/lib/puppet/data_providers/function_env_data_provider.rb +1 -0
  12. data/lib/puppet/data_providers/function_module_data_provider.rb +1 -0
  13. data/lib/puppet/data_providers/hiera_config.rb +1 -0
  14. data/lib/puppet/data_providers/hiera_env_data_provider.rb +1 -0
  15. data/lib/puppet/data_providers/hiera_interpolate.rb +1 -0
  16. data/lib/puppet/data_providers/hiera_module_data_provider.rb +1 -0
  17. data/lib/puppet/data_providers/hiera_support.rb +1 -2
  18. data/lib/puppet/data_providers/json_data_provider_factory.rb +2 -0
  19. data/lib/puppet/data_providers/yaml_data_provider_factory.rb +2 -0
  20. data/lib/puppet/defaults.rb +20 -1
  21. data/lib/puppet/environments.rb +5 -2
  22. data/lib/puppet/face/catalog.rb +1 -1
  23. data/lib/puppet/face/epp.rb +57 -11
  24. data/lib/puppet/face/module/install.rb +6 -6
  25. data/lib/puppet/functions.rb +23 -24
  26. data/lib/puppet/functions/alert.rb +14 -0
  27. data/lib/puppet/functions/binary_file.rb +25 -0
  28. data/lib/puppet/functions/break.rb +22 -0
  29. data/lib/puppet/functions/contain.rb +33 -0
  30. data/lib/puppet/functions/crit.rb +14 -0
  31. data/lib/puppet/functions/debug.rb +14 -0
  32. data/lib/puppet/functions/emerg.rb +14 -0
  33. data/lib/puppet/functions/epp.rb +1 -1
  34. data/lib/puppet/functions/err.rb +14 -0
  35. data/lib/puppet/functions/find_file.rb +31 -0
  36. data/lib/puppet/functions/include.rb +21 -0
  37. data/lib/puppet/functions/info.rb +14 -0
  38. data/lib/puppet/functions/new.rb +1 -1
  39. data/lib/puppet/functions/next.rb +23 -0
  40. data/lib/puppet/functions/notice.rb +14 -0
  41. data/lib/puppet/functions/regsubst.rb +12 -16
  42. data/lib/puppet/functions/require.rb +37 -0
  43. data/lib/puppet/functions/return.rb +22 -0
  44. data/lib/puppet/functions/strftime.rb +35 -0
  45. data/lib/puppet/functions/warning.rb +14 -0
  46. data/lib/puppet/generate/models/type/type.rb +4 -0
  47. data/lib/puppet/generate/templates/type/pcore.erb +2 -1
  48. data/lib/puppet/indirector/face.rb +6 -1
  49. data/lib/puppet/network/http/error.rb +2 -2
  50. data/lib/puppet/network/http/handler.rb +2 -2
  51. data/lib/puppet/node/environment.rb +11 -0
  52. data/lib/puppet/parser/ast.rb +5 -0
  53. data/lib/puppet/parser/ast/pops_bridge.rb +17 -4
  54. data/lib/puppet/parser/compiler.rb +29 -1
  55. data/lib/puppet/parser/functions.rb +6 -0
  56. data/lib/puppet/parser/functions/assert_type.rb +1 -1
  57. data/lib/puppet/parser/functions/binary_file.rb +24 -0
  58. data/lib/puppet/parser/functions/break.rb +39 -0
  59. data/lib/puppet/parser/functions/contain.rb +7 -15
  60. data/lib/puppet/parser/functions/defined.rb +2 -2
  61. data/lib/puppet/parser/functions/dig.rb +1 -1
  62. data/lib/puppet/parser/functions/each.rb +1 -1
  63. data/lib/puppet/parser/functions/epp.rb +2 -2
  64. data/lib/puppet/parser/functions/filter.rb +1 -1
  65. data/lib/puppet/parser/functions/find_file.rb +28 -0
  66. data/lib/puppet/parser/functions/hiera.rb +4 -4
  67. data/lib/puppet/parser/functions/hiera_array.rb +1 -1
  68. data/lib/puppet/parser/functions/hiera_hash.rb +1 -1
  69. data/lib/puppet/parser/functions/hiera_include.rb +1 -1
  70. data/lib/puppet/parser/functions/include.rb +4 -8
  71. data/lib/puppet/parser/functions/inline_epp.rb +1 -1
  72. data/lib/puppet/parser/functions/lest.rb +1 -1
  73. data/lib/puppet/parser/functions/lookup.rb +4 -2
  74. data/lib/puppet/parser/functions/map.rb +1 -1
  75. data/lib/puppet/parser/functions/match.rb +1 -1
  76. data/lib/puppet/parser/functions/new.rb +414 -18
  77. data/lib/puppet/parser/functions/next.rb +38 -0
  78. data/lib/puppet/parser/functions/reduce.rb +1 -1
  79. data/lib/puppet/parser/functions/regsubst.rb +4 -2
  80. data/lib/puppet/parser/functions/require.rb +4 -27
  81. data/lib/puppet/parser/functions/return.rb +71 -0
  82. data/lib/puppet/parser/functions/reverse_each.rb +1 -1
  83. data/lib/puppet/parser/functions/scanf.rb +13 -8
  84. data/lib/puppet/parser/functions/slice.rb +1 -1
  85. data/lib/puppet/parser/functions/split.rb +1 -1
  86. data/lib/puppet/parser/functions/step.rb +1 -1
  87. data/lib/puppet/parser/functions/strftime.rb +185 -0
  88. data/lib/puppet/parser/functions/then.rb +1 -1
  89. data/lib/puppet/parser/functions/type.rb +1 -1
  90. data/lib/puppet/parser/functions/with.rb +3 -3
  91. data/lib/puppet/parser/resource.rb +8 -5
  92. data/lib/puppet/parser/scope.rb +1 -1
  93. data/lib/puppet/plugins/configuration.rb +8 -0
  94. data/lib/puppet/plugins/data_providers.rb +1 -0
  95. data/lib/puppet/plugins/data_providers/data_provider.rb +7 -28
  96. data/lib/puppet/plugins/data_providers/registry.rb +1 -0
  97. data/lib/puppet/pops.rb +4 -0
  98. data/lib/puppet/pops/evaluator/access_operator.rb +36 -5
  99. data/lib/puppet/pops/evaluator/closure.rb +81 -12
  100. data/lib/puppet/pops/evaluator/compare_operator.rb +24 -1
  101. data/lib/puppet/pops/evaluator/evaluator_impl.rb +29 -5
  102. data/lib/puppet/pops/evaluator/json_strict_literal_evaluator.rb +1 -1
  103. data/lib/puppet/pops/evaluator/runtime3_converter.rb +53 -62
  104. data/lib/puppet/pops/evaluator/runtime3_support.rb +15 -6
  105. data/lib/puppet/pops/functions/dispatch.rb +9 -2
  106. data/lib/puppet/pops/functions/dispatcher.rb +3 -1
  107. data/lib/puppet/pops/functions/function.rb +19 -2
  108. data/lib/puppet/pops/issues.rb +9 -0
  109. data/lib/puppet/pops/label_provider.rb +2 -2
  110. data/lib/puppet/pops/loader/loader.rb +17 -0
  111. data/lib/puppet/pops/loader/static_loader.rb +0 -41
  112. data/lib/puppet/pops/lookup.rb +12 -0
  113. data/lib/puppet/pops/lookup/context.rb +86 -0
  114. data/lib/puppet/pops/lookup/explainer.rb +46 -6
  115. data/lib/puppet/pops/lookup/invocation.rb +19 -0
  116. data/lib/puppet/pops/lookup/sub_lookup.rb +1 -1
  117. data/lib/puppet/pops/model/factory.rb +20 -8
  118. data/lib/puppet/pops/model/model_label_provider.rb +3 -0
  119. data/lib/puppet/pops/model/model_meta.rb +2 -0
  120. data/lib/puppet/pops/model/model_tree_dumper.rb +14 -0
  121. data/lib/puppet/pops/parser/egrammar.ra +11 -6
  122. data/lib/puppet/pops/parser/eparser.rb +1112 -1086
  123. data/lib/puppet/pops/parser/heredoc_support.rb +1 -2
  124. data/lib/puppet/pops/pcore.rb +1 -0
  125. data/lib/puppet/pops/puppet_stack.rb +3 -3
  126. data/lib/puppet/pops/resource/param.rb +5 -1
  127. data/lib/puppet/pops/resource/resource_type_impl.rb +8 -4
  128. data/lib/puppet/pops/resource/resource_type_set.pcore +1 -0
  129. data/lib/puppet/pops/serialization/abstract_reader.rb +19 -2
  130. data/lib/puppet/pops/serialization/abstract_writer.rb +16 -3
  131. data/lib/puppet/pops/serialization/deserializer.rb +5 -1
  132. data/lib/puppet/pops/serialization/extension.rb +2 -0
  133. data/lib/puppet/pops/serialization/json.rb +76 -26
  134. data/lib/puppet/pops/serialization/serializer.rb +5 -1
  135. data/lib/puppet/pops/serialization/time_factory.rb +2 -1
  136. data/lib/puppet/pops/time/timespan.rb +718 -0
  137. data/lib/puppet/pops/time/timestamp.rb +148 -0
  138. data/lib/puppet/pops/types/p_binary_type.rb +220 -0
  139. data/lib/puppet/pops/types/p_object_type.rb +12 -6
  140. data/lib/puppet/pops/types/p_sensitive_type.rb +5 -1
  141. data/lib/puppet/pops/types/p_timespan_type.rb +141 -0
  142. data/lib/puppet/pops/types/p_timestamp_type.rb +69 -0
  143. data/lib/puppet/pops/types/string_converter.rb +62 -0
  144. data/lib/puppet/pops/types/type_asserter.rb +1 -1
  145. data/lib/puppet/pops/types/type_calculator.rb +17 -3
  146. data/lib/puppet/pops/types/type_factory.rb +35 -1
  147. data/lib/puppet/pops/types/type_formatter.rb +64 -11
  148. data/lib/puppet/pops/types/type_mismatch_describer.rb +110 -61
  149. data/lib/puppet/pops/types/type_parser.rb +18 -4
  150. data/lib/puppet/pops/types/types.rb +98 -63
  151. data/lib/puppet/pops/validation.rb +9 -1
  152. data/lib/puppet/pops/validation/checker4_0.rb +7 -0
  153. data/lib/puppet/property.rb +1 -1
  154. data/lib/puppet/provider.rb +3 -6
  155. data/lib/puppet/provider/mcx/mcxcontent.rb +1 -1
  156. data/lib/puppet/provider/mount/parsed.rb +18 -4
  157. data/lib/puppet/provider/nameservice/directoryservice.rb +15 -7
  158. data/lib/puppet/provider/package/gem.rb +6 -1
  159. data/lib/puppet/provider/package/pip.rb +0 -1
  160. data/lib/puppet/provider/package/pkg.rb +5 -1
  161. data/lib/puppet/provider/package/pkgng.rb +1 -1
  162. data/lib/puppet/provider/package/yum.rb +10 -0
  163. data/lib/puppet/provider/service/launchd.rb +1 -0
  164. data/lib/puppet/provider/user/directoryservice.rb +6 -6
  165. data/lib/puppet/provider/yumrepo/inifile.rb +1 -1
  166. data/lib/puppet/provider/zpool/zpool.rb +1 -1
  167. data/lib/puppet/resource.rb +54 -12
  168. data/lib/puppet/resource/capability_finder.rb +15 -9
  169. data/lib/puppet/resource/catalog.rb +25 -6
  170. data/lib/puppet/resource/type.rb +3 -1
  171. data/lib/puppet/settings.rb +1 -1
  172. data/lib/puppet/settings/environment_conf.rb +12 -4
  173. data/lib/puppet/syntax_checkers/base64.rb +41 -0
  174. data/lib/puppet/syntax_checkers/json.rb +0 -2
  175. data/lib/puppet/transaction.rb +6 -0
  176. data/lib/puppet/transaction/additional_resource_generator.rb +5 -0
  177. data/lib/puppet/transaction/report.rb +7 -2
  178. data/lib/puppet/type.rb +2 -1
  179. data/lib/puppet/type/file/checksum.rb +1 -0
  180. data/lib/puppet/type/file/content.rb +4 -4
  181. data/lib/puppet/type/mount.rb +44 -0
  182. data/lib/puppet/type/ssh_authorized_key.rb +1 -1
  183. data/lib/puppet/type/tidy.rb +3 -0
  184. data/lib/puppet/type/user.rb +12 -6
  185. data/lib/puppet/util/log.rb +25 -0
  186. data/lib/puppet/util/plist.rb +8 -3
  187. data/lib/puppet/version.rb +1 -1
  188. data/lib/puppet_x.rb +7 -1
  189. data/spec/integration/application/apply_spec.rb +118 -0
  190. data/spec/integration/parser/compiler_spec.rb +28 -0
  191. data/spec/integration/parser/pcore_resource_spec.rb +40 -3
  192. data/spec/integration/provider/mount_spec.rb +2 -1
  193. data/spec/integration/util/windows/principal_spec.rb +2 -2
  194. data/spec/integration/util/windows/registry_spec.rb +4 -4
  195. data/spec/lib/puppet_spec/compiler.rb +5 -1
  196. data/spec/lib/puppet_spec/unindent.rb +5 -0
  197. data/spec/shared_contexts/types_setup.rb +6 -0
  198. data/spec/shared_examples/rhel_package_provider.rb +16 -0
  199. data/spec/spec_helper.rb +1 -0
  200. data/spec/unit/agent_spec.rb +11 -0
  201. data/spec/unit/application/lookup_spec.rb +94 -3
  202. data/spec/unit/capability_spec.rb +22 -0
  203. data/spec/unit/configurer_spec.rb +8 -0
  204. data/spec/unit/face/epp_face_spec.rb +22 -3
  205. data/spec/unit/functions/assert_type_spec.rb +3 -3
  206. data/spec/unit/functions/binary_file_spec.rb +46 -0
  207. data/spec/unit/functions/break_spec.rb +89 -0
  208. data/spec/unit/{parser/functions → functions}/contain_spec.rb +68 -3
  209. data/spec/unit/functions/find_file_spec.rb +69 -0
  210. data/spec/unit/functions/include_spec.rb +175 -0
  211. data/spec/unit/functions/logging_spec.rb +54 -0
  212. data/spec/unit/functions/lookup_spec.rb +3 -3
  213. data/spec/unit/functions/new_spec.rb +105 -5
  214. data/spec/unit/functions/next_spec.rb +93 -0
  215. data/spec/unit/functions/require_spec.rb +83 -0
  216. data/spec/unit/functions/return_spec.rb +105 -0
  217. data/spec/unit/{parser/functions → functions}/shared.rb +14 -11
  218. data/spec/unit/functions/strftime_spec.rb +152 -0
  219. data/spec/unit/functions4_spec.rb +22 -0
  220. data/spec/unit/indirector/face_spec.rb +10 -2
  221. data/spec/unit/network/http/error_spec.rb +1 -2
  222. data/spec/unit/network/http/handler_spec.rb +6 -5
  223. data/spec/unit/parser/functions/hiera_array_spec.rb +1 -1
  224. data/spec/unit/parser/functions/hiera_hash_spec.rb +1 -1
  225. data/spec/unit/parser/functions/hiera_include_spec.rb +1 -1
  226. data/spec/unit/parser/functions/hiera_spec.rb +1 -1
  227. data/spec/unit/parser/functions/lookup_spec.rb +1 -1
  228. data/spec/unit/parser/functions/regsubst_spec.rb +1 -1
  229. data/spec/unit/parser/functions/split_spec.rb +1 -1
  230. data/spec/unit/pops/evaluator/access_ops_spec.rb +81 -1
  231. data/spec/unit/pops/evaluator/arithmetic_ops_spec.rb +170 -0
  232. data/spec/unit/pops/evaluator/evaluating_parser_spec.rb +29 -4
  233. data/spec/unit/pops/evaluator/runtime3_converter_spec.rb +112 -4
  234. data/spec/unit/pops/loaders/dependency_loader_spec.rb +12 -0
  235. data/spec/unit/pops/loaders/static_loader_spec.rb +0 -26
  236. data/spec/unit/pops/lookup/context_spec.rb +149 -0
  237. data/spec/unit/pops/parser/parse_functions_spec.rb +19 -0
  238. data/spec/unit/pops/parser/parse_lambda_spec.rb +19 -0
  239. data/spec/unit/pops/puppet_stack_spec.rb +1 -1
  240. data/spec/unit/pops/resource/resource_type_impl_spec.rb +74 -0
  241. data/spec/unit/pops/serialization/packer_spec.rb +34 -14
  242. data/spec/unit/pops/serialization/serialization_spec.rb +67 -5
  243. data/spec/unit/pops/time/timespan_spec.rb +121 -0
  244. data/spec/unit/pops/types/p_binary_type_spec.rb +243 -0
  245. data/spec/unit/pops/types/p_object_type_spec.rb +7 -7
  246. data/spec/unit/pops/types/p_sensitive_type_spec.rb +1 -1
  247. data/spec/unit/pops/types/p_timespan_type_spec.rb +273 -0
  248. data/spec/unit/pops/types/p_timestamp_type_spec.rb +311 -0
  249. data/spec/unit/pops/types/p_type_set_type_spec.rb +13 -13
  250. data/spec/unit/pops/types/ruby_generator_spec.rb +12 -12
  251. data/spec/unit/pops/types/string_converter_spec.rb +89 -0
  252. data/spec/unit/pops/types/type_asserter_spec.rb +3 -3
  253. data/spec/unit/pops/types/type_calculator_spec.rb +113 -5
  254. data/spec/unit/pops/types/type_formatter_spec.rb +40 -0
  255. data/spec/unit/pops/types/type_mismatch_describer_spec.rb +49 -38
  256. data/spec/unit/pops/types/type_parser_spec.rb +87 -4
  257. data/spec/unit/pops/types/types_spec.rb +1 -1
  258. data/spec/unit/pops/validator/validator_spec.rb +23 -0
  259. data/spec/unit/provider/mount/parsed_spec.rb +47 -29
  260. data/spec/unit/provider/package/pkg_spec.rb +109 -99
  261. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +1 -0
  262. data/spec/unit/provider/user/aix_spec.rb +1 -1
  263. data/spec/unit/provider/user/directoryservice_spec.rb +101 -30
  264. data/spec/unit/resource/capability_finder_spec.rb +29 -7
  265. data/spec/unit/resource/catalog_spec.rb +127 -0
  266. data/spec/unit/ssl/certificate_request_spec.rb +1 -1
  267. data/spec/unit/transaction/additional_resource_generator_spec.rb +30 -0
  268. data/spec/unit/transaction/persistence_spec.rb +1 -6
  269. data/spec/unit/transaction/report_spec.rb +23 -0
  270. data/spec/unit/transaction_spec.rb +38 -0
  271. data/spec/unit/type/mount_spec.rb +5 -0
  272. data/spec/unit/util/plist_spec.rb +14 -2
  273. metadata +71 -12
  274. data/spec/integration/parser/functions/require_spec.rb +0 -43
  275. data/spec/unit/parser/functions/include_spec.rb +0 -55
  276. data/spec/unit/parser/functions/require_spec.rb +0 -68
@@ -287,7 +287,7 @@ describe Puppet::SSL::CertificateRequest do
287
287
  exts = {"thats.no.moon" => "death star"}
288
288
  expect do
289
289
  request.generate(key, :extension_requests => exts)
290
- end.to raise_error Puppet::Error, /Cannot create CSR with extension request thats\.no\.moon.*: first num too large/
290
+ end.to raise_error Puppet::Error, /Cannot create CSR with extension request thats\.no\.moon: first num too large/
291
291
  end
292
292
  end
293
293
 
@@ -299,6 +299,20 @@ describe Puppet::Transaction::AdditionalResourceGenerator do
299
299
  include_in_order("Notify[before]", "Generator[thing]", "Notify[hello]", "Notify[third]", "Notify[after]"))
300
300
  end
301
301
 
302
+ it "sets resources_failed_to_generate to true if resource#eval_generate raises an exception" do
303
+
304
+ catalog = compile_to_ral(<<-MANIFEST)
305
+ notify { 'hello': }
306
+ MANIFEST
307
+
308
+ catalog.resource("Notify[hello]").stubs(:eval_generate).raises(RuntimeError)
309
+ relationship_graph = relationship_graph_for(catalog)
310
+ generator = Puppet::Transaction::AdditionalResourceGenerator.new(catalog, relationship_graph, prioritizer)
311
+ generator.eval_generate(catalog.resource("Notify[hello]"))
312
+
313
+ expect(generator.resources_failed_to_generate).to be_truthy
314
+ end
315
+
302
316
  def relationships_after_eval_generating(manifest, resource_to_generate)
303
317
  catalog = compile_to_ral(manifest)
304
318
  relationship_graph = relationship_graph_for(catalog)
@@ -459,6 +473,22 @@ describe Puppet::Transaction::AdditionalResourceGenerator do
459
473
  "Notify[goodbye]"))
460
474
  end
461
475
 
476
+ it "sets resources_failed_to_generate to true if resource#generate raises an exception" do
477
+
478
+ catalog = compile_to_ral(<<-MANIFEST)
479
+ user { 'foo':
480
+ ensure => present,
481
+ }
482
+ MANIFEST
483
+
484
+ catalog.resource("User[foo]").stubs(:generate).raises(RuntimeError)
485
+ relationship_graph = relationship_graph_for(catalog)
486
+ generator = Puppet::Transaction::AdditionalResourceGenerator.new(catalog, relationship_graph, prioritizer)
487
+ generator.generate_additional_resources(catalog.resource("User[foo]"))
488
+
489
+ expect(generator.resources_failed_to_generate).to be_truthy
490
+ end
491
+
462
492
  def relationships_after_generating(manifest, resource_to_generate)
463
493
  catalog = compile_to_ral(manifest)
464
494
  generate_resources_in(catalog, nil, resource_to_generate)
@@ -148,12 +148,7 @@ describe Puppet::Transaction::Persistence do
148
148
  persistence = Puppet::Transaction::Persistence.new
149
149
 
150
150
  if Puppet.features.microsoft_windows?
151
- expect do
152
- persistence.save
153
- end.to raise_error do |error|
154
- expect(error).to be_a(Puppet::Util::Windows::Error)
155
- expect(error.code).to eq(5) # ERROR_ACCESS_DENIED
156
- end
151
+ expect { persistence.save }.to raise_error(Puppet::Util::Windows::Error, /Access is denied/)
157
152
  else
158
153
  expect { persistence.save }.to raise_error(Errno::EISDIR, /Is a directory/)
159
154
  end
@@ -98,6 +98,17 @@ describe Puppet::Transaction::Report do
98
98
  expect(report.environment).to eq("some environment")
99
99
  end
100
100
 
101
+ it "should be able to set resources_failed_to_generate" do
102
+ report = Puppet::Transaction::Report.new("apply")
103
+ report.resources_failed_to_generate = true
104
+ expect(report.resources_failed_to_generate).to be_truthy
105
+ end
106
+
107
+ it "resources_failed_to_generate should not be true by default" do
108
+ report = Puppet::Transaction::Report.new("apply")
109
+ expect(report.resources_failed_to_generate).to be_falsey
110
+ end
111
+
101
112
  it "should not include whits" do
102
113
  Puppet::FileBucket::File.indirection.stubs(:save)
103
114
 
@@ -270,6 +281,12 @@ describe Puppet::Transaction::Report do
270
281
  @report.finalize_report
271
282
  expect(@report.status).to eq('failed')
272
283
  end
284
+
285
+ it "should mark the report as 'failed' if resources_failed_to_generate" do
286
+ @report.resources_failed_to_generate = true
287
+ @report.finalize_report
288
+ expect(@report.status).to eq('failed')
289
+ end
273
290
  end
274
291
 
275
292
  describe "for changes" do
@@ -455,6 +472,12 @@ describe Puppet::Transaction::Report do
455
472
  report.add_times('config_retrieval', 1.0)
456
473
  expect(report.to_yaml_properties).not_to include('@external_times')
457
474
  end
475
+
476
+ it "should not include @resources_failed_to_generate" do
477
+ report = Puppet::Transaction::Report.new("apply")
478
+ report.resources_failed_to_generate = true
479
+ expect(report.to_yaml_properties).not_to include('@resources_failed_to_generate')
480
+ end
458
481
  end
459
482
 
460
483
  it "defaults to serializing to pson" do
@@ -327,6 +327,44 @@ describe Puppet::Transaction do
327
327
  end
328
328
  end
329
329
 
330
+ describe "after resource traversal" do
331
+ let(:catalog) { Puppet::Resource::Catalog.new }
332
+ let(:prioritizer) { Puppet::Graph::RandomPrioritizer.new }
333
+ let(:report) { Puppet::Transaction::Report.new("apply") }
334
+ let(:transaction) { Puppet::Transaction.new(catalog, report, prioritizer) }
335
+ let(:generator) { Puppet::Transaction::AdditionalResourceGenerator.new(catalog, nil, prioritizer) }
336
+
337
+ before :each do
338
+ generator = Puppet::Transaction::AdditionalResourceGenerator.new(catalog, nil, prioritizer)
339
+ Puppet::Transaction::AdditionalResourceGenerator.stubs(:new).returns(generator)
340
+ end
341
+
342
+ it "should should query the generator for whether resources failed to generate" do
343
+ relationship_graph = Puppet::Graph::RelationshipGraph.new(prioritizer)
344
+ catalog.stubs(:relationship_graph).returns(relationship_graph)
345
+
346
+ sequence = sequence(:traverse_first)
347
+ relationship_graph.expects(:traverse).in_sequence(sequence)
348
+ generator.expects(:resources_failed_to_generate).in_sequence(sequence)
349
+
350
+ transaction.evaluate
351
+ end
352
+
353
+ it "should report that resources failed to generate" do
354
+ generator.expects(:resources_failed_to_generate).returns(true)
355
+ report.expects(:resources_failed_to_generate=).with(true)
356
+
357
+ transaction.evaluate
358
+ end
359
+
360
+ it "should not report that resources failed to generate if none did" do
361
+ generator.expects(:resources_failed_to_generate).returns(false)
362
+ report.expects(:resources_failed_to_generate=).never
363
+
364
+ transaction.evaluate
365
+ end
366
+ end
367
+
330
368
  describe "when performing pre-run checks" do
331
369
  let(:resource) { Puppet::Type.type(:notify).new(:title => "spec") }
332
370
  let(:transaction) { transaction_with_resource(resource) }
@@ -530,6 +530,11 @@ describe Puppet::Type.type(:mount), :unless => Puppet.features.microsoft_windows
530
530
  run_in_catalog(resource)
531
531
  end
532
532
 
533
+ it "should detect out of sync options" do
534
+ resource.provider.property_hash[:live_options] = "foo";
535
+ expect(resource.parameters[:options].insync?('soft')).to eq(false);
536
+ end
537
+
533
538
  it "should umount before flushing changes to disk" do
534
539
  syncorder = sequence('syncorder')
535
540
 
@@ -57,7 +57,10 @@ describe Puppet::Util::Plist, :if => Puppet.features.cfpropertylist? do
57
57
  Take me where I cannot stand
58
58
  I don't care, I'm still free
59
59
  You can't take the sky from me."
60
- end
60
+ end
61
+ let(:binary_data) do
62
+ "\xCF\xFA\xED\xFE\a\u0000\u0000\u0001\u0003\u0000\u0000\x80\u0002\u0000\u0000\u0000\u0012\u0000\u0000\u0000\b"
63
+ end
61
64
  let(:valid_xml_plist_hash) { {"LastUsedPrinters"=>[{"Network"=>"10.85.132.1", "PrinterID"=>"baskerville_corp_puppetlabs_net"}, {"Network"=>"10.14.96.1", "PrinterID"=>"Statler"}]} }
62
65
  let(:plist_path) { file_containing('sample.plist', valid_xml_plist) }
63
66
  let(:binary_plist_magic_number) { 'bplist00' }
@@ -96,7 +99,16 @@ describe Puppet::Util::Plist, :if => Puppet.features.cfpropertylist? do
96
99
  it "returns nil when direct parsing and plutil conversion both fail" do
97
100
  subject.stubs(:read_file_with_offset).with(plist_path, 8).returns('notbinary')
98
101
  subject.stubs(:open_file_with_args).with(plist_path, 'r:UTF-8').returns(non_plist_data)
99
- Puppet.expects(:debug).with(regexp_matches(/^Failed with NoMethodError/))
102
+ Puppet.expects(:debug).with(regexp_matches(/^Failed with (CFFormatError|NoMethodError)/))
103
+ Puppet.expects(:debug).with("Plist #{plist_path} ill-formatted, converting with plutil")
104
+ Puppet::Util::Execution.expects(:execute).with(['/usr/bin/plutil', '-convert', 'xml1', '-o', '/dev/stdout', plist_path],
105
+ {:failonfail => true, :combine => true}).raises(Puppet::ExecutionFailure, 'boom')
106
+ expect(subject.read_plist_file(plist_path)).to eq(nil)
107
+ end
108
+ it "returns nil when file is a non-plist binary blob" do
109
+ subject.stubs(:read_file_with_offset).with(plist_path, 8).returns('notbinary')
110
+ subject.stubs(:open_file_with_args).with(plist_path, 'r:UTF-8').returns(binary_data)
111
+ Puppet.expects(:debug).with(regexp_matches(/^Failed with (CFFormatError|ArgumentError)/))
100
112
  Puppet.expects(:debug).with("Plist #{plist_path} ill-formatted, converting with plutil")
101
113
  Puppet::Util::Execution.expects(:execute).with(['/usr/bin/plutil', '-convert', 'xml1', '-o', '/dev/stdout', plist_path],
102
114
  {:failonfail => true, :combine => true}).raises(Puppet::ExecutionFailure, 'boom')
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.7.1
4
+ version: 4.8.0
5
5
  prerelease:
6
6
  platform: universal-darwin
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2017-01-17 00:00:00.000000000 Z
12
+ date: 2016-11-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: facter
@@ -95,6 +95,7 @@ extensions: []
95
95
  extra_rdoc_files: []
96
96
  files:
97
97
  - CONTRIBUTING.md
98
+ - MAINTAINERS
98
99
  - Rakefile
99
100
  - LICENSE
100
101
  - COMMITTERS.md
@@ -379,6 +380,7 @@ files:
379
380
  - lib/puppet/environments.rb
380
381
  - lib/puppet/functions.rb
381
382
  - lib/puppet/syntax_checkers/json.rb
383
+ - lib/puppet/syntax_checkers/base64.rb
382
384
  - lib/puppet/settings.rb
383
385
  - lib/puppet/confiner.rb
384
386
  - lib/puppet/application/indirection_base.rb
@@ -787,6 +789,7 @@ files:
787
789
  - lib/puppet/parser/functions/regsubst.rb
788
790
  - lib/puppet/parser/functions/include.rb
789
791
  - lib/puppet/parser/functions/epp.rb
792
+ - lib/puppet/parser/functions/find_file.rb
790
793
  - lib/puppet/parser/functions/lest.rb
791
794
  - lib/puppet/parser/functions/sha1.rb
792
795
  - lib/puppet/parser/functions/map.rb
@@ -794,18 +797,22 @@ files:
794
797
  - lib/puppet/parser/functions/defined.rb
795
798
  - lib/puppet/parser/functions/match.rb
796
799
  - lib/puppet/parser/functions/digest.rb
800
+ - lib/puppet/parser/functions/binary_file.rb
797
801
  - lib/puppet/parser/functions/realize.rb
798
802
  - lib/puppet/parser/functions/then.rb
799
803
  - lib/puppet/parser/functions/tagged.rb
800
804
  - lib/puppet/parser/functions/hiera_hash.rb
801
805
  - lib/puppet/parser/functions/filter.rb
802
806
  - lib/puppet/parser/functions/contain.rb
807
+ - lib/puppet/parser/functions/break.rb
803
808
  - lib/puppet/parser/functions/hiera_array.rb
804
809
  - lib/puppet/parser/functions/file.rb
810
+ - lib/puppet/parser/functions/strftime.rb
805
811
  - lib/puppet/parser/functions/reduce.rb
806
812
  - lib/puppet/parser/functions/shellquote.rb
807
813
  - lib/puppet/parser/functions/reverse_each.rb
808
814
  - lib/puppet/parser/functions/sprintf.rb
815
+ - lib/puppet/parser/functions/return.rb
809
816
  - lib/puppet/parser/functions/scanf.rb
810
817
  - lib/puppet/parser/functions/step.rb
811
818
  - lib/puppet/parser/functions/md5.rb
@@ -819,6 +826,7 @@ files:
819
826
  - lib/puppet/parser/functions/tag.rb
820
827
  - lib/puppet/parser/functions/hiera_include.rb
821
828
  - lib/puppet/parser/functions/inline_template.rb
829
+ - lib/puppet/parser/functions/next.rb
822
830
  - lib/puppet/parser/functions/slice.rb
823
831
  - lib/puppet/parser/functions/lookup.rb
824
832
  - lib/puppet/parser/functions/new.rb
@@ -902,10 +910,13 @@ files:
902
910
  - lib/puppet/pops/types/type_calculator.rb
903
911
  - lib/puppet/pops/types/types.rb
904
912
  - lib/puppet/pops/types/p_meta_type.rb
913
+ - lib/puppet/pops/types/p_timespan_type.rb
905
914
  - lib/puppet/pops/types/p_object_type.rb
906
915
  - lib/puppet/pops/types/implementation_registry.rb
907
916
  - lib/puppet/pops/types/p_sem_ver_range_type.rb
908
917
  - lib/puppet/pops/types/type_set_reference.rb
918
+ - lib/puppet/pops/types/p_timestamp_type.rb
919
+ - lib/puppet/pops/types/p_binary_type.rb
909
920
  - lib/puppet/pops/types/ruby_generator.rb
910
921
  - lib/puppet/pops/types/p_runtime_type.rb
911
922
  - lib/puppet/pops/types/type_formatter.rb
@@ -925,6 +936,8 @@ files:
925
936
  - lib/puppet/pops/serialization.rb
926
937
  - lib/puppet/pops/migration/migration_checker.rb
927
938
  - lib/puppet/pops/merge_strategy.rb
939
+ - lib/puppet/pops/time/timespan.rb
940
+ - lib/puppet/pops/time/timestamp.rb
928
941
  - lib/puppet/pops/loaders.rb
929
942
  - lib/puppet/pops/evaluator/literal_evaluator.rb
930
943
  - lib/puppet/pops/evaluator/puppet_proc.rb
@@ -949,6 +962,7 @@ files:
949
962
  - lib/puppet/pops/lookup/explainer.rb
950
963
  - lib/puppet/pops/lookup/invocation.rb
951
964
  - lib/puppet/pops/lookup/interpolation.rb
965
+ - lib/puppet/pops/lookup/context.rb
952
966
  - lib/puppet/pops/lookup/sub_lookup.rb
953
967
  - lib/puppet/pops/pcore.rb
954
968
  - lib/puppet/pops/visitable.rb
@@ -1159,19 +1173,31 @@ files:
1159
1173
  - lib/puppet/resource/type.rb
1160
1174
  - lib/puppet/resource/capability_finder.rb
1161
1175
  - lib/puppet/resource/status.rb
1176
+ - lib/puppet/functions/notice.rb
1162
1177
  - lib/puppet/functions/regsubst.rb
1178
+ - lib/puppet/functions/include.rb
1163
1179
  - lib/puppet/functions/epp.rb
1180
+ - lib/puppet/functions/find_file.rb
1164
1181
  - lib/puppet/functions/lest.rb
1165
1182
  - lib/puppet/functions/map.rb
1166
1183
  - lib/puppet/functions/defined.rb
1167
1184
  - lib/puppet/functions/match.rb
1185
+ - lib/puppet/functions/crit.rb
1168
1186
  - lib/puppet/functions/unwrap.rb
1187
+ - lib/puppet/functions/binary_file.rb
1188
+ - lib/puppet/functions/emerg.rb
1169
1189
  - lib/puppet/functions/then.rb
1190
+ - lib/puppet/functions/alert.rb
1170
1191
  - lib/puppet/functions/hiera_hash.rb
1192
+ - lib/puppet/functions/info.rb
1171
1193
  - lib/puppet/functions/filter.rb
1194
+ - lib/puppet/functions/contain.rb
1195
+ - lib/puppet/functions/break.rb
1172
1196
  - lib/puppet/functions/hiera_array.rb
1197
+ - lib/puppet/functions/strftime.rb
1173
1198
  - lib/puppet/functions/reduce.rb
1174
1199
  - lib/puppet/functions/reverse_each.rb
1200
+ - lib/puppet/functions/return.rb
1175
1201
  - lib/puppet/functions/scanf.rb
1176
1202
  - lib/puppet/functions/step.rb
1177
1203
  - lib/puppet/functions/each.rb
@@ -1180,12 +1206,17 @@ files:
1180
1206
  - lib/puppet/functions/hiera.rb
1181
1207
  - lib/puppet/functions/versioncmp.rb
1182
1208
  - lib/puppet/functions/hiera_include.rb
1209
+ - lib/puppet/functions/warning.rb
1210
+ - lib/puppet/functions/next.rb
1183
1211
  - lib/puppet/functions/slice.rb
1184
1212
  - lib/puppet/functions/lookup.rb
1185
1213
  - lib/puppet/functions/import.rb
1186
1214
  - lib/puppet/functions/new.rb
1187
1215
  - lib/puppet/functions/assert_type.rb
1216
+ - lib/puppet/functions/require.rb
1217
+ - lib/puppet/functions/err.rb
1188
1218
  - lib/puppet/functions/dig.rb
1219
+ - lib/puppet/functions/debug.rb
1189
1220
  - lib/puppet/functions/with.rb
1190
1221
  - lib/puppet/functions/inline_epp.rb
1191
1222
  - lib/puppet/external/pson/version.rb
@@ -1523,6 +1554,7 @@ files:
1523
1554
  - spec/lib/puppet_spec/settings.rb
1524
1555
  - spec/lib/puppet_spec/pops.rb
1525
1556
  - spec/lib/puppet_spec/modules.rb
1557
+ - spec/lib/puppet_spec/unindent.rb
1526
1558
  - spec/lib/puppet_spec/language.rb
1527
1559
  - spec/lib/puppet_spec/handler.rb
1528
1560
  - spec/lib/puppet_spec/network.rb
@@ -2007,7 +2039,6 @@ files:
2007
2039
  - spec/integration/parser/catalog_spec.rb
2008
2040
  - spec/integration/parser/compiler_spec.rb
2009
2041
  - spec/integration/parser/environment_spec.rb
2010
- - spec/integration/parser/functions/require_spec.rb
2011
2042
  - spec/integration/parser/scope_spec.rb
2012
2043
  - spec/integration/parser/undef_param_spec.rb
2013
2044
  - spec/integration/module_tool/tar/mini_spec.rb
@@ -2376,7 +2407,6 @@ files:
2376
2407
  - spec/unit/parser/functions/scanf_spec.rb
2377
2408
  - spec/unit/parser/functions/inline_template_spec.rb
2378
2409
  - spec/unit/parser/functions/regsubst_spec.rb
2379
- - spec/unit/parser/functions/require_spec.rb
2380
2410
  - spec/unit/parser/functions/sprintf_spec.rb
2381
2411
  - spec/unit/parser/functions/digest_spec.rb
2382
2412
  - spec/unit/parser/functions/fqdn_rand_spec.rb
@@ -2385,10 +2415,7 @@ files:
2385
2415
  - spec/unit/parser/functions/tag_spec.rb
2386
2416
  - spec/unit/parser/functions/versioncmp_spec.rb
2387
2417
  - spec/unit/parser/functions/template_spec.rb
2388
- - spec/unit/parser/functions/contain_spec.rb
2389
2418
  - spec/unit/parser/functions/file_spec.rb
2390
- - spec/unit/parser/functions/shared.rb
2391
- - spec/unit/parser/functions/include_spec.rb
2392
2419
  - spec/unit/parser/functions/hiera_array_spec.rb
2393
2420
  - spec/unit/parser/functions/fail_spec.rb
2394
2421
  - spec/unit/parser/functions/hiera_spec.rb
@@ -2437,10 +2464,12 @@ files:
2437
2464
  - spec/unit/pops/adaptable_spec.rb
2438
2465
  - spec/unit/pops/label_provider_spec.rb
2439
2466
  - spec/unit/pops/types/type_mismatch_describer_spec.rb
2467
+ - spec/unit/pops/types/p_timespan_type_spec.rb
2440
2468
  - spec/unit/pops/types/recursion_guard_spec.rb
2441
2469
  - spec/unit/pops/types/p_type_set_type_spec.rb
2442
2470
  - spec/unit/pops/types/enumeration_spec.rb
2443
2471
  - spec/unit/pops/types/class_loader_spec.rb
2472
+ - spec/unit/pops/types/p_binary_type_spec.rb
2444
2473
  - spec/unit/pops/types/p_object_type_spec.rb
2445
2474
  - spec/unit/pops/types/type_acceptor_spec.rb
2446
2475
  - spec/unit/pops/types/type_calculator_spec.rb
@@ -2453,10 +2482,12 @@ files:
2453
2482
  - spec/unit/pops/types/p_sem_ver_type_spec.rb
2454
2483
  - spec/unit/pops/types/type_asserter_spec.rb
2455
2484
  - spec/unit/pops/types/type_factory_spec.rb
2485
+ - spec/unit/pops/types/p_timestamp_type_spec.rb
2456
2486
  - spec/unit/pops/types/type_formatter_spec.rb
2457
2487
  - spec/unit/pops/factory_spec.rb
2458
2488
  - spec/unit/pops/validator/validator_spec.rb
2459
2489
  - spec/unit/pops/validation_spec.rb
2490
+ - spec/unit/pops/time/timespan_spec.rb
2460
2491
  - spec/unit/pops/evaluator/runtime3_converter_spec.rb
2461
2492
  - spec/unit/pops/evaluator/conditionals_spec.rb
2462
2493
  - spec/unit/pops/evaluator/variables_spec.rb
@@ -2473,12 +2504,15 @@ files:
2473
2504
  - spec/unit/pops/evaluator/arithmetic_ops_spec.rb
2474
2505
  - spec/unit/pops/puppet_stack_spec.rb
2475
2506
  - spec/unit/pops/containment_spec.rb
2507
+ - spec/unit/pops/lookup/context_spec.rb
2476
2508
  - spec/unit/pops/lookup/interpolation_spec.rb
2477
2509
  - spec/unit/pops/serialization/serialization_spec.rb
2478
2510
  - spec/unit/pops/serialization/packer_spec.rb
2479
2511
  - spec/unit/pops/serialization/rgen_spec.rb
2480
2512
  - spec/unit/pops/issues_spec.rb
2513
+ - spec/unit/pops/parser/parse_functions_spec.rb
2481
2514
  - spec/unit/pops/parser/parse_containers_spec.rb
2515
+ - spec/unit/pops/parser/parse_lambda_spec.rb
2482
2516
  - spec/unit/pops/parser/parse_basic_expressions_spec.rb
2483
2517
  - spec/unit/pops/parser/parse_heredoc_spec.rb
2484
2518
  - spec/unit/pops/parser/source_pos_adapter_spec.rb
@@ -2574,24 +2608,35 @@ files:
2574
2608
  - spec/unit/resource/type_spec.rb
2575
2609
  - spec/unit/functions/split_spec.rb
2576
2610
  - spec/unit/functions/unwrap_spec.rb
2611
+ - spec/unit/functions/logging_spec.rb
2612
+ - spec/unit/functions/binary_file_spec.rb
2577
2613
  - spec/unit/functions/scanf_spec.rb
2578
2614
  - spec/unit/functions/regsubst_spec.rb
2579
2615
  - spec/unit/functions/dig_spec.rb
2616
+ - spec/unit/functions/require_spec.rb
2580
2617
  - spec/unit/functions/reverse_each_spec.rb
2581
2618
  - spec/unit/functions/then_spec.rb
2582
2619
  - spec/unit/functions/with_spec.rb
2620
+ - spec/unit/functions/strftime_spec.rb
2583
2621
  - spec/unit/functions/step_spec.rb
2584
2622
  - spec/unit/functions/defined_spec.rb
2623
+ - spec/unit/functions/return_spec.rb
2585
2624
  - spec/unit/functions/lookup_spec.rb
2586
2625
  - spec/unit/functions/match_spec.rb
2587
2626
  - spec/unit/functions/slice_spec.rb
2627
+ - spec/unit/functions/next_spec.rb
2628
+ - spec/unit/functions/break_spec.rb
2588
2629
  - spec/unit/functions/reduce_spec.rb
2589
2630
  - spec/unit/functions/versioncmp_spec.rb
2590
2631
  - spec/unit/functions/filter_spec.rb
2591
2632
  - spec/unit/functions/assert_type_spec.rb
2633
+ - spec/unit/functions/contain_spec.rb
2592
2634
  - spec/unit/functions/inline_epp_spec.rb
2635
+ - spec/unit/functions/shared.rb
2593
2636
  - spec/unit/functions/lest_spec.rb
2637
+ - spec/unit/functions/find_file_spec.rb
2594
2638
  - spec/unit/functions/type_spec.rb
2639
+ - spec/unit/functions/include_spec.rb
2595
2640
  - spec/unit/functions/map_spec.rb
2596
2641
  - spec/unit/functions/each_spec.rb
2597
2642
  - spec/unit/functions/new_spec.rb
@@ -2768,6 +2813,7 @@ test_files:
2768
2813
  - spec/lib/puppet_spec/settings.rb
2769
2814
  - spec/lib/puppet_spec/pops.rb
2770
2815
  - spec/lib/puppet_spec/modules.rb
2816
+ - spec/lib/puppet_spec/unindent.rb
2771
2817
  - spec/lib/puppet_spec/language.rb
2772
2818
  - spec/lib/puppet_spec/handler.rb
2773
2819
  - spec/lib/puppet_spec/network.rb
@@ -3252,7 +3298,6 @@ test_files:
3252
3298
  - spec/integration/parser/catalog_spec.rb
3253
3299
  - spec/integration/parser/compiler_spec.rb
3254
3300
  - spec/integration/parser/environment_spec.rb
3255
- - spec/integration/parser/functions/require_spec.rb
3256
3301
  - spec/integration/parser/scope_spec.rb
3257
3302
  - spec/integration/parser/undef_param_spec.rb
3258
3303
  - spec/integration/module_tool/tar/mini_spec.rb
@@ -3621,7 +3666,6 @@ test_files:
3621
3666
  - spec/unit/parser/functions/scanf_spec.rb
3622
3667
  - spec/unit/parser/functions/inline_template_spec.rb
3623
3668
  - spec/unit/parser/functions/regsubst_spec.rb
3624
- - spec/unit/parser/functions/require_spec.rb
3625
3669
  - spec/unit/parser/functions/sprintf_spec.rb
3626
3670
  - spec/unit/parser/functions/digest_spec.rb
3627
3671
  - spec/unit/parser/functions/fqdn_rand_spec.rb
@@ -3630,10 +3674,7 @@ test_files:
3630
3674
  - spec/unit/parser/functions/tag_spec.rb
3631
3675
  - spec/unit/parser/functions/versioncmp_spec.rb
3632
3676
  - spec/unit/parser/functions/template_spec.rb
3633
- - spec/unit/parser/functions/contain_spec.rb
3634
3677
  - spec/unit/parser/functions/file_spec.rb
3635
- - spec/unit/parser/functions/shared.rb
3636
- - spec/unit/parser/functions/include_spec.rb
3637
3678
  - spec/unit/parser/functions/hiera_array_spec.rb
3638
3679
  - spec/unit/parser/functions/fail_spec.rb
3639
3680
  - spec/unit/parser/functions/hiera_spec.rb
@@ -3682,10 +3723,12 @@ test_files:
3682
3723
  - spec/unit/pops/adaptable_spec.rb
3683
3724
  - spec/unit/pops/label_provider_spec.rb
3684
3725
  - spec/unit/pops/types/type_mismatch_describer_spec.rb
3726
+ - spec/unit/pops/types/p_timespan_type_spec.rb
3685
3727
  - spec/unit/pops/types/recursion_guard_spec.rb
3686
3728
  - spec/unit/pops/types/p_type_set_type_spec.rb
3687
3729
  - spec/unit/pops/types/enumeration_spec.rb
3688
3730
  - spec/unit/pops/types/class_loader_spec.rb
3731
+ - spec/unit/pops/types/p_binary_type_spec.rb
3689
3732
  - spec/unit/pops/types/p_object_type_spec.rb
3690
3733
  - spec/unit/pops/types/type_acceptor_spec.rb
3691
3734
  - spec/unit/pops/types/type_calculator_spec.rb
@@ -3698,10 +3741,12 @@ test_files:
3698
3741
  - spec/unit/pops/types/p_sem_ver_type_spec.rb
3699
3742
  - spec/unit/pops/types/type_asserter_spec.rb
3700
3743
  - spec/unit/pops/types/type_factory_spec.rb
3744
+ - spec/unit/pops/types/p_timestamp_type_spec.rb
3701
3745
  - spec/unit/pops/types/type_formatter_spec.rb
3702
3746
  - spec/unit/pops/factory_spec.rb
3703
3747
  - spec/unit/pops/validator/validator_spec.rb
3704
3748
  - spec/unit/pops/validation_spec.rb
3749
+ - spec/unit/pops/time/timespan_spec.rb
3705
3750
  - spec/unit/pops/evaluator/runtime3_converter_spec.rb
3706
3751
  - spec/unit/pops/evaluator/conditionals_spec.rb
3707
3752
  - spec/unit/pops/evaluator/variables_spec.rb
@@ -3718,12 +3763,15 @@ test_files:
3718
3763
  - spec/unit/pops/evaluator/arithmetic_ops_spec.rb
3719
3764
  - spec/unit/pops/puppet_stack_spec.rb
3720
3765
  - spec/unit/pops/containment_spec.rb
3766
+ - spec/unit/pops/lookup/context_spec.rb
3721
3767
  - spec/unit/pops/lookup/interpolation_spec.rb
3722
3768
  - spec/unit/pops/serialization/serialization_spec.rb
3723
3769
  - spec/unit/pops/serialization/packer_spec.rb
3724
3770
  - spec/unit/pops/serialization/rgen_spec.rb
3725
3771
  - spec/unit/pops/issues_spec.rb
3772
+ - spec/unit/pops/parser/parse_functions_spec.rb
3726
3773
  - spec/unit/pops/parser/parse_containers_spec.rb
3774
+ - spec/unit/pops/parser/parse_lambda_spec.rb
3727
3775
  - spec/unit/pops/parser/parse_basic_expressions_spec.rb
3728
3776
  - spec/unit/pops/parser/parse_heredoc_spec.rb
3729
3777
  - spec/unit/pops/parser/source_pos_adapter_spec.rb
@@ -3819,24 +3867,35 @@ test_files:
3819
3867
  - spec/unit/resource/type_spec.rb
3820
3868
  - spec/unit/functions/split_spec.rb
3821
3869
  - spec/unit/functions/unwrap_spec.rb
3870
+ - spec/unit/functions/logging_spec.rb
3871
+ - spec/unit/functions/binary_file_spec.rb
3822
3872
  - spec/unit/functions/scanf_spec.rb
3823
3873
  - spec/unit/functions/regsubst_spec.rb
3824
3874
  - spec/unit/functions/dig_spec.rb
3875
+ - spec/unit/functions/require_spec.rb
3825
3876
  - spec/unit/functions/reverse_each_spec.rb
3826
3877
  - spec/unit/functions/then_spec.rb
3827
3878
  - spec/unit/functions/with_spec.rb
3879
+ - spec/unit/functions/strftime_spec.rb
3828
3880
  - spec/unit/functions/step_spec.rb
3829
3881
  - spec/unit/functions/defined_spec.rb
3882
+ - spec/unit/functions/return_spec.rb
3830
3883
  - spec/unit/functions/lookup_spec.rb
3831
3884
  - spec/unit/functions/match_spec.rb
3832
3885
  - spec/unit/functions/slice_spec.rb
3886
+ - spec/unit/functions/next_spec.rb
3887
+ - spec/unit/functions/break_spec.rb
3833
3888
  - spec/unit/functions/reduce_spec.rb
3834
3889
  - spec/unit/functions/versioncmp_spec.rb
3835
3890
  - spec/unit/functions/filter_spec.rb
3836
3891
  - spec/unit/functions/assert_type_spec.rb
3892
+ - spec/unit/functions/contain_spec.rb
3837
3893
  - spec/unit/functions/inline_epp_spec.rb
3894
+ - spec/unit/functions/shared.rb
3838
3895
  - spec/unit/functions/lest_spec.rb
3896
+ - spec/unit/functions/find_file_spec.rb
3839
3897
  - spec/unit/functions/type_spec.rb
3898
+ - spec/unit/functions/include_spec.rb
3840
3899
  - spec/unit/functions/map_spec.rb
3841
3900
  - spec/unit/functions/each_spec.rb
3842
3901
  - spec/unit/functions/new_spec.rb