summaryrefslogtreecommitdiff
path: root/spec/unit/plugins/linux/virtualization_spec.rb
diff options
context:
space:
mode:
Diffstat (limited to 'spec/unit/plugins/linux/virtualization_spec.rb')
-rw-r--r--spec/unit/plugins/linux/virtualization_spec.rb25
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/unit/plugins/linux/virtualization_spec.rb b/spec/unit/plugins/linux/virtualization_spec.rb
index 7ada50cc..71ab95f5 100644
--- a/spec/unit/plugins/linux/virtualization_spec.rb
+++ b/spec/unit/plugins/linux/virtualization_spec.rb
@@ -163,6 +163,31 @@ describe Ohai::System, "Linux virtualization platform" do
expect(plugin[:virtualization][:systems][:kvm]).to eq("guest")
end
+ it "sets kvm guest if /proc/cpuinfo contains nested CPU w/ lscpu and full virt" do
+ expect(plugin).to receive(:file_exist?).with("/proc/cpuinfo").and_return(true)
+ allow(plugin).to receive(:file_read).with("/proc/cpuinfo").and_return("Intel Core Processor (Haswell, no TSX, IBRS)")
+ plugin[:cpu] = {
+ hypervisor_vendor: "KVM",
+ virtualization_type: "full",
+ }
+ plugin.run
+ expect(plugin[:virtualization][:system]).to eq("kvm")
+ expect(plugin[:virtualization][:role]).to eq("guest")
+ expect(plugin[:virtualization][:systems][:kvm]).to eq("guest")
+ end
+
+ it "sets kvm guest if /proc/cpuinfo contains nested CPU w/ lscpu and para virt" do
+ expect(plugin).to receive(:file_exist?).with("/proc/cpuinfo").and_return(true)
+ allow(plugin).to receive(:file_read).with("/proc/cpuinfo").and_return("Intel Core Processor (Haswell, no TSX, IBRS)")
+ plugin[:cpu] = {
+ hypervisor_vendor: "KVM",
+ virtualization_type: "para",
+ }
+ plugin.run
+ expect(plugin[:virtualization][:system]).to eq("kvm")
+ expect(plugin[:virtualization][:role]).to eq("guest")
+ expect(plugin[:virtualization][:systems][:kvm]).to eq("guest")
+ end
it "does not set virtualization if kvm isn't there" do
expect(plugin).to receive(:file_exist?).at_least(:once).and_return(false)
plugin.run