puppet 2.6.0 → 2.6.1

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 (246) hide show
  1. data/CHANGELOG +123 -0
  2. data/conf/redhat/puppet.spec +8 -2
  3. data/conf/solaris/smf/svc-puppetd +1 -1
  4. data/conf/solaris/smf/svc-puppetmasterd +1 -1
  5. data/conf/suse/client.init +4 -4
  6. data/conf/suse/fileserver.conf +12 -0
  7. data/conf/suse/logrotate +10 -0
  8. data/conf/suse/puppet.conf +25 -0
  9. data/conf/suse/puppet.spec +114 -49
  10. data/conf/suse/ruby-env.patch +17 -0
  11. data/conf/suse/server.init +4 -4
  12. data/ext/logcheck/puppet +23 -23
  13. data/ext/puppet-load.rb +357 -0
  14. data/ext/puppetstoredconfigclean.rb +3 -3
  15. data/ext/rack/files/config.ru +3 -5
  16. data/ext/vim/syntax/puppet.vim +6 -5
  17. data/install.rb +12 -11
  18. data/lib/puppet.rb +1 -1
  19. data/lib/puppet/agent.rb +3 -1
  20. data/lib/puppet/application.rb +2 -3
  21. data/lib/puppet/application/agent.rb +4 -0
  22. data/lib/puppet/application/apply.rb +14 -6
  23. data/lib/puppet/application/describe.rb +1 -1
  24. data/lib/puppet/application/doc.rb +2 -36
  25. data/lib/puppet/application/master.rb +0 -3
  26. data/lib/puppet/application/queue.rb +1 -0
  27. data/lib/puppet/configurer.rb +4 -0
  28. data/lib/puppet/daemon.rb +1 -1
  29. data/lib/puppet/defaults.rb +38 -44
  30. data/lib/puppet/file_serving/indirection_hooks.rb +2 -2
  31. data/lib/puppet/indirector/facts/memory.rb +1 -1
  32. data/lib/puppet/indirector/node/exec.rb +1 -1
  33. data/lib/puppet/indirector/node/ldap.rb +9 -53
  34. data/lib/puppet/indirector/node/memory.rb +1 -1
  35. data/lib/puppet/indirector/yaml.rb +6 -9
  36. data/lib/puppet/network/format_handler.rb +6 -0
  37. data/lib/puppet/network/formats.rb +4 -4
  38. data/lib/puppet/network/http/handler.rb +1 -1
  39. data/lib/puppet/network/http/rack.rb +3 -0
  40. data/lib/puppet/network/http/rack/rest.rb +1 -1
  41. data/lib/puppet/network/rest_authconfig.rb +6 -3
  42. data/lib/puppet/node/environment.rb +15 -5
  43. data/lib/puppet/parameter/value_collection.rb +3 -3
  44. data/lib/puppet/parser/ast/function.rb +0 -1
  45. data/lib/puppet/parser/ast/leaf.rb +1 -1
  46. data/lib/puppet/parser/ast/resource.rb +4 -3
  47. data/lib/puppet/parser/ast/resource_reference.rb +9 -2
  48. data/lib/puppet/parser/compiler.rb +12 -14
  49. data/lib/puppet/parser/files.rb +1 -1
  50. data/lib/puppet/parser/functions.rb +2 -2
  51. data/lib/puppet/parser/functions/defined.rb +1 -1
  52. data/lib/puppet/parser/functions/extlookup.rb +157 -0
  53. data/lib/puppet/parser/functions/file.rb +1 -1
  54. data/lib/puppet/parser/functions/inline_template.rb +6 -5
  55. data/lib/puppet/parser/functions/md5.rb +5 -0
  56. data/lib/puppet/parser/functions/realize.rb +1 -1
  57. data/lib/puppet/parser/functions/regsubst.rb +19 -19
  58. data/lib/puppet/parser/functions/require.rb +2 -3
  59. data/lib/puppet/parser/functions/split.rb +1 -1
  60. data/lib/puppet/parser/functions/sprintf.rb +1 -1
  61. data/lib/puppet/parser/functions/template.rb +4 -2
  62. data/lib/puppet/parser/functions/versioncmp.rb +12 -12
  63. data/lib/puppet/parser/lexer.rb +13 -14
  64. data/lib/puppet/parser/resource.rb +2 -7
  65. data/lib/puppet/parser/resource/param.rb +1 -1
  66. data/lib/puppet/parser/scope.rb +35 -0
  67. data/lib/puppet/parser/type_loader.rb +1 -1
  68. data/lib/puppet/property.rb +5 -5
  69. data/lib/puppet/provider.rb +3 -3
  70. data/lib/puppet/provider/group/groupadd.rb +1 -1
  71. data/lib/puppet/provider/group/ldap.rb +3 -3
  72. data/lib/puppet/provider/group/pw.rb +1 -1
  73. data/lib/puppet/provider/package/apple.rb +1 -1
  74. data/lib/puppet/provider/package/apt.rb +5 -1
  75. data/lib/puppet/provider/package/aptitude.rb +1 -1
  76. data/lib/puppet/provider/package/aptrpm.rb +1 -1
  77. data/lib/puppet/provider/package/blastwave.rb +1 -1
  78. data/lib/puppet/provider/package/dpkg.rb +2 -2
  79. data/lib/puppet/provider/package/fink.rb +1 -1
  80. data/lib/puppet/provider/package/gem.rb +1 -1
  81. data/lib/puppet/provider/package/openbsd.rb +1 -1
  82. data/lib/puppet/provider/package/rpm.rb +1 -1
  83. data/lib/puppet/provider/package/rug.rb +1 -1
  84. data/lib/puppet/provider/package/sunfreeware.rb +2 -2
  85. data/lib/puppet/provider/package/up2date.rb +1 -1
  86. data/lib/puppet/provider/package/urpmi.rb +1 -1
  87. data/lib/puppet/provider/package/yum.rb +1 -1
  88. data/lib/puppet/provider/package/zypper.rb +1 -1
  89. data/lib/puppet/provider/service/base.rb +1 -1
  90. data/lib/puppet/provider/service/bsd.rb +2 -2
  91. data/lib/puppet/provider/service/debian.rb +2 -2
  92. data/lib/puppet/provider/service/gentoo.rb +2 -2
  93. data/lib/puppet/provider/service/init.rb +2 -2
  94. data/lib/puppet/provider/service/redhat.rb +2 -2
  95. data/lib/puppet/provider/user/ldap.rb +3 -3
  96. data/lib/puppet/provider/user/pw.rb +1 -1
  97. data/lib/puppet/provider/user/user_role_add.rb +1 -1
  98. data/lib/puppet/provider/user/useradd.rb +1 -1
  99. data/lib/puppet/rails/host.rb +1 -0
  100. data/lib/puppet/reference/configuration.rb +37 -34
  101. data/lib/puppet/reference/indirection.rb +3 -4
  102. data/lib/puppet/reference/metaparameter.rb +0 -8
  103. data/lib/puppet/reference/network.rb +6 -4
  104. data/lib/puppet/reference/providers.rb +4 -4
  105. data/lib/puppet/reference/report.rb +5 -6
  106. data/lib/puppet/reference/type.rb +14 -14
  107. data/lib/puppet/reports/http.rb +1 -1
  108. data/lib/puppet/reports/rrdgraph.rb +8 -9
  109. data/lib/puppet/reports/store.rb +2 -2
  110. data/lib/puppet/reports/tagmail.rb +12 -13
  111. data/lib/puppet/resource.rb +15 -115
  112. data/lib/puppet/resource/catalog.rb +1 -1
  113. data/lib/puppet/resource/type.rb +26 -3
  114. data/lib/puppet/resource/type_collection.rb +3 -6
  115. data/lib/puppet/simple_graph.rb +4 -5
  116. data/lib/puppet/transaction/resource_harness.rb +1 -1
  117. data/lib/puppet/type.rb +100 -92
  118. data/lib/puppet/type/augeas.rb +44 -45
  119. data/lib/puppet/type/computer.rb +2 -2
  120. data/lib/puppet/type/cron.rb +29 -29
  121. data/lib/puppet/type/exec.rb +66 -67
  122. data/lib/puppet/type/file.rb +25 -25
  123. data/lib/puppet/type/file/content.rb +7 -1
  124. data/lib/puppet/type/file/ensure.rb +13 -13
  125. data/lib/puppet/type/file/mode.rb +6 -6
  126. data/lib/puppet/type/file/selcontext.rb +5 -5
  127. data/lib/puppet/type/file/source.rb +36 -26
  128. data/lib/puppet/type/filebucket.rb +5 -6
  129. data/lib/puppet/type/group.rb +1 -2
  130. data/lib/puppet/type/host.rb +3 -6
  131. data/lib/puppet/type/k5login.rb +3 -3
  132. data/lib/puppet/type/macauthorization.rb +1 -2
  133. data/lib/puppet/type/mailalias.rb +0 -1
  134. data/lib/puppet/type/maillist.rb +0 -1
  135. data/lib/puppet/type/mcx.rb +9 -9
  136. data/lib/puppet/type/mount.rb +9 -10
  137. data/lib/puppet/type/notify.rb +0 -1
  138. data/lib/puppet/type/package.rb +34 -36
  139. data/lib/puppet/type/resources.rb +1 -5
  140. data/lib/puppet/type/schedule.rb +9 -12
  141. data/lib/puppet/type/selboolean.rb +2 -7
  142. data/lib/puppet/type/selmodule.rb +3 -4
  143. data/lib/puppet/type/service.rb +9 -9
  144. data/lib/puppet/type/ssh_authorized_key.rb +2 -3
  145. data/lib/puppet/type/sshkey.rb +4 -7
  146. data/lib/puppet/type/stage.rb +5 -4
  147. data/lib/puppet/type/tidy.rb +3 -3
  148. data/lib/puppet/type/user.rb +1 -2
  149. data/lib/puppet/type/whit.rb +7 -0
  150. data/lib/puppet/type/yumrepo.rb +16 -3
  151. data/lib/puppet/type/zfs.rb +1 -2
  152. data/lib/puppet/type/zone.rb +28 -28
  153. data/lib/puppet/type/zpool.rb +10 -5
  154. data/lib/puppet/util/autoload.rb +17 -5
  155. data/lib/puppet/util/cacher.rb +15 -10
  156. data/lib/puppet/util/command_line/puppetdoc +5 -5
  157. data/lib/puppet/util/command_line/puppetrun +0 -2
  158. data/lib/puppet/util/command_line/ralsh +13 -13
  159. data/lib/puppet/util/docs.rb +5 -12
  160. data/lib/puppet/util/monkey_patches.rb +5 -2
  161. data/lib/puppet/util/nagios_maker.rb +4 -5
  162. data/lib/puppet/util/provider_features.rb +2 -2
  163. data/lib/puppet/util/rdoc.rb +1 -1
  164. data/lib/puppet/util/rdoc/parser.rb +5 -3
  165. data/lib/puppet/util/reference.rb +3 -52
  166. data/man/man5/puppet.conf.5 +2072 -1526
  167. data/man/man8/filebucket.8 +104 -106
  168. data/man/man8/pi.8 +14 -47
  169. data/man/man8/puppet.8 +8 -9
  170. data/man/man8/puppetca.8 +168 -129
  171. data/man/man8/puppetd.8 +282 -226
  172. data/man/man8/puppetdoc.8 +103 -103
  173. data/man/man8/puppetmasterd.8 +51 -71
  174. data/man/man8/puppetqd.8 +18 -53
  175. data/man/man8/puppetrun.8 +163 -143
  176. data/man/man8/ralsh.8 +77 -114
  177. data/spec/integration/indirector/bucket_file/rest_spec.rb +1 -0
  178. data/spec/integration/indirector/certificate/rest_spec.rb +1 -0
  179. data/spec/integration/indirector/certificate_request/rest_spec.rb +1 -0
  180. data/spec/integration/indirector/certificate_revocation_list/rest_spec.rb +1 -0
  181. data/spec/integration/indirector/report/rest_spec.rb +1 -0
  182. data/spec/integration/indirector/rest_spec.rb +1 -0
  183. data/spec/integration/network/server/webrick_spec.rb +1 -0
  184. data/spec/integration/parser/compiler_spec.rb +43 -0
  185. data/spec/integration/provider/mailalias/aliases_spec.rb +5 -5
  186. data/spec/integration/ssl/certificate_authority_spec.rb +1 -0
  187. data/spec/integration/ssl/certificate_request_spec.rb +1 -0
  188. data/spec/integration/ssl/certificate_revocation_list_spec.rb +1 -0
  189. data/spec/integration/ssl/host_spec.rb +1 -0
  190. data/spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb +0 -1
  191. data/spec/monkey_patches/publicize_methods.rb +11 -0
  192. data/spec/shared_behaviours/file_serving.rb +12 -1
  193. data/spec/spec_helper.rb +6 -25
  194. data/spec/unit/application/apply_spec.rb +22 -4
  195. data/spec/unit/application/cert_spec.rb +1 -1
  196. data/spec/unit/application/doc_spec.rb +0 -19
  197. data/spec/unit/application/master_spec.rb +1 -1
  198. data/spec/unit/application_spec.rb +2 -12
  199. data/spec/unit/indirector/node/ldap_spec.rb +19 -21
  200. data/spec/unit/indirector/yaml_spec.rb +18 -6
  201. data/spec/unit/network/http/rack/rest_spec.rb +3 -3
  202. data/spec/unit/network/http/webrick/rest_spec.rb +1 -0
  203. data/spec/unit/node/environment_spec.rb +32 -3
  204. data/spec/unit/node/facts_spec.rb +13 -2
  205. data/spec/unit/parameter/value_collection_spec.rb +2 -2
  206. data/spec/unit/parser/ast/leaf_spec.rb +4 -0
  207. data/spec/unit/parser/ast/resource_reference_spec.rb +0 -5
  208. data/spec/unit/parser/ast/resource_spec.rb +7 -0
  209. data/spec/unit/parser/compiler_spec.rb +12 -1
  210. data/spec/unit/parser/files_spec.rb +3 -3
  211. data/spec/unit/parser/functions/extlookup_spec.rb +95 -0
  212. data/spec/unit/parser/functions/include_spec.rb +33 -0
  213. data/spec/unit/parser/functions/require_spec.rb +1 -1
  214. data/spec/unit/parser/functions/tag_spec.rb +1 -0
  215. data/spec/unit/parser/lexer_spec.rb +10 -1
  216. data/spec/unit/parser/resource_spec.rb +3 -9
  217. data/spec/unit/parser/type_loader_spec.rb +1 -1
  218. data/spec/unit/provider/ssh_authorized_key/parsed_spec.rb +4 -2
  219. data/spec/unit/rails/resource_spec.rb +1 -1
  220. data/spec/unit/reports/tagmail_spec.rb +2 -2
  221. data/spec/unit/resource/catalog_spec.rb +1 -1
  222. data/spec/unit/resource/type_collection_spec.rb +35 -0
  223. data/spec/unit/resource/type_spec.rb +19 -1
  224. data/spec/unit/resource_spec.rb +0 -36
  225. data/spec/unit/simple_graph_spec.rb +12 -2
  226. data/spec/unit/transaction/resource_harness_spec.rb +1 -1
  227. data/spec/unit/type/file/content_spec.rb +2 -1
  228. data/spec/unit/type/schedule_spec.rb +1 -1
  229. data/spec/unit/type/service_spec.rb +8 -0
  230. data/spec/unit/type/user_spec.rb +5 -0
  231. data/spec/unit/util/backups_spec.rb +0 -1
  232. data/spec/unit/util/rdoc/parser_spec.rb +3 -3
  233. data/spec/unit/util/rdoc_spec.rb +13 -0
  234. data/test/certmgr/support.rb +2 -1
  235. data/test/language/parser.rb +6 -6
  236. data/test/lib/puppettest.rb +3 -23
  237. data/test/lib/puppettest/fakes.rb +1 -1
  238. data/test/lib/puppettest/support/assertions.rb +0 -2
  239. data/test/lib/puppettest/support/utils.rb +25 -20
  240. data/test/ral/manager/attributes.rb +4 -1
  241. metadata +15 -9
  242. data/conf/suse/puppet.suse.patch +0 -16
  243. data/ext/extlookup.rb +0 -181
  244. data/ext/puppetlast +0 -16
  245. data/tasks/rake/tracdocs.rake +0 -8
  246. data/test/lib/mocha_standalone.rb +0 -2
