puppet 7.0.0-x64-mingw32 → 7.5.0-x64-mingw32

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 (191) hide show
  1. checksums.yaml +4 -4
  2. data/CODEOWNERS +2 -16
  3. data/Gemfile +2 -3
  4. data/Gemfile.lock +45 -33
  5. data/ext/build_defaults.yaml +0 -1
  6. data/ext/project_data.yaml +1 -0
  7. data/lib/puppet/application.rb +10 -6
  8. data/lib/puppet/application/agent.rb +1 -0
  9. data/lib/puppet/application/apply.rb +3 -2
  10. data/lib/puppet/application/device.rb +1 -0
  11. data/lib/puppet/application/script.rb +1 -0
  12. data/lib/puppet/application/ssl.rb +11 -0
  13. data/lib/puppet/application_support.rb +7 -0
  14. data/lib/puppet/configurer.rb +16 -3
  15. data/lib/puppet/defaults.rb +14 -41
  16. data/lib/puppet/environments.rb +54 -55
  17. data/lib/puppet/face/facts.rb +26 -2
  18. data/lib/puppet/face/node/clean.rb +8 -0
  19. data/lib/puppet/ffi/posix.rb +10 -0
  20. data/lib/puppet/ffi/posix/constants.rb +14 -0
  21. data/lib/puppet/ffi/posix/functions.rb +24 -0
  22. data/lib/puppet/ffi/windows/api_types.rb +1 -1
  23. data/lib/puppet/ffi/windows/constants.rb +1 -1
  24. data/lib/puppet/file_serving/configuration/parser.rb +5 -2
  25. data/lib/puppet/file_system/memory_file.rb +8 -1
  26. data/lib/puppet/file_system/windows.rb +2 -0
  27. data/lib/puppet/http/factory.rb +4 -0
  28. data/lib/puppet/indirector/facts/facter.rb +1 -0
  29. data/lib/puppet/module_tool/applications/installer.rb +48 -2
  30. data/lib/puppet/module_tool/errors/shared.rb +17 -2
  31. data/lib/puppet/network/formats.rb +67 -0
  32. data/lib/puppet/network/http.rb +5 -2
  33. data/lib/puppet/network/http/api.rb +10 -6
  34. data/lib/puppet/network/http/api/master.rb +3 -2
  35. data/lib/puppet/network/http/api/master/v3.rb +2 -25
  36. data/lib/puppet/network/http/api/master/v3/environments.rb +2 -33
  37. data/lib/puppet/network/http/api/server.rb +10 -0
  38. data/lib/puppet/network/http/api/server/v3.rb +39 -0
  39. data/lib/puppet/network/http/api/server/v3/environments.rb +48 -0
  40. data/lib/puppet/parser/ast/leaf.rb +3 -2
  41. data/lib/puppet/parser/templatewrapper.rb +1 -1
  42. data/lib/puppet/pops/evaluator/deferred_resolver.rb +5 -3
  43. data/lib/puppet/pops/model/ast_transformer.rb +1 -1
  44. data/lib/puppet/pops/parser/lexer2.rb +0 -4
  45. data/lib/puppet/pops/validation/checker4_0.rb +0 -1
  46. data/lib/puppet/property/list.rb +1 -1
  47. data/lib/puppet/provider/group/groupadd.rb +13 -8
  48. data/lib/puppet/provider/package/apt.rb +34 -2
  49. data/lib/puppet/provider/package/aptitude.rb +6 -0
  50. data/lib/puppet/provider/service/debian.rb +2 -0
  51. data/lib/puppet/provider/user/aix.rb +2 -2
  52. data/lib/puppet/provider/user/useradd.rb +62 -8
  53. data/lib/puppet/reference/configuration.rb +6 -5
  54. data/lib/puppet/settings.rb +33 -28
  55. data/lib/puppet/settings/alias_setting.rb +37 -0
  56. data/lib/puppet/settings/environment_conf.rb +1 -0
  57. data/lib/puppet/type/package.rb +3 -3
  58. data/lib/puppet/type/user.rb +1 -1
  59. data/lib/puppet/util/autoload.rb +1 -8
  60. data/lib/puppet/util/monkey_patches.rb +7 -0
  61. data/lib/puppet/util/posix.rb +54 -5
  62. data/lib/puppet/util/windows/adsi.rb +46 -0
  63. data/lib/puppet/util/windows/principal.rb +9 -2
  64. data/lib/puppet/util/windows/sid.rb +4 -2
  65. data/lib/puppet/version.rb +1 -1
  66. data/locales/puppet.pot +166 -146
  67. data/man/man5/puppet.conf.5 +14 -6
  68. data/man/man8/puppet-agent.8 +2 -2
  69. data/man/man8/puppet-apply.8 +2 -2
  70. data/man/man8/puppet-catalog.8 +1 -1
  71. data/man/man8/puppet-config.8 +1 -1
  72. data/man/man8/puppet-describe.8 +1 -1
  73. data/man/man8/puppet-device.8 +2 -2
  74. data/man/man8/puppet-doc.8 +1 -1
  75. data/man/man8/puppet-epp.8 +1 -1
  76. data/man/man8/puppet-facts.8 +8 -2
  77. data/man/man8/puppet-filebucket.8 +1 -1
  78. data/man/man8/puppet-generate.8 +1 -1
  79. data/man/man8/puppet-help.8 +1 -1
  80. data/man/man8/puppet-lookup.8 +1 -1
  81. data/man/man8/puppet-module.8 +1 -1
  82. data/man/man8/puppet-node.8 +1 -1
  83. data/man/man8/puppet-parser.8 +1 -1
  84. data/man/man8/puppet-plugin.8 +1 -1
  85. data/man/man8/puppet-report.8 +1 -1
  86. data/man/man8/puppet-resource.8 +1 -1
  87. data/man/man8/puppet-script.8 +2 -2
  88. data/man/man8/puppet-ssl.8 +5 -1
  89. data/man/man8/puppet.8 +2 -2
  90. data/spec/fixtures/integration/application/agent/cached_deferred_catalog.json +91 -0
  91. data/spec/fixtures/unit/provider/user/aix/aix_passwd_file.out +4 -0
  92. data/spec/integration/application/agent_spec.rb +160 -3
  93. data/spec/integration/application/apply_spec.rb +19 -0
  94. data/spec/integration/application/plugin_spec.rb +1 -1
  95. data/spec/integration/defaults_spec.rb +0 -7
  96. data/spec/integration/http/client_spec.rb +12 -0
  97. data/spec/integration/indirector/direct_file_server_spec.rb +1 -3
  98. data/spec/integration/indirector/file_content/file_server_spec.rb +0 -2
  99. data/spec/integration/indirector/file_metadata/file_server_spec.rb +0 -2
  100. data/spec/integration/parser/collection_spec.rb +10 -0
  101. data/spec/integration/resource/type_collection_spec.rb +2 -6
  102. data/spec/integration/transaction_spec.rb +4 -9
  103. data/spec/integration/util/windows/adsi_spec.rb +21 -1
  104. data/spec/integration/util/windows/principal_spec.rb +21 -0
  105. data/spec/integration/util/windows/registry_spec.rb +6 -10
  106. data/spec/spec_helper.rb +1 -4
  107. data/spec/unit/agent_spec.rb +8 -6
  108. data/spec/unit/application/agent_spec.rb +0 -1
  109. data/spec/unit/application/facts_spec.rb +58 -7
  110. data/spec/unit/application/filebucket_spec.rb +0 -2
  111. data/spec/unit/application/ssl_spec.rb +23 -0
  112. data/spec/unit/application_spec.rb +51 -9
  113. data/spec/unit/confine/feature_spec.rb +1 -1
  114. data/spec/unit/confine_spec.rb +8 -2
  115. data/spec/unit/defaults_spec.rb +1 -56
  116. data/spec/unit/environments_spec.rb +221 -68
  117. data/spec/unit/face/node_spec.rb +14 -13
  118. data/spec/unit/file_serving/configuration/parser_spec.rb +8 -1
  119. data/spec/unit/file_serving/metadata_spec.rb +3 -3
  120. data/spec/unit/file_serving/terminus_helper_spec.rb +11 -4
  121. data/spec/unit/file_system_spec.rb +9 -0
  122. data/spec/unit/forge/module_release_spec.rb +2 -7
  123. data/spec/unit/http/factory_spec.rb +19 -0
  124. data/spec/unit/indirector/face_spec.rb +0 -1
  125. data/spec/unit/indirector/facts/facter_spec.rb +20 -5
  126. data/spec/unit/indirector/file_bucket_file/selector_spec.rb +26 -8
  127. data/spec/unit/indirector/indirection_spec.rb +8 -12
  128. data/spec/unit/indirector_spec.rb +2 -2
  129. data/spec/unit/module_tool/applications/installer_spec.rb +66 -0
  130. data/spec/unit/network/formats_spec.rb +41 -0
  131. data/spec/unit/network/http/api/indirected_routes_spec.rb +0 -4
  132. data/spec/unit/network/http/api/master_spec.rb +38 -0
  133. data/spec/unit/network/http/api/{master → server}/v3/environments_spec.rb +2 -2
  134. data/spec/unit/network/http/api/{master → server}/v3_spec.rb +19 -19
  135. data/spec/unit/network/http/api_spec.rb +11 -11
  136. data/spec/unit/parser/compiler_spec.rb +3 -19
  137. data/spec/unit/parser/resource_spec.rb +14 -8
  138. data/spec/unit/parser/templatewrapper_spec.rb +4 -3
  139. data/spec/unit/pops/evaluator/deferred_resolver_spec.rb +20 -0
  140. data/spec/unit/pops/parser/lexer2_spec.rb +0 -4
  141. data/spec/unit/pops/validator/validator_spec.rb +20 -43
  142. data/spec/unit/property_spec.rb +1 -0
  143. data/spec/unit/provider/group/groupadd_spec.rb +5 -2
  144. data/spec/unit/provider/nameservice_spec.rb +66 -65
  145. data/spec/unit/provider/package/apt_spec.rb +28 -23
  146. data/spec/unit/provider/package/aptitude_spec.rb +1 -1
  147. data/spec/unit/provider/package/base_spec.rb +6 -5
  148. data/spec/unit/provider/package/pacman_spec.rb +18 -12
  149. data/spec/unit/provider/package/pip_spec.rb +6 -11
  150. data/spec/unit/provider/package/pkgdmg_spec.rb +0 -4
  151. data/spec/unit/provider/user/aix_spec.rb +5 -0
  152. data/spec/unit/provider/user/hpux_spec.rb +1 -1
  153. data/spec/unit/provider/user/pw_spec.rb +2 -0
  154. data/spec/unit/provider/user/useradd_spec.rb +56 -3
  155. data/spec/unit/provider_spec.rb +6 -8
  156. data/spec/unit/resource/type_spec.rb +1 -1
  157. data/spec/unit/resource_spec.rb +11 -10
  158. data/spec/unit/settings_spec.rb +13 -6
  159. data/spec/unit/ssl/base_spec.rb +0 -1
  160. data/spec/unit/ssl/certificate_request_spec.rb +4 -10
  161. data/spec/unit/ssl/ssl_provider_spec.rb +5 -2
  162. data/spec/unit/transaction/additional_resource_generator_spec.rb +3 -7
  163. data/spec/unit/transaction/event_manager_spec.rb +14 -11
  164. data/spec/unit/transaction_spec.rb +13 -4
  165. data/spec/unit/type/file/content_spec.rb +0 -1
  166. data/spec/unit/type/file/selinux_spec.rb +0 -2
  167. data/spec/unit/type/file_spec.rb +0 -6
  168. data/spec/unit/type/group_spec.rb +13 -6
  169. data/spec/unit/type/resources_spec.rb +7 -7
  170. data/spec/unit/type/service_spec.rb +1 -1
  171. data/spec/unit/type/tidy_spec.rb +0 -1
  172. data/spec/unit/type_spec.rb +2 -2
  173. data/spec/unit/util/at_fork_spec.rb +2 -2
  174. data/spec/unit/util/autoload_spec.rb +5 -1
  175. data/spec/unit/util/backups_spec.rb +1 -2
  176. data/spec/unit/util/execution_spec.rb +15 -11
  177. data/spec/unit/util/inifile_spec.rb +6 -14
  178. data/spec/unit/util/log_spec.rb +8 -7
  179. data/spec/unit/util/logging_spec.rb +3 -3
  180. data/spec/unit/util/posix_spec.rb +363 -15
  181. data/spec/unit/util/selinux_spec.rb +76 -52
  182. data/spec/unit/util/storage_spec.rb +3 -1
  183. data/spec/unit/util/suidmanager_spec.rb +44 -41
  184. data/spec/unit/util/windows/sid_spec.rb +6 -0
  185. data/spec/unit/util_spec.rb +13 -6
  186. metadata +33 -16
  187. data/spec/lib/matchers/include.rb +0 -27
  188. data/spec/lib/matchers/include_spec.rb +0 -32
  189. data/spec/unit/pops/parser/parse_application_spec.rb +0 -13
  190. data/spec/unit/pops/parser/parse_capabilities_spec.rb +0 -23
  191. data/spec/unit/pops/parser/parse_site_spec.rb +0 -43
