diff options
| author | Rein Henrichs <rein@puppetlabs.com> | 2010-10-18 15:45:54 -0700 |
|---|---|---|
| committer | Paul Berry <paul@puppetlabs.com> | 2010-11-09 17:08:43 -0800 |
| commit | f007a9d5719cacf0538c9155cc90de86e69d65df (patch) | |
| tree | 6f23167087541df48f804c8bbb375d66e8653ecd /spec | |
| parent | d4df9634b94e498bdd63089f2cd95d49d4baa7f1 (diff) | |
| download | facter-f007a9d5719cacf0538c9155cc90de86e69d65df.tar.gz facter-f007a9d5719cacf0538c9155cc90de86e69d65df.tar.xz facter-f007a9d5719cacf0538c9155cc90de86e69d65df.zip | |
(#4989) Add xendomains fact
Parses `/usr/sbin/xm list` and returns a comma-separated list of
domains. Based on a patch submitted by Jonas Genannt.
Diffstat (limited to 'spec')
| -rw-r--r-- | spec/unit/data/xendomains | 4 | ||||
| -rw-r--r-- | spec/unit/util/xendomains.rb | 23 |
2 files changed, 27 insertions, 0 deletions
diff --git a/spec/unit/data/xendomains b/spec/unit/data/xendomains new file mode 100644 index 0000000..9b112bc --- /dev/null +++ b/spec/unit/data/xendomains @@ -0,0 +1,4 @@ +Name ID Mem VCPUs State Time(s) +Domain-0 0 656 4 r----- 48140.9 +web01 48 512 2 -b---- 97651.5 +mailserver 53 512 4 -b---- 7536.1 diff --git a/spec/unit/util/xendomains.rb b/spec/unit/util/xendomains.rb new file mode 100644 index 0000000..a0fa345 --- /dev/null +++ b/spec/unit/util/xendomains.rb @@ -0,0 +1,23 @@ +#!/usr/bin/env ruby + +require File.dirname(__FILE__) + '/../../spec_helper' + +require 'facter/util/xendomains' + +describe Facter::Util::Xendomains do + describe ".get_domains" do + it "should return a list of running Xen Domains on Xen0" do + sample_output_file = File.dirname(__FILE__) + '/../data/xendomains' + xen0_domains = File.read(sample_output_file) + Facter::Util::Resolution.stubs(:exec).with('/usr/sbin/xm list').returns(xen0_domains) + Facter::Util::Xendomains.get_domains.should == %{web01,mailserver} + end + + context "when xm list isn't executable" do + it "should be nil" do + Facter::Util::Resolution.stubs(:exec).with('/usr/sbin/xm list').returns(nil) + Facter::Util::Xendomains.get_domains.should == nil + end + end + end +end |
