summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2007-10-09 10:04:01 -0500
committerLuke Kanies <luke@madstop.com>2007-10-09 10:04:01 -0500
commit01f132d8b88467dfd314ad355f1cdf9f546945b3 (patch)
tree4e116960f0918b72951c8f0e461ae6c9e5a0fcad
parentd24c1ccc56b912e0ff69f7572dd36912c8c739c2 (diff)
parentec58355ac0c42713bb1c661c94cb13793dd95768 (diff)
downloadpuppet-01f132d8b88467dfd314ad355f1cdf9f546945b3.tar.gz
puppet-01f132d8b88467dfd314ad355f1cdf9f546945b3.tar.xz
puppet-01f132d8b88467dfd314ad355f1cdf9f546945b3.zip
Merge branch 'master' of git://michaelobrien.info/puppet
-rw-r--r--lib/puppet/provider/package/portage.rb4
-rwxr-xr-xlib/puppet/provider/service/debian.rb2
-rwxr-xr-xtest/ral/providers/service/debian.rb71
3 files changed, 74 insertions, 3 deletions
diff --git a/lib/puppet/provider/package/portage.rb b/lib/puppet/provider/package/portage.rb
index 866ec8730..6a42444ef 100644
--- a/lib/puppet/provider/package/portage.rb
+++ b/lib/puppet/provider/package/portage.rb
@@ -55,7 +55,7 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
# The common package name format.
def package_name
- "%s/%s" % [@resource[:category], @resource[:name]]
+ @resource[:category] ? "%s/%s" % [@resource[:category], @resource[:name]] : @resource[:name]
end
def uninstall
@@ -71,7 +71,7 @@ Puppet::Type.type(:package).provide :portage, :parent => Puppet::Provider::Packa
result_fields = [:category, :name, :ensure, :version_available, :slot, :vendor, :description]
search_field = @resource[:category] ? "--category-name" : "--name"
- search_value = @resource[:category] ? package_name : @resource[:name]
+ search_value = package_name
search_format = "<category> <name> [<installedversionsshort>] [<best>] <homepage> <description>"
begin
diff --git a/lib/puppet/provider/service/debian.rb b/lib/puppet/provider/service/debian.rb
index d810eac1b..0ba7e1a79 100755
--- a/lib/puppet/provider/service/debian.rb
+++ b/lib/puppet/provider/service/debian.rb
@@ -17,7 +17,7 @@ Puppet::Type.type(:service).provide :debian, :parent => :init do
# If it's enabled, then it will print output showing removal of
# links.
- if output =~ /etc\/rc[\dS].d|Nothing to do\./
+ if output =~ /etc\/rc[\dS].d|not installed/
return :true
else
return :false
diff --git a/test/ral/providers/service/debian.rb b/test/ral/providers/service/debian.rb
new file mode 100755
index 000000000..f74141f9e
--- /dev/null
+++ b/test/ral/providers/service/debian.rb
@@ -0,0 +1,71 @@
+#!/usr/bin/env ruby
+#
+# Created by David Schmitt on 2007-09-13
+# Copyright (c) 2007. All rights reserved.
+
+$:.unshift("../../../lib") if __FILE__ =~ /\.rb$/
+
+require 'puppettest'
+
+class TestDebianServiceProvider < Test::Unit::TestCase
+ include PuppetTest
+ include Puppet::Util
+
+ def prepare_provider(servicename, output)
+ service = Puppet::Type.type(:service).create(
+ :name => servicename, :provider => :debian
+ )
+
+ provider = service.provider
+ assert(provider, "did not get debian provider")
+
+ metaclass = class << provider
+ self
+ end
+
+ metaclass.instance_eval do
+ define_method :update do |*args|
+ return output
+ end
+ end
+
+ provider
+ end
+
+ def assert_enabled( servicename, output)
+ provider = prepare_provider( servicename, output )
+ assert_equal(:true, provider.enabled?,
+ "Service provider=debian thinks service is disabled, when it isn't")
+ end
+
+ def assert_disabled( servicename, output )
+ provider = prepare_provider( servicename, output )
+ assert_equal(:false, provider.enabled?,
+ "Service provider=debian thinks service is enabled, when it isn't")
+ end
+
+ # Testing #822
+ def test_file_rc
+ # These messages are from file-rc's
+ # update-rc.d -n -f $service remove
+ assert_enabled("test1", "/etc/runlevel.tmp not installed as /etc/runlevel.conf\n")
+ assert_disabled("test2", "Nothing to do.\n")
+ end
+
+ def test_sysv_rc
+ # These messages are from file-rc's
+ # update-rc.d -n -f $service remove
+ assert_enabled("test3", """ Removing any system startup links for /etc/init.d/test3 ...
+ /etc/rc0.d/K11test3
+ /etc/rc1.d/K11test3
+ /etc/rc2.d/S89test3
+ /etc/rc3.d/S89test3
+ /etc/rc4.d/S89test3
+ /etc/rc5.d/S89test3
+ /etc/rc6.d/K11test3
+""")
+ assert_disabled("test4", " Removing any system startup links for /etc/init.d/test4 ...\n")
+ end
+end
+
+# $Id$