@@ -439,7 +439,8 @@ describe Puppet::SimpleGraph do
439
439
  @middle = Container.new("middle", ["e", "f", @two])
440
440
  @top = Container.new("top", ["g", "h", @middle, @one, @three])
441
441
  @empty = Container.new("empty", [])
442
-
442
+
443
+ @whit = Puppet::Type.type(:whit)
443
444
  @stage = Puppet::Type.type(:stage).new(:name => "foo")
444
445
 
445
446
  @contgraph = @top.to_graph
@@ -499,8 +500,17 @@ describe Puppet::SimpleGraph do
499
500
  end
500
501
  end
501
502
 
503
+ it "should contain a whit-resource to mark the place held by the empty container" do
504
+ @depgraph.vertices.find_all { |v| v.is_a?(@whit) }.length.should == 1
505
+ end
506
+
507
+ it "should replace edges to empty containers with edges to their residual whit" do
508
+ emptys_whit = @depgraph.vertices.find_all { |v| v.is_a?(@whit) }.first
509
+ @depgraph.should be_edge("c", emptys_whit)
510
+ end
511
+
502
512
  it "should no longer contain anything but the non-container objects" do
503
- @depgraph.vertices.find_all { |v| ! v.is_a?(String) }.should be_empty
513
+ @depgraph.vertices.find_all { |v| ! v.is_a?(String) and ! v.is_a?(@whit)}.should be_empty
504
514
  end