@@ -143,9 +143,11 @@ describe Puppet::Util::Storage do
143
143
  end
144
144
 
145
145
  it "should raise an error if the state file does not contain valid YAML and cannot be renamed" do
146
+ allow(File).to receive(:rename).and_call_original
147
+
146
148
  write_state_file('{ invalid')
147
149
 
148
- expect(File).to receive(:rename).and_raise(SystemCallError)
150
+ expect(File).to receive(:rename).with(@state_file, "#{@state_file}.bad").and_raise(SystemCallError)
149
151
 
150
152
  expect { Puppet::Util::Storage.load }.to raise_error(Puppet::Error, /Could not rename/)
151
153
  end
@@ -14,12 +14,14 @@ describe Puppet::Util::SUIDManager do
14
14
  pwent = double('pwent', :name => 'fred', :uid => 42, :gid => 42)
15
15
  allow(Etc).to receive(:getpwuid).with(42).and_return(pwent)
16
16
 
17
- [:euid, :egid, :uid, :gid, :groups].each do |id|
18
- allow(Process).to receive("#{id}=") {|value| xids[id] = value}
17
+ unless Puppet::Util::Platform.windows?
18
+ [:euid, :egid, :uid, :gid, :groups].each do |id|
19
+ allow(Process).to receive("#{id}=") {|value| xids[id] = value}
20
+ end
19
21
  end
