diff options
| author | Michael Kincaid <michael@puppetlabs.com> | 2011-03-31 16:04:57 -0700 |
|---|---|---|
| committer | Adrien Thebo <adrien.thebo@gmail.com> | 2011-04-01 18:19:11 -0700 |
| commit | 3efa9d717572d7a9a2136c50cd863ff9d4c27372 (patch) | |
| tree | 09becc55e6c945e8008a4d406e36910f24e2f6f3 /spec/unit | |
| parent | 7c80172fa79105c642f327c59b69f23be2153bb1 (diff) | |
| download | facter-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.rb | 27 |
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") |