505
515
 
506
516
  it "should copy labels" do
@@ -50,7 +50,7 @@ describe Puppet::Transaction::ResourceHarness do
50
50
  end
51
51
 
52
52
  it "should cache and log the current value if no cached values are present" do
53
- @resource.expects(:info)
53
+ @resource.expects(:debug)
54
54
  @harness.copy_audited_parameters(@resource, {:mode => "755"}).should == []
55
55
 
56
56
  @harness.cached(@resource, :mode).should == "755"
@@ -6,6 +6,7 @@ content = Puppet::Type.type(:file).attrclass(:content)
6
6
  describe content do
7
7
  before do
8
8
  @resource = Puppet::Type.type(:file).new :path => "/foo/bar"
9
+ content.stubs(:standalone?).returns(false)
9
10
  end
10
11
 
11
12
  it "should be a subclass of Property" do
@@ -362,7 +363,7 @@ describe content do
362
363
  end
363
364
 
364
365
  it "should send the correct indirection uri" do
365
- @conn.expects(:request_get).with { |uri,headers| uri == "/production/file_content//path/to/source" }.yields(@response)
366
+ @conn.expects(:request_get).with { |uri,headers| uri == "/production/file_content/path/to/source" }.yields(@response)
366
367
  @content.write(@fh)
