From aedfa2bc06278d7bb3618cd39ea04f8aa8a9d846 Mon Sep 17 00:00:00 2001 From: Luke Kanies Date: Mon, 16 Jun 2008 11:36:21 -0500 Subject: Fixed #1369 - the init service provider now supports HP-UX. I've only added an integration test for the provider, since that's all I've changed; none of the service providers have rspec tests yet. --- CHANGELOG | 3 +++ lib/puppet/provider/service/init.rb | 2 ++ spec/integration/provider/service/init.rb | 32 +++++++++++++++++++++++++++++++ 3 files changed, 37 insertions(+) create mode 100755 spec/integration/provider/service/init.rb diff --git a/CHANGELOG b/CHANGELOG index 8140cfb6c..8286cc63d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,6 @@ +0.24.? + Fixed #1369 - the init service provider now supports HP-UX. + Removed support for the 'node_name' setting in LDAP and external node lookups. diff --git a/lib/puppet/provider/service/init.rb b/lib/puppet/provider/service/init.rb index 3081d0eb8..e95fbd0f9 100755 --- a/lib/puppet/provider/service/init.rb +++ b/lib/puppet/provider/service/init.rb @@ -13,6 +13,8 @@ Puppet::Type.type(:service).provide :init, :parent => :base do case Facter["operatingsystem"].value when "FreeBSD": @defpath = ["/etc/rc.d", "/usr/local/etc/rc.d"] + when "HP-UX": + @defpath = "/sbin/init.d" else @defpath = "/etc/init.d" end diff --git a/spec/integration/provider/service/init.rb b/spec/integration/provider/service/init.rb new file mode 100755 index 000000000..e185247cb --- /dev/null +++ b/spec/integration/provider/service/init.rb @@ -0,0 +1,32 @@ +#!/usr/bin/env ruby + +# Find and load the spec file. +Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") } + +provider = Puppet::Type.type(:service).provider(:init) + +describe provider do + describe "when running on FreeBSD" do + confine "Not running on FreeBSD" => (Facter.value(:operatingsystem) == "FreeBSD") + + it "should set its default path to include /etc/init.d and /usr/local/etc/init.d" do + provider.defpath.should == ["/etc/rc.d", "/usr/local/etc/rc.d"] + end + end + + describe "when running on HP-UX" do + confine "Not running on HP-UX" => (Facter.value(:operatingsystem) == "HP-UX") + + it "should set its default path to include /sbin/init.d" do + provider.defpath.should == "/sbin/init.d" + end + end + + describe "when not running on FreeBSD or HP-UX" do + confine "Running on HP-UX or FreeBSD" => (! %w{HP-UX FreeBSD}.include?(Facter.value(:operatingsystem))) + + it "should set its default path to include /etc/init.d" do + provider.defpath.should == "/etc/init.d" + end + end +end -- cgit