20
22
  end
21
23
 
22
- describe "#initgroups" do
24
+ describe "#initgroups", unless: Puppet::Util::Platform.windows? do
23
25
  it "should use the primary group of the user as the 'basegid'" do
24
26
  expect(Process).to receive(:initgroups).with('fred', 42)
25
27
  described_class.initgroups(42)
@@ -27,7 +29,7 @@ describe Puppet::Util::SUIDManager do
27
29
  end
28
30
 
29
31
  describe "#uid" do
30
- it "should allow setting euid/egid" do
32
+ it "should allow setting euid/egid", unless: Puppet::Util::Platform.windows? do
31
33
  Puppet::Util::SUIDManager.egid = user[:gid]
32
34
  Puppet::Util::SUIDManager.euid = user[:uid]
33
35
 
@@ -37,8 +39,7 @@ describe Puppet::Util::SUIDManager do
37
39
  end
38
40
 
39
41
  describe "#asuser" do
40
- it "should not get or set euid/egid when not root" do
41
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
42
+ it "should not get or set euid/egid when not root", unless: Puppet::Util::Platform.windows? do
42
43
  allow(Process).to receive(:uid).and_return(1)
43
44
 
44
45
  allow(Process).to receive(:egid).and_return(51)
@@ -49,13 +50,12 @@ describe Puppet::Util::SUIDManager do
49
50
  expect(xids).to be_empty