367
368
  end
368
369
 
@@ -41,7 +41,7 @@ end
41
41
 
42
42
  describe Puppet::Type.type(:schedule) do
43
43
  before :each do
44
- Puppet.settings.stubs(:value).with(:ignoreschedules).returns(false)
44
+ Puppet[:ignoreschedules] = false
45
45
 
46
46
  @schedule = Puppet::Type.type(:schedule).new(:name => "testing")
47
47
  end
@@ -76,10 +76,18 @@ describe Puppet::Type.type(:service), "when validating attribute values" do
76
76
 
77
77
  it "should allow setting the :enable parameter if the provider has the :enableable feature" do
78
78
  Puppet::Type.type(:service).defaultprovider.stubs(:supports_parameter?).returns(true)
79
+ Puppet::Type.type(:service).defaultprovider.expects(:supports_parameter?).with(Puppet::Type.type(:service).attrclass(:enable)).returns(true)
79
80
  svc = Puppet::Type.type(:service).new(:name => "yay", :enable => true)
80
81
  svc.should(:enable).should == :true
81
82
  end
82
83
 
84
+ it "should not allow setting the :enable parameter if the provider is missing the :enableable feature" do
85
+ Puppet::Type.type(:service).defaultprovider.stubs(:supports_parameter?).returns(true)
86
+ Puppet::Type.type(:service).defaultprovider.expects(:supports_parameter?).with(Puppet::Type.type(:service).attrclass(:enable)).returns(false)
87
+ svc = Puppet::Type.type(:service).new(:name => "yay", :enable => true)
88
+ svc.should(:enable).should be_nil
89
+ end
90
+
83
91
  it "should split paths on ':'" do
