summaryrefslogtreecommitdiffstats
path: root/spec/unit
diff options
context:
space:
mode:
authorMichael Kincaid <michael@puppetlabs.com>2011-03-31 16:04:57 -0700
committerAdrien Thebo <adrien.thebo@gmail.com>2011-04-01 18:19:11 -0700
commit3efa9d717572d7a9a2136c50cd863ff9d4c27372 (patch)
tree09becc55e6c945e8008a4d406e36910f24e2f6f3 /spec/unit
parent7c80172fa79105c642f327c59b69f23be2153bb1 (diff)
downloadfacter-3efa9d717572d7a9a2136c50cd863ff9d4c27372.tar.gz
facter-3efa9d717572d7a9a2136c50cd863ff9d4c27372.tar.xz
facter-3efa9d717572d7a9a2136c50cd863ff9d4c27372.zip
(#3856) Add virtualbox detection via lspci (graphics card), dmidecode, and prtdiag for Solaris and corresponding tests. Darwin case is not handled yet.
Diffstat (limited to 'spec/unit')
-rw-r--r--spec/unit/virtual_spec.rb27
1 files changed, 27 insertions, 0 deletions
diff --git a/spec/unit/virtual_spec.rb b/spec/unit/virtual_spec.rb
index 7e50847..ac0a9bb 100644
--- a/spec/unit/virtual_spec.rb
+++ b/spec/unit/virtual_spec.rb
@@ -94,6 +94,12 @@ describe "Virtual fact" do
Facter.fact(:virtual).value.should == "vmware"
end
+ it "should be virtualbox with VirtualBox vendor name from lspci" do
+ Facter.fact(:kernel).stubs(:value).returns("Linux")
+ Facter::Util::Resolution.stubs(:exec).with('lspci').returns("00:02.0 VGA compatible controller: InnoTek Systemberatung GmbH VirtualBox Graphics Adapter")
+ Facter.fact(:virtual).value.should == "virtualbox"
+ end
+
it "should be vmware with VMWare vendor name from dmidecode" do
Facter.fact(:kernel).stubs(:value).returns("Linux")
Facter::Util::Resolution.stubs(:exec).with('lspci').returns(nil)
@@ -108,6 +114,13 @@ describe "Virtual fact" do
Facter.fact(:virtual).value.should == "parallels"
end
+ it "should be virtualbox with VirtualBox vendor name from dmidecode" do
+ Facter.fact(:kernel).stubs(:value).returns("Linux")
+ Facter::Util::Resolution.stubs(:exec).with('lspci').returns(nil)
+ Facter::Util::Resolution.stubs(:exec).with('dmidecode').returns("BIOS Information\nVendor: innotek GmbH\nVersion: VirtualBox\n\nSystem Information\nManufacturer: innotek GmbH\nProduct Name: VirtualBox\nFamily: Virtual Machine")
+ Facter.fact(:virtual).value.should == "virtualbox"
+ end
+
it "should be vmware with VMWare vendor name from prtdiag" do
Facter.fact(:kernel).stubs(:value).returns("Linux")
Facter::Util::Resolution.stubs(:exec).with('lspci').returns(nil)
@@ -123,6 +136,14 @@ describe "Virtual fact" do
Facter::Util::Resolution.stubs(:exec).with('prtdiag').returns("System Configuration: Parallels Virtual Platform")
Facter.fact(:virtual).value.should == "parallels"
end
+
+ it "should be virtualbox with VirtualBox vendor name from prtdiag" do
+ Facter.fact(:kernel).stubs(:value).returns("Linux")
+ 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")
+ Facter.fact(:virtual).value.should == "virtualbox"
+ end
end
end
@@ -152,6 +173,12 @@ describe "is_virtual fact" do
Facter.fact(:is_virtual).value.should == "true"
end
+ it "should be true when running on virtualbox" do
+ Facter.fact(:kernel).stubs(:value).returns("Linux")
+ Facter.fact(:virtual).stubs(:value).returns("virtualbox")
+ Facter.fact(:is_virtual).value.should == "true"
+ end
+
it "should be true when running on openvz" do
Facter.fact(:kernel).stubs(:value).returns("Linux")
Facter.fact(:virtual).stubs(:value).returns("openvzve")