50
51
  end
51
52
 
52
- context "when root and not windows" do
53
+ context "when root and not Windows" do
53
54
  before :each do
54
55
  allow(Process).to receive(:uid).and_return(0)
55
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
56
56
  end
57
57
 
58
- it "should set euid/egid" do
58
+ it "should set euid/egid", unless: Puppet::Util::Platform.windows? do
59
59
  allow(Process).to receive(:egid).and_return(51, 51, user[:gid])
60
60
  allow(Process).to receive(:euid).and_return(50, 50, user[:uid])
61
61
 
@@ -79,29 +79,23 @@ describe Puppet::Util::SUIDManager do
79
79
  end
80
80
 
81
81
  it "should just yield if user and group are nil" do
82
- yielded = false
83
- Puppet::Util::SUIDManager.asuser(nil, nil) { yielded = true }
84
- expect(yielded).to be_truthy
82
+ expect { |b| Puppet::Util::SUIDManager.asuser(nil, nil, &b) }.to yield_control
85
83
  expect(xids).to eq({})
86
84
  end
87
85
 
88
- it "should just change group if only group is given" do
89
- yielded = false
90
- Puppet::Util::SUIDManager.asuser(nil, 42) { yielded = true }
91
- expect(yielded).to be_truthy
86
+ it "should just change group if only group is given", unless: Puppet::Util::Platform.windows? do
87
+ expect { |b| Puppet::Util::SUIDManager.asuser(nil, 42, &b) }.to yield_control
92
88
  expect(xids).to eq({ :egid => 42 })
93
89
  end
94
90
 
95
- it "should change gid to the primary group of uid by default" do
91
+ it "should change gid to the primary group of uid by default", unless: Puppet::Util::Platform.windows? do
96
92
  allow(Process).to receive(:initgroups)
97
93
 
98
- yielded = false
99
- Puppet::Util::SUIDManager.asuser(42) { yielded = true }
100
- expect(yielded).to be_truthy
94
+ expect { |b| Puppet::Util::SUIDManager.asuser(42, nil, &b) }.to yield_control
101
95
  expect(xids).to eq({ :euid => 42, :egid => 42 })
102
96
  end
103
97
 
104
- it "should change both uid and gid if given" do
98
+ it "should change both uid and gid if given", unless: Puppet::Util::Platform.windows? do
105
99
  # I don't like the sequence, but it is the only way to assert on the
106
100
  # internal behaviour in a reliable fashion, given we need multiple
107
101
  # sequenced calls to the same methods. --daniel 2012-02-05
@@ -110,21 +104,23 @@ describe Puppet::Util::SUIDManager do
110
104
  expect(Puppet::Util::SUIDManager).to receive(:change_group).with(Puppet::Util::SUIDManager.egid, false).ordered()
111
105
  expect(Puppet::Util::SUIDManager).to receive(:change_user).with(Puppet::Util::SUIDManager.euid, false).ordered()
112
106
 
113
- yielded = false
114
- Puppet::Util::SUIDManager.asuser(42, 43) { yielded = true }
115
- expect(yielded).to be_truthy
107
+ expect { |b| Puppet::Util::SUIDManager.asuser(42, 43, &b) }.to yield_control
116
108
  end
117
109
  end
118
110
 