84
92
  FileTest.stubs(:exist?).returns(true)
85
93
  FileTest.stubs(:directory?).returns(true)
@@ -262,6 +262,11 @@ describe user do
262
262
  end
263
263
 
264
264
  describe "when user has roles" do
265
+ before do
266
+ # To test this feature, we have to support it.
267
+ user.new(:name => "foo").provider.class.stubs(:feature?).returns(true)
268
+ end
269
+
265
270
  it "should autorequire roles" do
266
271
  testuser = Puppet::Type.type(:user).new(:name => "testuser")
267
272
  testuser[:roles] = "testrole"
@@ -3,7 +3,6 @@
3
3
  require File.dirname(__FILE__) + '/../../spec_helper'
4
4
 
5
5
  require 'puppet/util/backups'
6
- include PuppetTest
7
6
 
8
7
  describe Puppet::Util::Backups do
9
8
  before do
@@ -85,8 +85,8 @@ describe RDoc::Parser do
85
85
  @parser.scan_top_level(@topcontainer)
86
86
  end
87
87
 
88
- it "should set the module as global if we parse the global manifests (ie <site> module)" do
89
- @parser.stubs(:split_module).returns("<site>")
88
+ it "should set the module as global if we parse the global manifests (ie __site__ module)" do
89
+ @parser.stubs(:split_module).returns(RDoc::Parser::SITE)
90
90
  @parser.stubs(:parse_elements)
91
91
 
92
92
  @topcontainer.expects(:global=).with(true)
@@ -131,7 +131,7 @@ describe RDoc::Parser do
131
131
  it "should return <site> for manifests not under module path" do
132
132
  File.stubs(:expand_path).returns("/path/to/manifests/init.pp")
133
133
  File.stubs(:identical?).returns(false)
134
- @parser.split_module("/path/to/manifests/init.pp").should == "<site>"
134
+ @parser.split_module("/path/to/manifests/init.pp").should == RDoc::Parser::SITE
135
135
  end
136
136
  end
137
137
 
@@ -75,6 +75,19 @@ describe Puppet::Util::RDoc do
75
75
  Puppet::Util::RDoc.manifestdoc([])
76
76
  end
77
77
 
78
+ it "should use a parser with the correct environment" do
79
+ FileTest.stubs(:file?).returns(true)
80
+ Puppet::Util::RDoc.stubs(:output)
81
+
82
+ parser = stub_everything
83
+ Puppet::Parser::Parser.stubs(:new).with{ |env| env.is_a?(Puppet::Node::Environment) }.returns(parser)
84
+
85
+ parser.expects(:file=).with("file")
86
+ parser.expects(:parse)
87
+
88
+ Puppet::Util::RDoc.manifestdoc(["file"])
89
+ end
90
+
78
91
  it "should puppet parse all given files" do
