summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Turnbull <james@lovedthanlost.net>2011-04-06 02:13:54 +1000
committerJames Turnbull <james@lovedthanlost.net>2011-04-06 02:13:54 +1000
commitcf029c3d59b583afd2ce26ec335c6d5b49b166ba (patch)
tree007583c4515f9d3075076ba46919932005302893
parentfc930d8c26c81075eb35ae728777f190d5af1402 (diff)
parent7f3e89de2d9da14bc7bef33709b79f48434eec6a (diff)
downloadfacter-cf029c3d59b583afd2ce26ec335c6d5b49b166ba.tar.gz
facter-cf029c3d59b583afd2ce26ec335c6d5b49b166ba.tar.xz
facter-cf029c3d59b583afd2ce26ec335c6d5b49b166ba.zip
Merge remote branch 'adrien/tickets/next/2714' into next
* adrien/tickets/next/2714: (#2714) Fixed faulty test (#2714) Added timeout to prtdiag resulution
-rw-r--r--lib/facter/virtual.rb7
-rw-r--r--spec/unit/virtual_spec.rb8
2 files changed, 10 insertions, 5 deletions
diff --git a/lib/facter/virtual.rb b/lib/facter/virtual.rb
index 7c649ba..2801a43 100644
--- a/lib/facter/virtual.rb
+++ b/lib/facter/virtual.rb
@@ -119,8 +119,11 @@ Facter.add("virtual") do
result = "vmware" if pd =~ /VMware/
result = "virtualbox" if pd =~ /VirtualBox/
end
- else
- output = Facter::Util::Resolution.exec('prtdiag')
+ elsif Facter.value(:kernel) == 'SunOS'
+ res = Facter::Util::Resolution.new('prtdiag')
+ res.timeout = 6
+ res.setcode('prtdiag')
+ output = res.value
if not output.nil?
output.each_line do |pd|
result = "parallels" if pd =~ /Parallels/
diff --git a/spec/unit/virtual_spec.rb b/spec/unit/virtual_spec.rb
index ac0a9bb..d169192 100644
--- a/spec/unit/virtual_spec.rb
+++ b/spec/unit/virtual_spec.rb
@@ -121,8 +121,10 @@ describe "Virtual fact" do
Facter.fact(:virtual).value.should == "virtualbox"
end
+ end
+ describe "on Solaris" do
it "should be vmware with VMWare vendor name from prtdiag" do
- Facter.fact(:kernel).stubs(:value).returns("Linux")
+ Facter.fact(:kernel).stubs(:value).returns("SunOS")
Facter::Util::Resolution.stubs(:exec).with('lspci').returns(nil)
Facter::Util::Resolution.stubs(:exec).with('dmidecode').returns(nil)
Facter::Util::Resolution.stubs(:exec).with('prtdiag').returns("System Configuration: VMware, Inc. VMware Virtual Platform")
@@ -130,7 +132,7 @@ describe "Virtual fact" do
end
it "should be parallels with Parallels vendor name from prtdiag" do
- Facter.fact(:kernel).stubs(:value).returns("Linux")
+ Facter.fact(:kernel).stubs(:value).returns("SunOS")
Facter::Util::Resolution.stubs(:exec).with('lspci').returns(nil)
Facter::Util::Resolution.stubs(:exec).with('dmidecode').returns(nil)
Facter::Util::Resolution.stubs(:exec).with('prtdiag').returns("System Configuration: Parallels Virtual Platform")
@@ -138,7 +140,7 @@ describe "Virtual fact" do
end
it "should be virtualbox with VirtualBox vendor name from prtdiag" do
- Facter.fact(:kernel).stubs(:value).returns("Linux")
+ Facter.fact(:kernel).stubs(:value).returns("SunOS")
Facter::Util::Resolution.stubs(:exec).with('lspci').returns(nil)
Facter::Util::Resolution.stubs(:exec).with('dmidecode').returns(nil)
Facter::Util::Resolution.stubs(:exec).with('prtdiag').returns("System Configuration: innotek GmbH VirtualBox")