119
- it "should not get or set euid/egid on Windows", if: Puppet::Util::Platform.windows? do
120
- Puppet::Util::SUIDManager.asuser(user[:uid], user[:gid]) {}
121
-
122
- expect(xids).to be_empty
111
+ it "should just yield on Windows", if: Puppet::Util::Platform.windows? do
112
+ expect { |b| Puppet::Util::SUIDManager.asuser(1, 2, &b) }.to yield_control
123
113
  end
124
114
  end
125
115
 
126
116
  describe "#change_group" do
127
- describe "when changing permanently" do
117
+ it "raises on Windows", if: Puppet::Util::Platform.windows? do
118
+ expect {
119
+ Puppet::Util::SUIDManager.change_group(42, true)
120
+ }.to raise_error(NotImplementedError, /change_privilege\(\) function is unimplemented/)
121
+ end
122
+
123
+ describe "when changing permanently", unless: Puppet::Util::Platform.windows? do
128
124
  it "should change_privilege" do
129
125
  expect(Process::GID).to receive(:change_privilege) do |gid|
130
126
  Process.gid = gid
@@ -150,7 +146,7 @@ describe Puppet::Util::SUIDManager do
150
146
  end
151
147
  end
152
148
 
153
- describe "when changing temporarily" do
149
+ describe "when changing temporarily", unless: Puppet::Util::Platform.windows? do
154
150
  it "should change only egid" do
155
151
  Puppet::Util::SUIDManager.change_group(42, false)
156
152
 
@@ -161,7 +157,13 @@ describe Puppet::Util::SUIDManager do
161
157
  end
162
158
 
163
159
  describe "#change_user" do
164
- describe "when changing permanently" do
160
+ it "raises on Windows", if: Puppet::Util::Platform.windows? do
161
+ expect {
162
+ Puppet::Util::SUIDManager.change_user(42, true)
163
+ }.to raise_error(NotImplementedError, /initgroups\(\) function is unimplemented/)
164
+ end
165
+
166
+ describe "when changing permanently", unless: Puppet::Util::Platform.windows? do
165
167
  it "should change_privilege" do
166
168
  expect(Process::UID).to receive(:change_privilege) do |uid|
167
169
  Process.uid = uid
@@ -191,7 +193,7 @@ describe Puppet::Util::SUIDManager do
191
193
  end
192
194
  end
193
195
 
194
- describe "when changing temporarily" do
196
+ describe "when changing temporarily", unless: Puppet::Util::Platform.windows? do
195
197
  it "should change only euid and groups" do
196
198
  allow(Puppet::Util::SUIDManager).to receive(:initgroups).and_return([])
197
199
  Puppet::Util::SUIDManager.change_user(42, false)
@@ -221,12 +223,7 @@ describe Puppet::Util::SUIDManager do
221
223
  end
222
224
 
223
225
  describe "#root?" do
224
- describe "on POSIX systems" do
225
- before :each do
226
- allow(Puppet.features).to receive(:posix?).and_return(true)
227
- allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
228
- end
229
-
226
+ describe "on POSIX systems", unless: Puppet::Util::Platform.windows? do
230
227
  it "should be root if uid is 0" do
231
228
  allow(Process).to receive(:uid).and_return(0)
232
229
 
@@ -240,7 +237,7 @@ describe Puppet::Util::SUIDManager do
240
237
  end
241
238
  end
242
239
 
243
- describe "on Microsoft Windows", :if => Puppet::Util::Platform.windows? do
240
+ describe "on Windows", :if => Puppet::Util::Platform.windows? do
244
241
  it "should be root if user is privileged" do
245
242
  allow(Puppet::Util::Windows::User).to receive(:admin?).and_return(true)
246
243
 
@@ -261,13 +258,19 @@ describe 'Puppet::Util::SUIDManager#groups=' do
261
258
  Puppet::Util::SUIDManager
262
259
  end
263
260
 
264
- it "(#3419) should rescue Errno::EINVAL on OS X" do
261
+ it "raises on Windows", if: Puppet::Util::Platform.windows? do
262
+ expect {
263
+ subject.groups = []
264
+ }.to raise_error(NotImplementedError, /groups=\(\) function is unimplemented/)
265
+ end
266
+
267
+ it "(#3419) should rescue Errno::EINVAL on OS X", unless: Puppet::Util::Platform.windows? do
265
268
  expect(Process).to receive(:groups=).and_raise(Errno::EINVAL, 'blew up')
266
269
  expect(subject).to receive(:osx_maj_ver).and_return('10.7').twice
267
270
  subject.groups = ['list', 'of', 'groups']
268
271
  end
269
272
 
270
- it "(#3419) should fail if an Errno::EINVAL is raised NOT on OS X" do
273
+ it "(#3419) should fail if an Errno::EINVAL is raised NOT on OS X", unless: Puppet::Util::Platform.windows? do
271
274
  expect(Process).to receive(:groups=).and_raise(Errno::EINVAL, 'blew up')
272
275
  expect(subject).to receive(:osx_maj_ver).and_return(false)
273
276
  expect { subject.groups = ['list', 'of', 'groups'] }.to raise_error(Errno::EINVAL)