79
92
  FileTest.stubs(:file?).returns(true)
80
93
  Puppet::Util::RDoc.stubs(:output)
@@ -89,8 +89,9 @@ class TestCertSupport < Test::Unit::TestCase
89
89
  should_path = Puppet[:hostprivkey]
90
90
 
91
91
  dir, file = File.split(should_path)
92
- newfile = file.sub(/^([a-z.]+)\./) { $1.upcase + "."}
92
+ newfile = file.sub(/^([-a-z.0-9]+)\./) { $1.upcase + "."}
93
93
  upper_path = File.join(dir, newfile)
94
+ p upper_path
94
95
  File.open(upper_path, "w") { |f| f.print key.to_s }
95
96
 
96
97
  user = CertUser.new
@@ -97,7 +97,7 @@ class TestParser < Test::Unit::TestCase
97
97
  }
98
98
 
99
99
  4.times { |i|
100
- path = File.join(basedir, subdir, "subfile#{i}")
100
+ path = File.join(basedir, subdir, "subfile#{i}.pp")
101
101
  mkmanifest(path)
102
102
  }
103
103
 
@@ -137,8 +137,8 @@ class TestParser < Test::Unit::TestCase
137
137
  end
138
138
 
139
139
  def test_importedclasses
140
- imported = tempfile
141
- importer = tempfile
140
+ imported = tempfile '.pp'
141
+ importer = tempfile '.pp'
142
142
 
143
143
  made = tempfile
144
144
 
@@ -655,9 +655,9 @@ file { "/tmp/yayness":
655
655
  end
656
656
 
657
657
  def test_multiple_imports_on_one_line
658
- one = tempfile
659
- two = tempfile
660
- base = tempfile
658
+ one = tempfile '.pp'
659
+ two = tempfile '.pp'
660
+ base = tempfile '.pp'
661
661
  File.open(one, "w") { |f| f.puts "$var = value" }
662
662
  File.open(two, "w") { |f| f.puts "$var = value" }
663
663
  File.open(base, "w") { |f| f.puts "import '#{one}', '#{two}'" }
@@ -6,17 +6,6 @@ mainlib = File.expand_path(File.join(File.dirname(__FILE__), '../../lib'))
6
6
  $LOAD_PATH.unshift(mainlib) unless $LOAD_PATH.include?(mainlib)
7
7
 
8
8
  require 'puppet'
9
-
10
- # include any gems in vendor/gems
11
- Dir["#{mainlib}/../vendor/gems/**"].each do |path|
12
- libpath = File.join(path, "lib")
13
- if File.directory?(libpath)
14
- $LOAD_PATH.unshift(libpath)
15
- else
16
- $LOAD_PATH.unshift(path)
17
- end
18
- end
19
-
20
9
  require 'mocha'
21
10
 
22
11
  # Only load the test/unit class if we're not in the spec directory.
@@ -31,16 +20,7 @@ if ARGV.include?("-d")
31
20
  $console = true
32
21
  end
33
22
 
34
- # Some monkey-patching to allow us to test private methods.
35
- class Class
36
- def publicize_methods(*methods)
37
- saved_private_instance_methods = methods.empty? ? self.private_instance_methods : methods
38
-
39
- self.class_eval { public(*saved_private_instance_methods) }
40
- yield
41
- self.class_eval { private(*saved_private_instance_methods) }
42
- end
43
- end
23
+ require File.expand_path(File.join(File.dirname(__FILE__), '../../spec/monkey_patches/publicize_methods'))
44
24
 
45
25
  module PuppetTest
46
26
  # These need to be here for when rspec tests use these
@@ -227,14 +207,14 @@ module PuppetTest
227
207
  #Facter.stubs(:to_hash).returns({})
228
208
  end
229
209
 
230
- def tempfile
210
+ def tempfile(suffix = '')
231
211
  if defined?(@@tmpfilenum)
232
212
  @@tmpfilenum += 1
233
213
  else
234
214
  @@tmpfilenum = 1
235
215
  end
236
216
 
237
- f = File.join(self.tmpdir, "tempfile_" + @@tmpfilenum.to_s)
217
+ f = File.join(self.tmpdir, "tempfile_" + @@tmpfilenum.to_s + suffix)
238
218
  @@tmpfiles ||= []
239
219
  @@tmpfiles << f
240
220
  f
@@ -1,4 +1,4 @@
1
- require 'puppettest'
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '../../../lib/puppet/util'))
2
2
 
3
3
  module PuppetTest
4
4
  # A baseclass for the faketypes.
@@ -1,8 +1,6 @@
1
- require 'puppettest'
2
1
  require 'puppettest/support/utils'
3
2
  require 'fileutils'
4
3
 
5
-
6
4
  module PuppetTest
7
5
  include PuppetTest::Support::Utils
8
6
  def assert_logged(level, regex, msg = nil)
@@ -1,5 +1,3 @@
1
- require 'puppettest'
2
-
3
1
  module PuppetTest::Support
4
2
  end
5
3
  module PuppetTest::Support::Utils
@@ -7,6 +5,30 @@ module PuppetTest::Support::Utils
7
5
  Puppet.warning "#{type}: #{ObjectSpace.each_object(type) { |o| }}"
8
6
  end
9
7
 
8
+ def basedir(*list)
9
+ unless defined? @@basedir
10
+ Dir.chdir(File.dirname(__FILE__)) do
11
+ @@basedir = File.dirname(File.dirname(File.dirname(File.dirname(Dir.getwd))))
12
+ end
13
+ end
14
+ if list.empty?
15
+ @@basedir
16
+ else
17
+ File.join(@@basedir, *list)
18
+ end
19
+ end
20
+
21
+ def fakedata(dir,pat='*')
22
+ glob = "#{basedir}/test/#{dir}/#{pat}"
23
+ files = Dir.glob(glob,File::FNM_PATHNAME)
24
+ raise Puppet::DevError, "No fakedata matching #{glob}" if files.empty?
25
+ files
26
+ end
27
+
28
+ def datadir(*list)
29
+ File.join(basedir, "test", "data", *list)
30
+ end
31
+
10
32
  #
11
33
  # TODO: I think this method needs to be renamed to something a little more
12
34
  # explanatory.
@@ -38,10 +60,6 @@ module PuppetTest::Support::Utils
38
60
  config
39
61
  end
40
62
 
41
- # stop any services that might be hanging around
42
- def stopservices
43
- end
44
-
45
63
  # TODO: rewrite this to use the 'etc' module.
46
64
 
47
65
  # Define a variable that contains the name of my user.
@@ -84,7 +102,7 @@ module PuppetTest::Support::Utils
84
102
  end
85
103
 
86
104
  def fakefile(name)
87
- ary = [PuppetTest.basedir, "test"]
105
+ ary = [basedir, "test"]
88
106
  ary += name.split("/")
89
107
  file = File.join(ary)
90
108
  raise Puppet::DevError, "No fakedata file #{file}" unless FileTest.exists?(file)
@@ -140,16 +158,3 @@ module PuppetTest::Support::Utils
140
158
  config
141
159
  end
142
160
  end
143
-
144
- module PuppetTest
145
- include PuppetTest::Support::Utils
146
-
147
- def fakedata(dir,pat='*')
148
- glob = "#{basedir}/test/#{dir}/#{pat}"
149
- files = Dir.glob(glob,File::FNM_PATHNAME)
150
- raise Puppet::DevError, "No fakedata matching #{glob}" if files.empty?
151
- files
152
- end
153
- module_function :fakedata
154
-
155
- end
@@ -229,7 +229,10 @@ class TestTypeAttributes < Test::Unit::TestCase
229
229
  end
230
230
  yes.each { |a| assert(resource.should(a), "Did not get value for #{a} in #{prov.name}") }
231
231
  no.each do |a|