@@ -158,6 +158,12 @@ describe "Puppet::Util::Windows::SID", :if => Puppet::Util::Platform.windows? do
158
158
  # this works in French Windows, even though the account is really AUTORITE NT\\Syst\u00E8me
159
159
  expect(subject.name_to_principal('NT AUTHORITY\SYSTEM').sid).to eq(sid)
160
160
  end
161
+
162
+ it "should print a debug message on failures" do
163
+ expect(Puppet).to receive(:debug).with(/Could not retrieve raw SID bytes from 'NonExistingUser'/)
164
+ expect(Puppet).to receive(:debug).with(/No mapping between account names and security IDs was done/)
165
+ subject.name_to_principal('NonExistingUser')
166
+ end
161
167
  end
162
168
 
163
169
  context "#ads_to_principal" do
@@ -309,7 +309,7 @@ describe Puppet::Util do
309
309
 
310
310
  describe "when using platform :posix" do
311
311
  before :each do
312
- allow(Puppet.features).to receive(:posix).and_return(true)
312
+ allow(Puppet.features).to receive(:posix?).and_return(true)
313
313
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
314
314
  end
315
315
 
@@ -322,7 +322,7 @@ describe Puppet::Util do
322
322
 
323
323
  describe "when using platform :windows" do
324
324
  before :each do
325
- allow(Puppet.features).to receive(:posix).and_return(false)
325
+ allow(Puppet.features).to receive(:posix?).and_return(false)
326
326
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
327
327
  end
328
328
 
@@ -456,7 +456,7 @@ describe Puppet::Util do
456
456
 
457
457
  describe "when using platform :posix" do
458
458
  before :each do
459
- allow(Puppet.features).to receive(:posix).and_return(true)
459
+ allow(Puppet.features).to receive(:posix?).and_return(true)
460
460
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(false)
461
461
  end
462
462
 
@@ -495,7 +495,7 @@ describe Puppet::Util do
495
495
 
496
496
  describe "when using platform :windows" do
497
497
  before :each do
498
- allow(Puppet.features).to receive(:posix).and_return(false)
498
+ allow(Puppet.features).to receive(:posix?).and_return(false)
499
499
  allow(Puppet::Util::Platform).to receive(:windows?).and_return(true)
500
500
  end
501
501
 
@@ -533,7 +533,6 @@ describe Puppet::Util do
533
533
  expect(Puppet::Util.uri_to_path(URI.parse('http://foo/bar%20baz'))).to eq('/bar baz')
534
534
  end
535
535
 