232
- # These may or may not get passed to the provider. We shouldn't care.
232
+ assert_nil(resource.should(a), "Got value for unsupported %s in %s" % [a, prov.name])
233
+ if Puppet::Util::Log.sendlevel?(:info)
234
+ assert(@logs.find { |l| l.message =~ /not managing attribute #{a}/ and l.level == :info }, "No warning about failed %s" % a)
235
+ end
233
236
  end
234
237
 
235
238
  @logs.clear
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puppet
3
3
  version: !ruby/object:Gem::Version
4
- hash: 23
4
+ hash: 21
5
5
  prerelease: false
6
6
  segments:
7
7
  - 2
8
8
  - 6
9
- - 0
10
- version: 2.6.0
9
+ - 1
10
+ version: 2.6.1
11
11
  platform: ruby
12
12
  authors:
13
13
  - Puppet Labs
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-20 00:00:00 +10:00
18
+ date: 2010-09-14 00:00:00 +10:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -222,6 +222,7 @@ files:
222
222
  - lib/puppet/parser/resource.rb
223
223
  - lib/puppet/parser/templatewrapper.rb
224
224
  - lib/puppet/parser/functions/template.rb
225
+ - lib/puppet/parser/functions/md5.rb
225
226
  - lib/puppet/parser/functions/include.rb
226
227
  - lib/puppet/parser/functions/realize.rb
227
228
  - lib/puppet/parser/functions/versioncmp.rb
@@ -236,6 +237,7 @@ files:
236
237
  - lib/puppet/parser/functions/tagged.rb
237
238
  - lib/puppet/parser/functions/split.rb
238
239
  - lib/puppet/parser/functions/file.rb
240
+ - lib/puppet/parser/functions/extlookup.rb
239
241
  - lib/puppet/parser/functions/fail.rb
240
242
  - lib/puppet/parser/functions/fqdn_rand.rb
241
243
  - lib/puppet/parser/functions/require.rb
@@ -580,6 +582,7 @@ files:
580
582
  - lib/puppet/type/nagios_servicegroup.rb
581
583
  - lib/puppet/type/k5login.rb
582
584
  - lib/puppet/type/nagios_service.rb
585
+ - lib/puppet/type/whit.rb
583
586
  - lib/puppet/type/nagios_contactgroup.rb
584
587
  - lib/puppet/type/nagios_hostgroup.rb
585
588
  - lib/puppet/type/nagios_hostextinfo.rb
@@ -629,9 +632,12 @@ files:
629
632
  - conf/freebsd/puppetmasterd
630
633
  - conf/epm.list
631
634
  - conf/suse/client.init
632
- - conf/suse/puppet.suse.patch
635
+ - conf/suse/fileserver.conf
636
+ - conf/suse/ruby-env.patch
633
637
  - conf/suse/puppet.spec
634
638
  - conf/suse/server.init
639
+ - conf/suse/puppet.conf
640
+ - conf/suse/logrotate
635
641
  - conf/puppet-queue.conf
636
642
  - conf/redhat/client.init
637
643
  - conf/redhat/fileserver.conf
@@ -703,6 +709,7 @@ files:
703
709
  - ext/emacs/puppet-mode.el
704
710
  - ext/dbfix.sql
705
711
  - ext/puppetstoredconfigclean.rb
712
+ - ext/puppet-load.rb
706
713
  - ext/autotest/readme.rst
707
714
  - ext/autotest/Rakefile
708
715
  - ext/autotest/config
@@ -726,8 +733,6 @@ files:
726
733
  - ext/vim/syntax/puppet.vim
727
734
  - ext/vim/README
728
735
  - ext/yaml_nodes.rb
729
- - ext/extlookup.rb
730
- - ext/puppetlast
731
736
  - tasks/rake/sign.rake
732
737
  - tasks/rake/testbranch.rake
733
738
  - tasks/rake/dailybuild.rake
@@ -737,7 +742,6 @@ files:
737
742
  - tasks/rake/gem.rake
738
743
  - tasks/rake/yard.rake
739
744
  - tasks/rake/git_workflow.rake
740
- - tasks/rake/tracdocs.rake
741
745
  - test/data/reports/tagmail_failers.conf
742
746
  - test/data/reports/1.yaml
743
747
  - test/data/reports/tagmail_passers.conf
@@ -887,7 +891,6 @@ files:
887
891
  - test/test
888
892
  - test/lib/rake/puppet_testtask.rb
889
893
  - test/lib/rake/puppet_test_loader.rb
890
- - test/lib/mocha_standalone.rb
891
894
  - test/lib/puppettest.rb
892
895
  - test/lib/puppettest/filetesting.rb
893
896
  - test/lib/puppettest/runnable_test.rb
@@ -932,6 +935,7 @@ files:
932
935
  - test/util/log.rb
933
936
  - test/util/fileparsing.rb
934
937
  - spec/fixtures/yaml/test.local.yaml
938
+ - spec/monkey_patches/publicize_methods.rb
935
939
  - spec/monkey_patches/alias_should_to_must.rb
936
940
  - spec/monkey_patches/add_confine_and_runnable_to_rspec_dsl.rb
937
941
  - spec/shared_behaviours/memory_terminus.rb
@@ -1050,11 +1054,13 @@ files:
1050
1054
  - spec/unit/parser/functions/regsubst_spec.rb
1051
1055
  - spec/unit/parser/functions/template_spec.rb
1052
1056
  - spec/unit/parser/functions/fqdn_rand_spec.rb
1057
+ - spec/unit/parser/functions/include_spec.rb
1053
1058
  - spec/unit/parser/functions/sprintf_spec.rb
1054
1059
  - spec/unit/parser/functions/tag_spec.rb
1055
1060
  - spec/unit/parser/functions/versioncmp_spec.rb
1056
1061
  - spec/unit/parser/functions/split_spec.rb
1057
1062
  - spec/unit/parser/functions/generate_spec.rb
1063
+ - spec/unit/parser/functions/extlookup_spec.rb
1058
1064
  - spec/unit/parser/functions/shellquote_spec.rb
1059
1065
  - spec/unit/parser/functions/inline_template_spec.rb
1060
1066
  - spec/unit/parser/functions/realize_spec.rb