536
-
537
536
  [
538
537
  "http://foo/A%DB%BF%E1%9A%A0%F0%A0%9C%8E",
539
538
  "http://foo/A%DB%BF%E1%9A%A0%F0%A0%9C%8E".force_encoding(Encoding::ASCII)
@@ -583,7 +582,15 @@ describe Puppet::Util do
583
582
  end
584
583
  end
585
584
 
586
- describe "safe_posix_fork" do
585
+ describe "safe_posix_fork on Windows and JRuby", if: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
586
+ it "raises not implemented error" do
587
+ expect {
588
+ Puppet::Util.safe_posix_fork
589
+ }.to raise_error(NotImplementedError, /fork/)
590
+ end
591
+ end
592
+
593
+ describe "safe_posix_fork", unless: Puppet::Util::Platform.windows? || Puppet::Util::Platform.jruby? do
587
594
  let(:pid) { 5501 }
588
595
 
589
596
  before :each do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.0.0
4
+ version: 7.5.0
5
5
  platform: x64-mingw32
6
6
  authors:
7
7
  - Puppet Labs
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-11-13 00:00:00.000000000 Z
11
+ date: 2021-03-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: facter
@@ -148,6 +148,20 @@ dependencies:
148
148
  - - "~>"
149
149
  - !ruby/object:Gem::Version
150
150
  version: '1.0'
151
+ - !ruby/object:Gem::Dependency
152
+ name: scanf
153
+ requirement: !ruby/object:Gem::Requirement
154
+ requirements:
155
+ - - "~>"
156
+ - !ruby/object:Gem::Version
157
+ version: '1.0'
158
+ type: :runtime
159
+ prerelease: false
160
+ version_requirements: !ruby/object:Gem::Requirement
161
+ requirements:
162
+ - - "~>"
163
+ - !ruby/object:Gem::Version
164
+ version: '1.0'
151
165
  - !ruby/object:Gem::Dependency
152
166
  name: ffi
153
167
  requirement: !ruby/object:Gem::Requirement
@@ -431,6 +445,9 @@ files:
431
445
  - lib/puppet/feature/ssh.rb
432
446
  - lib/puppet/feature/telnet.rb
433
447
  - lib/puppet/feature/zlib.rb
448
+ - lib/puppet/ffi/posix.rb
449
+ - lib/puppet/ffi/posix/constants.rb
450
+ - lib/puppet/ffi/posix/functions.rb
434
451
  - lib/puppet/ffi/windows.rb
435
452
  - lib/puppet/ffi/windows/api_types.rb
436
453
  - lib/puppet/ffi/windows/constants.rb
@@ -723,6 +740,9 @@ files:
723
740
  - lib/puppet/network/http/api/master.rb
724
741
  - lib/puppet/network/http/api/master/v3.rb
725
742
  - lib/puppet/network/http/api/master/v3/environments.rb
743
+ - lib/puppet/network/http/api/server.rb
744
+ - lib/puppet/network/http/api/server/v3.rb
745
+ - lib/puppet/network/http/api/server/v3/environments.rb
726
746
  - lib/puppet/network/http/connection.rb
727
747
  - lib/puppet/network/http/error.rb
728
748
  - lib/puppet/network/http/handler.rb
@@ -1128,6 +1148,7 @@ files:
1128
1148
  - lib/puppet/scheduler/splay_job.rb
1129
1149
  - lib/puppet/scheduler/timer.rb
1130
1150
  - lib/puppet/settings.rb
1151
+ - lib/puppet/settings/alias_setting.rb
1131
1152
  - lib/puppet/settings/array_setting.rb
1132
1153
  - lib/puppet/settings/autosign_setting.rb
1133
1154
  - lib/puppet/settings/base_setting.rb
@@ -1371,6 +1392,7 @@ files:
1371
1392
  - man/man8/puppet.8
1372
1393
  - spec/fixtures/faulty_face/puppet/face/syntax.rb
1373
1394
  - spec/fixtures/hiera.yaml
1395
+ - spec/fixtures/integration/application/agent/cached_deferred_catalog.json
1374
1396
  - spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb
1375
1397
  - spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb
1376
1398
  - spec/fixtures/integration/node/environment/sitedir/00_a.pp
@@ -1834,10 +1856,8 @@ files:
1834
1856
  - spec/integration/util/windows/user_spec.rb
1835
1857
  - spec/integration/util_spec.rb
1836
1858
  - spec/lib/matchers/containment_matchers.rb
1837
- - spec/lib/matchers/include.rb
1838
1859
  - spec/lib/matchers/include_in_order.rb
1839
1860
  - spec/lib/matchers/include_in_order_spec.rb
1840
- - spec/lib/matchers/include_spec.rb
1841
1861
  - spec/lib/matchers/json.rb
1842
1862
  - spec/lib/matchers/match_tokens2.rb
1843
1863
  - spec/lib/matchers/relationship_graph_matchers.rb
@@ -2162,8 +2182,9 @@ files:
2162
2182
  - spec/unit/network/format_support_spec.rb
2163
2183
  - spec/unit/network/formats_spec.rb
2164
2184
  - spec/unit/network/http/api/indirected_routes_spec.rb
2165
- - spec/unit/network/http/api/master/v3/environments_spec.rb
2166
- - spec/unit/network/http/api/master/v3_spec.rb
2185
+ - spec/unit/network/http/api/master_spec.rb
2186
+ - spec/unit/network/http/api/server/v3/environments_spec.rb
2187
+ - spec/unit/network/http/api/server/v3_spec.rb
2167
2188
  - spec/unit/network/http/api_spec.rb
2168
2189
  - spec/unit/network/http/connection_spec.rb
2169
2190
  - spec/unit/network/http/error_spec.rb
@@ -2226,6 +2247,7 @@ files:
2226
2247
  - spec/unit/pops/evaluator/collections_ops_spec.rb
2227
2248
  - spec/unit/pops/evaluator/comparison_ops_spec.rb
2228
2249
  - spec/unit/pops/evaluator/conditionals_spec.rb
2250
+ - spec/unit/pops/evaluator/deferred_resolver_spec.rb
2229
2251
  - spec/unit/pops/evaluator/evaluating_parser_spec.rb
2230
2252
  - spec/unit/pops/evaluator/evaluator_rspec_helper.rb
2231
2253
  - spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb
@@ -2256,10 +2278,8 @@ files:
2256
2278
  - spec/unit/pops/parser/evaluating_parser_spec.rb
2257
2279
  - spec/unit/pops/parser/lexer2_spec.rb
2258
2280
  - spec/unit/pops/parser/locator_spec.rb
2259
- - spec/unit/pops/parser/parse_application_spec.rb
2260
2281
  - spec/unit/pops/parser/parse_basic_expressions_spec.rb
2261
2282
  - spec/unit/pops/parser/parse_calls_spec.rb
2262
- - spec/unit/pops/parser/parse_capabilities_spec.rb
2263
2283
  - spec/unit/pops/parser/parse_conditionals_spec.rb
2264
2284
  - spec/unit/pops/parser/parse_containers_spec.rb
2265
2285
  - spec/unit/pops/parser/parse_functions_spec.rb
@@ -2267,7 +2287,6 @@ files:
2267
2287
  - spec/unit/pops/parser/parse_lambda_spec.rb
2268
2288
  - spec/unit/pops/parser/parse_plan_spec.rb
2269
2289
  - spec/unit/pops/parser/parse_resource_spec.rb
2270
- - spec/unit/pops/parser/parse_site_spec.rb
2271
2290
  - spec/unit/pops/parser/parser_rspec_helper.rb
2272
2291
  - spec/unit/pops/parser/parser_spec.rb
2273
2292
  - spec/unit/pops/parser/parsing_typed_parameters_spec.rb
@@ -2609,6 +2628,7 @@ summary: Puppet, an automated configuration management tool
2609
2628
  test_files:
2610
2629
  - spec/fixtures/faulty_face/puppet/face/syntax.rb
2611
2630
  - spec/fixtures/hiera.yaml
2631
+ - spec/fixtures/integration/application/agent/cached_deferred_catalog.json
2612
2632
  - spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/provider/applytest/applytest.rb
2613
2633
  - spec/fixtures/integration/application/apply/environments/spec/modules/amod/lib/puppet/type/applytest.rb
2614
2634
  - spec/fixtures/integration/node/environment/sitedir/00_a.pp
@@ -3072,10 +3092,8 @@ test_files:
3072
3092
  - spec/integration/util/windows/user_spec.rb
3073
3093
  - spec/integration/util_spec.rb
3074
3094
  - spec/lib/matchers/containment_matchers.rb
3075
- - spec/lib/matchers/include.rb
3076
3095
  - spec/lib/matchers/include_in_order.rb
3077
3096
  - spec/lib/matchers/include_in_order_spec.rb
3078
- - spec/lib/matchers/include_spec.rb
3079
3097
  - spec/lib/matchers/json.rb
3080
3098
  - spec/lib/matchers/match_tokens2.rb
3081
3099
  - spec/lib/matchers/relationship_graph_matchers.rb
@@ -3400,8 +3418,9 @@ test_files:
3400
3418
  - spec/unit/network/format_support_spec.rb
3401
3419
  - spec/unit/network/formats_spec.rb
3402
3420
  - spec/unit/network/http/api/indirected_routes_spec.rb
3403
- - spec/unit/network/http/api/master/v3/environments_spec.rb
3404
- - spec/unit/network/http/api/master/v3_spec.rb
3421
+ - spec/unit/network/http/api/master_spec.rb
3422
+ - spec/unit/network/http/api/server/v3/environments_spec.rb
3423
+ - spec/unit/network/http/api/server/v3_spec.rb
3405
3424
  - spec/unit/network/http/api_spec.rb
3406
3425
  - spec/unit/network/http/connection_spec.rb
3407
3426
  - spec/unit/network/http/error_spec.rb
@@ -3464,6 +3483,7 @@ test_files:
3464
3483
  - spec/unit/pops/evaluator/collections_ops_spec.rb
3465
3484
  - spec/unit/pops/evaluator/comparison_ops_spec.rb
3466
3485
  - spec/unit/pops/evaluator/conditionals_spec.rb
3486
+ - spec/unit/pops/evaluator/deferred_resolver_spec.rb
3467
3487
  - spec/unit/pops/evaluator/evaluating_parser_spec.rb
3468
3488
  - spec/unit/pops/evaluator/evaluator_rspec_helper.rb
3469
3489
  - spec/unit/pops/evaluator/json_strict_literal_evaluator_spec.rb
@@ -3494,10 +3514,8 @@ test_files:
3494
3514
  - spec/unit/pops/parser/evaluating_parser_spec.rb
3495
3515
  - spec/unit/pops/parser/lexer2_spec.rb
3496
3516
  - spec/unit/pops/parser/locator_spec.rb
3497
- - spec/unit/pops/parser/parse_application_spec.rb
3498
3517
  - spec/unit/pops/parser/parse_basic_expressions_spec.rb
3499
3518
  - spec/unit/pops/parser/parse_calls_spec.rb
3500
- - spec/unit/pops/parser/parse_capabilities_spec.rb
3501
3519
  - spec/unit/pops/parser/parse_conditionals_spec.rb
3502
3520
  - spec/unit/pops/parser/parse_containers_spec.rb
3503
3521
  - spec/unit/pops/parser/parse_functions_spec.rb
@@ -3505,7 +3523,6 @@ test_files:
3505
3523
  - spec/unit/pops/parser/parse_lambda_spec.rb
3506
3524
  - spec/unit/pops/parser/parse_plan_spec.rb
3507
3525
  - spec/unit/pops/parser/parse_resource_spec.rb
3508
- - spec/unit/pops/parser/parse_site_spec.rb
3509
3526
  - spec/unit/pops/parser/parser_rspec_helper.rb
3510
3527
  - spec/unit/pops/parser/parser_spec.rb
3511
3528
  - spec/unit/pops/parser/parsing_typed_parameters_spec.rb