Hello community,

here is the log from the commit of package facter for openSUSE:Factory checked 
in at 2013-05-06 09:03:39
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/facter (Old)
 and      /work/SRC/openSUSE:Factory/.facter.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "facter"

Changes:
--------
--- /work/SRC/openSUSE:Factory/facter/facter.changes    2013-01-07 
15:07:57.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.facter.new/facter.changes       2013-05-06 
09:03:42.000000000 +0200
@@ -1,0 +2,12 @@
+Wed Mar 27 18:06:10 UTC 2013 - bo...@steki.net
+
+- updatet to latest upstream version 1.6.18
+- bugfixes:
+  * Unify ifconfig usage and lookup ifconfig path to fix
+    support for recent net-tools
+  * Add missing require for macaddress
+  * Call correct function on IP in NetMask
+  ** more information at
+     http://projects.puppetlabs.com/projects/facter/wiki#Facter-1618
+
+-------------------------------------------------------------------

Old:
----
  facter-1.6.17.tar.gz

New:
----
  facter-1.6.18.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ facter.spec ++++++
--- /var/tmp/diff_new_pack.Kk5bSA/_old  2013-05-06 09:03:43.000000000 +0200
+++ /var/tmp/diff_new_pack.Kk5bSA/_new  2013-05-06 09:03:43.000000000 +0200
@@ -17,7 +17,7 @@
 
 
 Name:           facter
-Version:        1.6.17
+Version:        1.6.18
 Release:        0
 Summary:        A cross-platform Ruby library for retrieving facts from 
operating systems
 License:        Apache-2.0

++++++ facter-1.6.17.tar.gz -> facter-1.6.18.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/Gemfile new/facter-1.6.18/Gemfile
--- old/facter-1.6.17/Gemfile   2012-09-20 20:54:17.000000000 +0200
+++ new/facter-1.6.18/Gemfile   2013-03-13 19:17:44.000000000 +0100
@@ -1,14 +1,20 @@
-source :rubygems
+source "https://rubygems.org";
 
-gemspec
+group :development do
+  gem 'watchr'
+end
 
-group(:development, :test) do
-  gem "rspec", "~> 2.10.0", :require => false
-  gem "mocha", "~> 0.10.5", :require => false
+group :development, :test do
+  gem 'rake'
+  gem 'facter', ">= 1.0.0", :path => File.expand_path("..", __FILE__), 
:require => false
+  gem 'rspec', "~> 2.11.0", :require => false
+  gem 'mocha', "~> 0.10.5", :require => false
+  gem 'json', "~> 1.7", :require => false
+  gem 'puppetlabs_spec_helper', :require => false
 end
 
 if File.exists? "#{__FILE__}.local"
   eval(File.read("#{__FILE__}.local"), binding)
 end
 
-# vim:filetype=ruby
+# vim:ft=ruby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/Gemfile.lock 
new/facter-1.6.18/Gemfile.lock
--- old/facter-1.6.17/Gemfile.lock      2012-09-20 20:54:17.000000000 +0200
+++ new/facter-1.6.18/Gemfile.lock      1970-01-01 01:00:00.000000000 +0100
@@ -1,28 +0,0 @@
-PATH
-  remote: .
-  specs:
-    facter (1.6.11)
-
-GEM
-  remote: http://rubygems.org/
-  specs:
-    diff-lcs (1.1.3)
-    metaclass (0.0.1)
-    mocha (0.10.5)
-      metaclass (~> 0.0.1)
-    rspec (2.10.0)
-      rspec-core (~> 2.10.0)
-      rspec-expectations (~> 2.10.0)
-      rspec-mocks (~> 2.10.0)
-    rspec-core (2.10.1)
-    rspec-expectations (2.10.0)
-      diff-lcs (~> 1.1.3)
-    rspec-mocks (2.10.1)
-
-PLATFORMS
-  ruby
-
-DEPENDENCIES
-  facter!
-  mocha (~> 0.10.5)
-  rspec (~> 2.10.0)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/README.md new/facter-1.6.18/README.md
--- old/facter-1.6.17/README.md 2012-12-27 19:05:11.000000000 +0100
+++ new/facter-1.6.18/README.md 2013-03-13 19:17:44.000000000 +0100
@@ -11,12 +11,14 @@
 Running Facter
 --------------
 
-Run the `facter` binary on the command for a full list of facts supported on 
your host.
+Run the `facter` binary on the command for a full list of facts supported on
+your host.
 
 Adding your own facts
 ---------------------
 
-See the [Adding Facts](http://docs.puppetlabs.com/guides/custom_facts.html) 
page for details of how to add your own custom facts to Facter.
+See the [Adding Facts](http://docs.puppetlabs.com/guides/custom_facts.html)
+page for details of how to add your own custom facts to Facter.
 
 Further Information
 -------------------
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/ext/build_defaults.yaml 
new/facter-1.6.18/ext/build_defaults.yaml
--- old/facter-1.6.17/ext/build_defaults.yaml   2012-12-27 19:04:04.000000000 
+0100
+++ new/facter-1.6.18/ext/build_defaults.yaml   2013-03-13 19:17:44.000000000 
+0100
@@ -2,15 +2,14 @@
 packaging_url: 'git://github.com/puppetlabs/packaging.git --branch=master'
 packaging_repo: 'packaging'
 default_cow: 'base-squeeze-i386.cow'
-cows: 'base-lucid-i386.cow base-natty-i386.cow base-oneiric-i386.cow 
base-precise-i386.cow base-quantal-i386.cow base-sid-i386.cow 
base-squeeze-i386.cow base-stable-i386.cow base-testing-i386.cow 
base-unstable-i386.cow base-wheezy-i386.cow'
+cows: 'base-lucid-i386.cow base-oneiric-i386.cow base-precise-i386.cow 
base-quantal-i386.cow base-sid-i386.cow base-squeeze-i386.cow 
base-stable-i386.cow base-testing-i386.cow base-unstable-i386.cow 
base-wheezy-i386.cow'
 pbuild_conf: '/etc/pbuilderrc'
 packager: 'puppetlabs'
 gpg_name: 'i...@puppetlabs.com'
 gpg_key: '4BD6EC30'
 sign_tar: FALSE
 # a space separated list of mock configs
-final_mocks: 'pl-5-i386 pl-5-x86_64 pl-6-i386 pl-6-x86_64 fedora-16-i386 
fedora-16-x86_64 fedora-17-i386 fedora-17-x86_64'
-rc_mocks: 'pl-5-i386-dev pl-5-x86_64-dev pl-6-i386-dev pl-6-x86_64-dev 
fedora-16-i386-dev fedora-16-x86_64-dev fedora-17-i386-dev fedora-17-x86_64-dev'
+final_mocks: 'pl-el-5-i386 pl-el-5-x86_64 pl-el-6-i386 pl-el-6-x86_64 
pl-fedora-16-i386 pl-fedora-16-x86_64 pl-fedora-17-i386 pl-fedora-17-x86_64 
pl-fedora-18-i386 pl-fedora-18-x86_64'
 yum_host: 'burji.puppetlabs.com'
 yum_repo_path: '/opt/repository/yum/'
 build_gem: TRUE
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/ext/debian/changelog 
new/facter-1.6.18/ext/debian/changelog
--- old/facter-1.6.17/ext/debian/changelog      2012-12-27 19:53:44.000000000 
+0100
+++ new/facter-1.6.18/ext/debian/changelog      2013-03-13 19:17:49.000000000 
+0100
@@ -1,8 +1,8 @@
-facter (1.6.17-1puppetlabs1) hardy lucid maverick natty oneiric unstable lenny 
sid wheezy lucid squeeze precise; urgency=low
+facter (1.6.18-1puppetlabs1) hardy lucid maverick natty oneiric unstable lenny 
sid wheezy lucid squeeze precise; urgency=low
 
   * Update to version 
 
- -- Puppet Labs Release <i...@puppetlabs.com>  Thu, 27 Dec 2012 10:53:44 -0800
+ -- Puppet Labs Release <i...@puppetlabs.com>  Wed, 13 Mar 2013 11:17:49 -0700
 
 facter (2.0.0-0.1rc4puppetlabs1) hardy lucid maverick natty oneiric unstable 
lenny sid wheezy lucid squeeze precise; urgency=low
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/ext/ips/facter.p5m 
new/facter-1.6.18/ext/ips/facter.p5m
--- old/facter-1.6.17/ext/ips/facter.p5m        2012-12-27 19:53:44.000000000 
+0100
+++ new/facter-1.6.18/ext/ips/facter.p5m        2013-03-13 19:17:49.000000000 
+0100
@@ -1,6 +1,6 @@
-set name=pkg.fmri value=pkg://puppetlabs.com/application/facter@1.6.17,11.4.2-0
+set name=pkg.fmri value=pkg://puppetlabs.com/application/facter@1.6.18,12.0.0-0
 set name=pkg.summary value="Facter, a system inventory tool"
-set name=pkg.human-version value="1.6.17"
+set name=pkg.human-version value="1.6.18"
 set name=pkg.description value="You can prove anything with facts!"
 set name=info.classification 
value="org.opensolaris.category.2008:Applications/System Utilities"
 set name=org.opensolaris.consolidation value="puppet"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/ext/osx/preflight 
new/facter-1.6.18/ext/osx/preflight
--- old/facter-1.6.17/ext/osx/preflight 2012-12-27 19:53:44.000000000 +0100
+++ new/facter-1.6.18/ext/osx/preflight 2013-03-13 19:17:49.000000000 +0100
@@ -16,165 +16,165 @@
 # remove libdir
 
 
-/bin/rm -Rf "${3}/facter/application.rb"
+/bin/rm -Rf "${3}/facter/fqdn.rb"
 
-/bin/rm -Rf "${3}/facter/architecture.rb"
+/bin/rm -Rf "${3}/facter/lsbdistid.rb"
 
-/bin/rm -Rf "${3}/facter/arp.rb"
+/bin/rm -Rf "${3}/facter/version.rb"
 
-/bin/rm -Rf "${3}/facter/augeasversion.rb"
+/bin/rm -Rf "${3}/facter/osfamily.rb"
 
-/bin/rm -Rf "${3}/facter/Cfkey.rb"
+/bin/rm -Rf "${3}/facter/ipaddress6.rb"
 
-/bin/rm -Rf "${3}/facter/domain.rb"
+/bin/rm -Rf "${3}/facter/puppetversion.rb"
 
-/bin/rm -Rf "${3}/facter/ec2.rb"
+/bin/rm -Rf "${3}/facter/rubysitedir.rb"
 
-/bin/rm -Rf "${3}/facter/facterversion.rb"
+/bin/rm -Rf "${3}/facter/iphostnumber.rb"
 
-/bin/rm -Rf "${3}/facter/fqdn.rb"
+/bin/rm -Rf "${3}/facter/util/confine.rb"
 
-/bin/rm -Rf "${3}/facter/hardwareisa.rb"
+/bin/rm -Rf "${3}/facter/util/ip.rb"
 
-/bin/rm -Rf "${3}/facter/hardwaremodel.rb"
+/bin/rm -Rf "${3}/facter/util/vlans.rb"
 
-/bin/rm -Rf "${3}/facter/hostname.rb"
+/bin/rm -Rf "${3}/facter/util/resolution.rb"
 
-/bin/rm -Rf "${3}/facter/id.rb"
+/bin/rm -Rf "${3}/facter/util/ec2.rb"
 
-/bin/rm -Rf "${3}/facter/interfaces.rb"
+/bin/rm -Rf "${3}/facter/util/plist/generator.rb"
 
-/bin/rm -Rf "${3}/facter/ipaddress.rb"
+/bin/rm -Rf "${3}/facter/util/plist/parser.rb"
 
-/bin/rm -Rf "${3}/facter/ipaddress6.rb"
+/bin/rm -Rf "${3}/facter/util/registry.rb"
 
-/bin/rm -Rf "${3}/facter/iphostnumber.rb"
+/bin/rm -Rf "${3}/facter/util/memory.rb"
 
-/bin/rm -Rf "${3}/facter/kernel.rb"
+/bin/rm -Rf "${3}/facter/util/plist.rb"
 
-/bin/rm -Rf "${3}/facter/kernelmajversion.rb"
+/bin/rm -Rf "${3}/facter/util/manufacturer.rb"
 
-/bin/rm -Rf "${3}/facter/kernelrelease.rb"
+/bin/rm -Rf "${3}/facter/util/fact.rb"
 
-/bin/rm -Rf "${3}/facter/kernelversion.rb"
+/bin/rm -Rf "${3}/facter/util/collection.rb"
 
-/bin/rm -Rf "${3}/facter/lsbdistcodename.rb"
+/bin/rm -Rf "${3}/facter/util/netmask.rb"
 
-/bin/rm -Rf "${3}/facter/lsbdistdescription.rb"
+/bin/rm -Rf "${3}/facter/util/config.rb"
 
-/bin/rm -Rf "${3}/facter/lsbdistid.rb"
+/bin/rm -Rf "${3}/facter/util/xendomains.rb"
 
-/bin/rm -Rf "${3}/facter/lsbdistrelease.rb"
+/bin/rm -Rf "${3}/facter/util/processor.rb"
 
-/bin/rm -Rf "${3}/facter/lsbmajdistrelease.rb"
+/bin/rm -Rf "${3}/facter/util/macosx.rb"
 
-/bin/rm -Rf "${3}/facter/lsbrelease.rb"
+/bin/rm -Rf "${3}/facter/util/wmi.rb"
 
-/bin/rm -Rf "${3}/facter/macaddress.rb"
+/bin/rm -Rf "${3}/facter/util/virtual.rb"
 
-/bin/rm -Rf "${3}/facter/macosx.rb"
+/bin/rm -Rf "${3}/facter/util/values.rb"
 
-/bin/rm -Rf "${3}/facter/manufacturer.rb"
+/bin/rm -Rf "${3}/facter/util/uptime.rb"
 
-/bin/rm -Rf "${3}/facter/memory.rb"
+/bin/rm -Rf "${3}/facter/util/monkey_patches.rb"
 
-/bin/rm -Rf "${3}/facter/netmask.rb"
+/bin/rm -Rf "${3}/facter/util/loader.rb"
 
-/bin/rm -Rf "${3}/facter/network.rb"
+/bin/rm -Rf "${3}/facter/util/macaddress.rb"
 
-/bin/rm -Rf "${3}/facter/operatingsystem.rb"
+/bin/rm -Rf "${3}/facter/ps.rb"
 
-/bin/rm -Rf "${3}/facter/operatingsystemrelease.rb"
+/bin/rm -Rf "${3}/facter/vlans.rb"
 
-/bin/rm -Rf "${3}/facter/osfamily.rb"
+/bin/rm -Rf "${3}/facter/lsbdistrelease.rb"
 
-/bin/rm -Rf "${3}/facter/path.rb"
+/bin/rm -Rf "${3}/facter/kernel.rb"
 
-/bin/rm -Rf "${3}/facter/physicalprocessorcount.rb"
+/bin/rm -Rf "${3}/facter/kernelversion.rb"
 
-/bin/rm -Rf "${3}/facter/processor.rb"
+/bin/rm -Rf "${3}/facter/ec2.rb"
 
-/bin/rm -Rf "${3}/facter/ps.rb"
+/bin/rm -Rf "${3}/facter/lsbdistdescription.rb"
 
-/bin/rm -Rf "${3}/facter/puppetversion.rb"
+/bin/rm -Rf "${3}/facter/augeasversion.rb"
 
-/bin/rm -Rf "${3}/facter/rubysitedir.rb"
+/bin/rm -Rf "${3}/facter/ssh.rb"
 
-/bin/rm -Rf "${3}/facter/rubyversion.rb"
+/bin/rm -Rf "${3}/facter/memory.rb"
 
-/bin/rm -Rf "${3}/facter/selinux.rb"
+/bin/rm -Rf "${3}/facter/lsbrelease.rb"
 
-/bin/rm -Rf "${3}/facter/ssh.rb"
+/bin/rm -Rf "${3}/facter/manufacturer.rb"
 
-/bin/rm -Rf "${3}/facter/timezone.rb"
+/bin/rm -Rf "${3}/facter/kernelrelease.rb"
 
-/bin/rm -Rf "${3}/facter/uniqueid.rb"
+/bin/rm -Rf "${3}/facter/hardwaremodel.rb"
 
-/bin/rm -Rf "${3}/facter/uptime.rb"
+/bin/rm -Rf "${3}/facter/facterversion.rb"
 
-/bin/rm -Rf "${3}/facter/uptime_days.rb"
+/bin/rm -Rf "${3}/facter/lsbdistcodename.rb"
 
-/bin/rm -Rf "${3}/facter/uptime_hours.rb"
+/bin/rm -Rf "${3}/facter/architecture.rb"
 
-/bin/rm -Rf "${3}/facter/uptime_seconds.rb"
+/bin/rm -Rf "${3}/facter/netmask.rb"
 
-/bin/rm -Rf "${3}/facter/util/collection.rb"
+/bin/rm -Rf "${3}/facter/id.rb"
 
-/bin/rm -Rf "${3}/facter/util/config.rb"
+/bin/rm -Rf "${3}/facter/xendomains.rb"
 
-/bin/rm -Rf "${3}/facter/util/confine.rb"
+/bin/rm -Rf "${3}/facter/uptime_seconds.rb"
 
-/bin/rm -Rf "${3}/facter/util/ec2.rb"
+/bin/rm -Rf "${3}/facter/hardwareisa.rb"
 
-/bin/rm -Rf "${3}/facter/util/fact.rb"
+/bin/rm -Rf "${3}/facter/interfaces.rb"
 
-/bin/rm -Rf "${3}/facter/util/ip.rb"
+/bin/rm -Rf "${3}/facter/processor.rb"
 
-/bin/rm -Rf "${3}/facter/util/loader.rb"
+/bin/rm -Rf "${3}/facter/lsbmajdistrelease.rb"
 
-/bin/rm -Rf "${3}/facter/util/macaddress.rb"
+/bin/rm -Rf "${3}/facter/macosx.rb"
 
-/bin/rm -Rf "${3}/facter/util/macosx.rb"
+/bin/rm -Rf "${3}/facter/Cfkey.rb"
 
-/bin/rm -Rf "${3}/facter/util/manufacturer.rb"
+/bin/rm -Rf "${3}/facter/network.rb"
 
-/bin/rm -Rf "${3}/facter/util/memory.rb"
+/bin/rm -Rf "${3}/facter/uniqueid.rb"
 
-/bin/rm -Rf "${3}/facter/util/monkey_patches.rb"
+/bin/rm -Rf "${3}/facter/virtual.rb"
 
-/bin/rm -Rf "${3}/facter/util/netmask.rb"
+/bin/rm -Rf "${3}/facter/hostname.rb"
 
-/bin/rm -Rf "${3}/facter/util/plist/generator.rb"
+/bin/rm -Rf "${3}/facter/kernelmajversion.rb"
 
-/bin/rm -Rf "${3}/facter/util/plist/parser.rb"
+/bin/rm -Rf "${3}/facter/domain.rb"
 
-/bin/rm -Rf "${3}/facter/util/plist.rb"
+/bin/rm -Rf "${3}/facter/uptime.rb"
 
-/bin/rm -Rf "${3}/facter/util/processor.rb"
+/bin/rm -Rf "${3}/facter/path.rb"
 
-/bin/rm -Rf "${3}/facter/util/registry.rb"
+/bin/rm -Rf "${3}/facter/uptime_hours.rb"
 
-/bin/rm -Rf "${3}/facter/util/resolution.rb"
+/bin/rm -Rf "${3}/facter/application.rb"
 
-/bin/rm -Rf "${3}/facter/util/uptime.rb"
+/bin/rm -Rf "${3}/facter/operatingsystemrelease.rb"
 
-/bin/rm -Rf "${3}/facter/util/values.rb"
+/bin/rm -Rf "${3}/facter/rubyversion.rb"
 
-/bin/rm -Rf "${3}/facter/util/virtual.rb"
+/bin/rm -Rf "${3}/facter/uptime_days.rb"
 
-/bin/rm -Rf "${3}/facter/util/vlans.rb"
+/bin/rm -Rf "${3}/facter/ipaddress.rb"
 
-/bin/rm -Rf "${3}/facter/util/wmi.rb"
+/bin/rm -Rf "${3}/facter/timezone.rb"
 
-/bin/rm -Rf "${3}/facter/util/xendomains.rb"
+/bin/rm -Rf "${3}/facter/physicalprocessorcount.rb"
 
-/bin/rm -Rf "${3}/facter/version.rb"
+/bin/rm -Rf "${3}/facter/macaddress.rb"
 
-/bin/rm -Rf "${3}/facter/virtual.rb"
+/bin/rm -Rf "${3}/facter/selinux.rb"
 
-/bin/rm -Rf "${3}/facter/vlans.rb"
+/bin/rm -Rf "${3}/facter/arp.rb"
 
-/bin/rm -Rf "${3}/facter/xendomains.rb"
+/bin/rm -Rf "${3}/facter/operatingsystem.rb"
 
 /bin/rm -Rf "${3}/facter.rb"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/ext/osx/prototype.plist 
new/facter-1.6.18/ext/osx/prototype.plist
--- old/facter-1.6.17/ext/osx/prototype.plist   2012-12-27 19:53:44.000000000 
+0100
+++ new/facter-1.6.18/ext/osx/prototype.plist   2013-03-13 19:17:49.000000000 
+0100
@@ -5,7 +5,7 @@
        <key>CFBundleIdentifier</key>
        <string></string>
        <key>CFBundleShortVersionString</key>
-       <string>1.6.17</string>
+       <string>1.6.18</string>
        <key>IFMajorVersion</key>
        <integer></integer>
        <key>IFMinorVersion</key>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/ext/redhat/facter.spec 
new/facter-1.6.18/ext/redhat/facter.spec
--- old/facter-1.6.17/ext/redhat/facter.spec    2012-12-27 19:53:44.000000000 
+0100
+++ new/facter-1.6.18/ext/redhat/facter.spec    2013-03-13 19:17:49.000000000 
+0100
@@ -7,8 +7,8 @@
 %endif
 
 # VERSION is subbed out during rake srpm process
-%global realversion 1.6.17
-%global rpmversion 1.6.17
+%global realversion 1.6.18
+%global rpmversion 1.6.18
 
 Summary:        Ruby module for collecting simple facts about a host operating 
system
 Name:           facter
@@ -69,8 +69,8 @@
 
 
 %changelog
-* Thu Dec 27 2012 Puppet Labs Release <i...@puppetlabs.com> -  1:1.6.17-1
-- Build for 1.6.17
+* Wed Mar 13 2013 Puppet Labs Release <i...@puppetlabs.com> -  1:1.6.18-1
+- Build for 1.6.18
 
 * Wed Aug 08 2012 Moses Mendoza <mo...@puppetlabs.com> - 1.6.11-2
 - Use correct ruby libdir for fedora 17 / ruby 1.9
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/lib/facter/application.rb 
new/facter-1.6.18/lib/facter/application.rb
--- old/facter-1.6.17/lib/facter/application.rb 2012-12-27 19:05:11.000000000 
+0100
+++ new/facter-1.6.18/lib/facter/application.rb 2013-03-13 19:17:44.000000000 
+0100
@@ -67,6 +67,11 @@
 
     private
 
+    # Parses the given argument array destructively to return an options hash
+    # (and possibly perform side effects such as changing settings).
+    #
+    # @param [Array<String>] argv command line arguments
+    # @return [Hash] options hash
     def self.parse(argv)
       options = {}
       OptionParser.new do |opts|
@@ -95,7 +100,7 @@
             exit(1)
           end
         end
-      end.parse!
+      end.parse!(argv)
 
       options
     rescue OptionParser::InvalidOption => e
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/lib/facter/ipaddress.rb 
new/facter-1.6.18/lib/facter/ipaddress.rb
--- old/facter-1.6.17/lib/facter/ipaddress.rb   2012-12-27 19:04:04.000000000 
+0100
+++ new/facter-1.6.18/lib/facter/ipaddress.rb   2013-03-13 19:17:44.000000000 
+0100
@@ -28,7 +28,7 @@
   confine :kernel => :linux
   setcode do
     ip = nil
-    if output = Facter::Util::IP.get_ifconfig
+    if output = Facter::Util::IP.exec_ifconfig(["2>/dev/null"])
       regexp = /inet (?:addr:)?([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/
       if match = regexp.match(output)
         match[1] unless /^127/.match(match[1])
@@ -41,7 +41,7 @@
   confine :kernel => %w{FreeBSD OpenBSD Darwin DragonFly}
   setcode do
     ip = nil
-    output = %x{/sbin/ifconfig}
+    output = Facter::Util::IP.exec_ifconfig
 
     output.split(/^\S/).each { |str|
       if str =~ /inet ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/
@@ -61,7 +61,7 @@
   confine :kernel => %w{NetBSD SunOS}
   setcode do
     ip = nil
-    output = %x{/sbin/ifconfig -a}
+    output = Facter::Util::IP.exec_ifconfig(["-a"])
 
     output.split(/^\S/).each { |str|
       if str =~ /inet ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/
@@ -81,7 +81,7 @@
   confine :kernel => %w{AIX}
   setcode do
     ip = nil
-    output = %x{/usr/sbin/ifconfig -a}
+    output = Facter::Util::IP.exec_ifconfig(["-a"])
 
     output.split(/^\S/).each { |str|
       if str =~ /inet ([0-9]+\.[0-9]+\.[0-9]+\.[0-9]+)/
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/lib/facter/ipaddress6.rb 
new/facter-1.6.18/lib/facter/ipaddress6.rb
--- old/facter-1.6.17/lib/facter/ipaddress6.rb  2012-11-22 00:38:47.000000000 
+0100
+++ new/facter-1.6.18/lib/facter/ipaddress6.rb  2013-03-13 19:17:44.000000000 
+0100
@@ -38,7 +38,7 @@
 Facter.add(:ipaddress6) do
   confine :kernel => :linux
   setcode do
-    output = Facter::Util::Resolution.exec('/sbin/ifconfig 2>/dev/null')
+    output = Facter::Util::IP.exec_ifconfig(["2>/dev/null"])
 
     get_address_after_token(output, 'inet6 addr:')
   end
@@ -47,7 +47,7 @@
 Facter.add(:ipaddress6) do
   confine :kernel => %w{SunOS}
   setcode do
-    output = Facter::Util::Resolution.exec('/usr/sbin/ifconfig -a')
+    output = Facter::Util::IP.exec_ifconfig(["-a"])
 
     get_address_after_token(output, 'inet6')
   end
@@ -56,7 +56,7 @@
 Facter.add(:ipaddress6) do
   confine :kernel => %w{Darwin FreeBSD OpenBSD}
   setcode do
-    output = Facter::Util::Resolution.exec('/sbin/ifconfig -a')
+    output = Facter::Util::IP.exec_ifconfig(["-a"])
 
     get_address_after_token(output, 'inet6', true)
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/lib/facter/iphostnumber.rb 
new/facter-1.6.18/lib/facter/iphostnumber.rb
--- old/facter-1.6.17/lib/facter/iphostnumber.rb        2012-11-22 
00:38:47.000000000 +0100
+++ new/facter-1.6.18/lib/facter/iphostnumber.rb        2013-03-13 
19:17:44.000000000 +0100
@@ -19,7 +19,7 @@
   confine :kernel => :darwin, :kernelrelease => "R6"
   setcode do
     ether = nil
-    output = %x{/sbin/ifconfig}
+    output = Facter::Util::IP.exec_ifconfig
 
     output =~ /HWaddr (\w\w:\w\w:\w\w:\w\w:\w\w:\w\w)/
     ether = $1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/lib/facter/macaddress.rb 
new/facter-1.6.18/lib/facter/macaddress.rb
--- old/facter-1.6.17/lib/facter/macaddress.rb  2012-12-27 19:05:12.000000000 
+0100
+++ new/facter-1.6.18/lib/facter/macaddress.rb  2013-03-13 19:17:44.000000000 
+0100
@@ -8,6 +8,7 @@
 #
 
 require 'facter/util/macaddress'
+require 'facter/util/ip'
 
 Facter.add(:macaddress) do
   confine :kernel => 'Linux'
@@ -26,7 +27,8 @@
   confine :kernel => 'Linux'
   setcode do
     ether = []
-    output = Facter::Util::Resolution.exec("/sbin/ifconfig -a 2>/dev/null")
+    output = Facter::Util::IP.exec_ifconfig(["-a","2>/dev/null"])
+
     output.each_line do |s|
       ether.push($1) if s =~ /(?:ether|HWaddr) ((\w{1,2}:){5,}\w{1,2})/
     end
@@ -38,7 +40,7 @@
   confine :kernel => %w{SunOS GNU/kFreeBSD}
   setcode do
     ether = []
-    output = Facter::Util::Resolution.exec("/sbin/ifconfig -a")
+    output = Facter::Util::IP.exec_ifconfig(["-a"])
     output.each_line do |s|
       ether.push($1) if s =~ /(?:ether|HWaddr) ((\w{1,2}:){5,}\w{1,2})/
     end
@@ -62,7 +64,7 @@
   confine :operatingsystem => %w{FreeBSD OpenBSD DragonFly}
   setcode do
     ether = []
-    output = Facter::Util::Resolution.exec("/sbin/ifconfig")
+    output = Facter::Util::IP.exec_ifconfig
     output.each_line do |s|
       if s =~ /(?:ether|lladdr)\s+(\w\w:\w\w:\w\w:\w\w:\w\w:\w\w)/
         ether.push($1)
@@ -82,7 +84,7 @@
   setcode do
     ether = []
     ip = nil
-    output = %x{/usr/sbin/ifconfig -a}
+    output = Facter::Util::IP.exec_ifconfig(["-a"])
     output.each_line do |str|
       if str =~ /([a-z]+\d+): flags=/
         devname = $1
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/lib/facter/util/ip.rb 
new/facter-1.6.18/lib/facter/util/ip.rb
--- old/facter-1.6.17/lib/facter/util/ip.rb     2012-12-27 19:05:12.000000000 
+0100
+++ new/facter-1.6.18/lib/facter/util/ip.rb     2013-03-13 19:17:44.000000000 
+0100
@@ -77,9 +77,9 @@
   def self.get_all_interface_output
     case Facter.value(:kernel)
     when 'Linux', 'OpenBSD', 'NetBSD', 'FreeBSD', 'Darwin', 'GNU/kFreeBSD', 
'DragonFly'
-      output = %x{/sbin/ifconfig -a 2>/dev/null}
+      output = Facter::Util::IP.exec_ifconfig(["-a","2>/dev/null"])
     when 'SunOS'
-      output = %x{/usr/sbin/ifconfig -a}
+      output = Facter::Util::IP.exec_ifconfig(["-a"])
     when 'HP-UX'
       # (#17487)[https://projects.puppetlabs.com/issues/17487]
       # Handle NIC bonding where asterisks and virtual NICs are printed.
@@ -96,14 +96,22 @@
     output
   end
 
+
   ##
-  # get_ifconfig simply delegates to the ifconfig command.
+  # exec_ifconfig uses the ifconfig command
   #
-  # @return [String] the output of `/sbin/ifconfig 2>/dev/null` or nil
+  # @return [String] the output of `ifconfig #{arguments} 2>/dev/null` or nil
+  def self.exec_ifconfig(additional_arguments=[])
+    Facter::Util::Resolution.exec("#{self.get_ifconfig} 
#{additional_arguments.join(' ')}")
+  end
+  ##
+  # get_ifconfig looks up the ifconfig binary
+  #
+  # @return [String] path to the ifconfig binary
   def self.get_ifconfig
-    Facter::Util::Resolution.exec("/sbin/ifconfig 2>/dev/null")
+    common_paths=["/bin/ifconfig","/sbin/ifconfig","/usr/sbin/ifconfig"]
+    common_paths.select{|path| File.executable?(path)}.first
   end
-
   ##
   # hpux_netstat_in is a delegate method that allows us to stub netstat -in
   # without stubbing exec.
@@ -125,7 +133,7 @@
   end
 
   def self.ifconfig_interface(interface)
-    %x{/sbin/ifconfig #{interface} 2>/dev/null}
+    output = Facter::Util::IP.exec_ifconfig([interface,"2>/dev/null"])
   end
 
   def self.get_single_interface_output(interface)
@@ -142,7 +150,7 @@
         output = ifconfig_output
       end
     when 'SunOS'
-      output = %x{/usr/sbin/ifconfig #{interface}}
+      output = Facter::Util::IP.exec_ifconfig([interface])
     when 'HP-UX'
        mac = ""
        ifc = hpux_ifconfig_interface(interface)
@@ -154,7 +162,7 @@
   end
 
   def self.hpux_ifconfig_interface(interface)
-    Facter::Util::Resolution.exec("/usr/sbin/ifconfig #{interface}")
+    Facter::Util::IP.exec_ifconfig([interface])
   end
 
   def self.hpux_lanscan
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/lib/facter/util/netmask.rb 
new/facter-1.6.18/lib/facter/util/netmask.rb
--- old/facter-1.6.17/lib/facter/util/netmask.rb        2012-11-22 
00:38:47.000000000 +0100
+++ new/facter-1.6.18/lib/facter/util/netmask.rb        2013-03-13 
19:17:44.000000000 +0100
@@ -7,25 +7,25 @@
     case Facter.value(:kernel)
     when 'Linux'
       ops = {
-        :ifconfig => '/sbin/ifconfig 2>/dev/null',
+        :ifconfig_opts => ['2>/dev/null'],
         :regex => %r{\s+ inet\saddr: #{Facter.ipaddress} .*? Mask: 
(#{ipregex})}x,
         :munge => nil,
       }
     when 'SunOS'
       ops = {
-        :ifconfig => '/usr/sbin/ifconfig -a',
+        :ifconfig_opts => ['-a'],
         :regex => %r{\s+ inet \s #{Facter.ipaddress} \s netmask \s (\w{8})}x,
         :munge => Proc.new { |mask| mask.scan(/../).collect do |byte| 
byte.to_i(16) end.join('.') }
       }
     when 'FreeBSD','NetBSD','OpenBSD', 'Darwin', 'GNU/kFreeBSD', 'DragonFly'
       ops = {
-        :ifconfig => '/sbin/ifconfig -a',
+        :ifconfig_opts => ['-a'],
         :regex => %r{\s+ inet \s #{Facter.ipaddress} \s netmask \s 0x(\w{8})}x,
         :munge => Proc.new { |mask| mask.scan(/../).collect do |byte| 
byte.to_i(16) end.join('.') }
       }
     end
 
-    %x{#{ops[:ifconfig]}}.split(/\n/).collect do |line|
+    Facter::Util::IP.exec_ifconfig(ops[:ifconfig_opts]).split(/\n/).collect do 
|line|
       matches = line.match(ops[:regex])
       if !matches.nil?
         if ops[:munge].nil?
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/lib/facter/util/virtual.rb 
new/facter-1.6.18/lib/facter/util/virtual.rb
--- old/facter-1.6.17/lib/facter/util/virtual.rb        2012-12-27 
19:05:12.000000000 +0100
+++ new/facter-1.6.18/lib/facter/util/virtual.rb        2013-03-13 
19:17:44.000000000 +0100
@@ -46,7 +46,7 @@
 
   def self.vserver?
     return false unless FileTest.exists?("/proc/self/status")
-    txt = File.read("/proc/self/status")
+    txt = File.open("/proc/self/status", "rb").read
     return true if txt =~ /^(s_context|VxID):[[:blank:]]*[0-9]/
     return false
   end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/lib/facter/version.rb 
new/facter-1.6.18/lib/facter/version.rb
--- old/facter-1.6.17/lib/facter/version.rb     2012-12-27 19:05:12.000000000 
+0100
+++ new/facter-1.6.18/lib/facter/version.rb     2013-03-13 19:17:44.000000000 
+0100
@@ -1,6 +1,6 @@
 module Facter
   if not defined? FACTERVERSION then
-    FACTERVERSION = '1.6.17'
+    FACTERVERSION = '1.6.18'
   end
 
   def self.version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/spec/unit/application_spec.rb 
new/facter-1.6.18/spec/unit/application_spec.rb
--- old/facter-1.6.17/spec/unit/application_spec.rb     1970-01-01 
01:00:00.000000000 +0100
+++ new/facter-1.6.18/spec/unit/application_spec.rb     2013-03-13 
19:17:44.000000000 +0100
@@ -0,0 +1,56 @@
+require 'spec_helper'
+require 'facter/application'
+
+describe Facter::Application do
+  describe '.parse' do
+    it 'returns an empty hash when given no options' do
+      Facter::Application.parse([]).should == {}
+      Facter::Application.parse(['architecture', 'kernel']).should == {}
+    end
+
+    [:yaml, :json, :trace].each do |option_key|
+      it "sets options[:#{option_key}] when given --#{option_key}" do
+        options = Facter::Application.parse(["--#{option_key}"])
+        options[option_key].should be_true
+      end
+    end
+
+    [['-y', :yaml], ['-j', :json]].each do |option, key|
+      it "sets options[:#{key}] when given #{option}" do
+        options = Facter::Application.parse([option])
+        options[key].should be_true
+      end
+    end
+
+    ['-d', '--debug'].each do |option|
+      it "enables debugging when given #{option}" do
+        Facter.debugging(false)
+        Facter::Application.parse([option])
+        Facter.should be_debugging
+        Facter.debugging(false)
+      end
+    end
+
+    ['-t', '--timing'].each do |option|
+      it "enables timing when given #{option}" do
+        Facter.timing(false)
+        Facter::Application.parse([option])
+        Facter.should be_timing
+        Facter.timing(false)
+      end
+    end
+
+    ['-p', '--puppet'].each do |option|
+      it "calls load_puppet when given #{option}" do
+        Facter::Application.expects(:load_puppet)
+        Facter::Application.parse([option])
+      end
+    end
+
+    it 'mutates argv so that non-option arguments are left' do
+      argv = ['-y', '--trace', 'uptime', 'virtual']
+      Facter::Application.parse(argv)
+      argv.should == ['uptime', 'virtual']
+    end
+  end
+end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/spec/unit/ipaddress6_spec.rb 
new/facter-1.6.18/spec/unit/ipaddress6_spec.rb
--- old/facter-1.6.17/spec/unit/ipaddress6_spec.rb      2012-12-27 
19:05:12.000000000 +0100
+++ new/facter-1.6.18/spec/unit/ipaddress6_spec.rb      2013-03-13 
19:17:44.000000000 +0100
@@ -1,6 +1,7 @@
 #! /usr/bin/env ruby
 
 require 'spec_helper'
+require 'facter/util/ip'
 
 def ifconfig_fixture(filename)
   File.read(fixtures('ifconfig', filename))
@@ -17,7 +18,8 @@
 
   it "should return ipaddress6 information for Darwin" do
     Facter::Util::Resolution.stubs(:exec).with('uname -s').returns('Darwin')
-    Facter::Util::Resolution.stubs(:exec).with('/sbin/ifconfig -a').
+    Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig")
+    Facter::Util::IP.stubs(:exec_ifconfig).with(["-a"]).
       returns(ifconfig_fixture('darwin_ifconfig_all_with_multiple_interfaces'))
 
     Facter.value(:ipaddress6).should == "2610:10:20:209:223:32ff:fed5:ee34"
@@ -25,7 +27,8 @@
 
   it "should return ipaddress6 information for Linux" do
     Facter::Util::Resolution.stubs(:exec).with('uname -s').returns('Linux')
-    Facter::Util::Resolution.stubs(:exec).with('/sbin/ifconfig 2>/dev/null').
+    Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig")
+    Facter::Util::IP.stubs(:exec_ifconfig).with(["2>/dev/null"]).
       returns(ifconfig_fixture('linux_ifconfig_all_with_multiple_interfaces'))
 
     Facter.value(:ipaddress6).should == "2610:10:20:209:212:3fff:febe:2201"
@@ -33,7 +36,8 @@
 
   it "should return ipaddress6 information for Solaris" do
     Facter::Util::Resolution.stubs(:exec).with('uname -s').returns('SunOS')
-    Facter::Util::Resolution.stubs(:exec).with('/usr/sbin/ifconfig -a').
+    Facter::Util::IP.stubs(:get_ifconfig).returns("/usr/sbin/ifconfig")
+    Facter::Util::IP.stubs(:exec_ifconfig).with(["-a"]).
       returns(ifconfig_fixture('sunos_ifconfig_all_with_multiple_interfaces'))
 
     Facter.value(:ipaddress6).should == "2610:10:20:209:203:baff:fe27:a7c"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/spec/unit/ipaddress_spec.rb 
new/facter-1.6.18/spec/unit/ipaddress_spec.rb
--- old/facter-1.6.17/spec/unit/ipaddress_spec.rb       2012-12-27 
19:05:12.000000000 +0100
+++ new/facter-1.6.18/spec/unit/ipaddress_spec.rb       2013-03-13 
19:17:44.000000000 +0100
@@ -5,7 +5,7 @@
 
 shared_examples_for "ifconfig output" do |platform, address, fixture|
   it "correctly on #{platform}" do
-    Facter::Util::IP.stubs(:get_ifconfig).returns(my_fixture_read(fixture))
+    Facter::Util::IP.stubs(:exec_ifconfig).returns(my_fixture_read(fixture))
     subject.value.should == address
   end
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/spec/unit/macaddress_spec.rb 
new/facter-1.6.18/spec/unit/macaddress_spec.rb
--- old/facter-1.6.17/spec/unit/macaddress_spec.rb      2012-12-27 
19:05:12.000000000 +0100
+++ new/facter-1.6.18/spec/unit/macaddress_spec.rb      2013-03-13 
19:17:44.000000000 +0100
@@ -1,6 +1,8 @@
 #! /usr/bin/env ruby
 
 require 'spec_helper'
+require 'facter/util/ip'
+
 
 def ifconfig_fixture(filename)
   File.read(fixtures('ifconfig', filename))
@@ -19,17 +21,18 @@
     before :each do
       Facter.fact(:kernel).stubs(:value).returns("Linux")
       Facter.fact(:operatingsystem).stubs(:value).returns("Linux")
+      Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig")
     end
 
     it "should return the macaddress of the first interface" do
-      Facter::Util::Resolution.stubs(:exec).with('/sbin/ifconfig -a 
2>/dev/null').
+      Facter::Util::IP.stubs(:exec_ifconfig).with(["-a","2>/dev/null"]).
         
returns(ifconfig_fixture('linux_ifconfig_all_with_multiple_interfaces'))
 
       Facter.value(:macaddress).should == "00:12:3f:be:22:01"
     end
 
     it "should return nil when no macaddress can be found" do
-      Facter::Util::Resolution.stubs(:exec).with('/sbin/ifconfig -a 
2>/dev/null').
+      Facter::Util::IP.stubs(:exec_ifconfig).with(["-a","2>/dev/null"]).
         returns(ifconfig_fixture('linux_ifconfig_no_mac'))
 
       proc { Facter.value(:macaddress) }.should_not raise_error
@@ -38,7 +41,7 @@
 
     # some interfaces dont have a real mac addresses (like venet inside a 
container)
     it "should return nil when no interface has a real macaddress" do
-      Facter::Util::Resolution.stubs(:exec).with('/sbin/ifconfig -a 
2>/dev/null').
+      Facter::Util::IP.stubs(:exec_ifconfig).with(["-a","2>/dev/null"]).
         returns(ifconfig_fixture('linux_ifconfig_venet'))
 
       proc { Facter.value(:macaddress) }.should_not raise_error
@@ -49,7 +52,8 @@
   describe "when run on BSD" do
     it "should return macaddress information" do
       Facter.fact(:kernel).stubs(:value).returns("FreeBSD")
-      Facter::Util::Resolution.stubs(:exec).with('/sbin/ifconfig').
+      Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig")
+      Facter::Util::IP.stubs(:exec_ifconfig).
         returns(ifconfig_fixture('bsd_ifconfig_all_with_multiple_interfaces'))
 
       Facter.value(:macaddress).should == "00:0b:db:93:09:67"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/spec/unit/util/ip_spec.rb 
new/facter-1.6.18/spec/unit/util/ip_spec.rb
--- old/facter-1.6.17/spec/unit/util/ip_spec.rb 2012-12-27 19:05:12.000000000 
+0100
+++ new/facter-1.6.18/spec/unit/util/ip_spec.rb 2013-03-13 19:17:44.000000000 
+0100
@@ -409,6 +409,45 @@
     end
   end
 
+  describe "exec_ifconfig" do
+    it "uses get_ifconfig" do
+      Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig").once
+
+      Facter::Util::IP.exec_ifconfig
+    end
+    it "support additional arguments" do
+      Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig")
+
+      Facter::Util::Resolution.stubs(:exec).with("/sbin/ifconfig -a")
+
+      Facter::Util::IP.exec_ifconfig(["-a"])
+    end
+    it "joins multiple arguments correctly" do
+      Facter::Util::IP.stubs(:get_ifconfig).returns("/sbin/ifconfig")
+
+      Facter::Util::Resolution.stubs(:exec).with("/sbin/ifconfig -a -e -i -j")
+
+      Facter::Util::IP.exec_ifconfig(["-a","-e","-i","-j"])
+    end
+  end
+  describe "get_ifconfig" do
+    it "assigns /sbin/ifconfig if it is executable" do
+      File.stubs(:executable?).returns(false)
+      File.stubs(:executable?).with("/sbin/ifconfig").returns(true)
+      Facter::Util::IP.get_ifconfig.should eq("/sbin/ifconfig")
+    end
+    it "assigns /usr/sbin/ifconfig if it is executable" do
+      File.stubs(:executable?).returns(false)
+      File.stubs(:executable?).with("/usr/sbin/ifconfig").returns(true)
+      Facter::Util::IP.get_ifconfig.should eq("/usr/sbin/ifconfig")
+    end
+    it "assigns /bin/ifconfig if it is executable" do
+      File.stubs(:executable?).returns(false)
+      File.stubs(:executable?).with("/bin/ifconfig").returns(true)
+      Facter::Util::IP.get_ifconfig.should eq("/bin/ifconfig")
+    end
+  end
+
   context "with bonded ethernet interfaces on Linux" do
     before :each do
       Facter.fact(:kernel).stubs(:value).returns("Linux")
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/spec/unit/util/manufacturer_spec.rb 
new/facter-1.6.18/spec/unit/util/manufacturer_spec.rb
--- old/facter-1.6.17/spec/unit/util/manufacturer_spec.rb       2012-12-27 
19:05:12.000000000 +0100
+++ new/facter-1.6.18/spec/unit/util/manufacturer_spec.rb       2013-03-13 
19:17:44.000000000 +0100
@@ -31,14 +31,13 @@
     Facter.value(:productname).should == "SPARC Enterprise T5220"
   end
 
-  it "should not set manufacturer or productname if prtdiag output is nil" do
+  it "should not set manufacturer if prtdiag output is nil" do
     # Stub kernel so we don't have windows fall through to its own mechanism
     Facter.fact(:kernel).stubs(:value).returns("SunOS")
 
     Facter::Util::Resolution.stubs(:exec).returns(nil)
     Facter::Manufacturer.prtdiag_sparc_find_system_info()
-    Facter.value(:manufacturer).should be_nil
-    Facter.value(:productname).should be_nil
+    Facter.value(:manufacturer).should_not == "Sun Microsystems"
   end
 
   it "should strip white space on dmi output with spaces" do
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/spec/unit/util/virtual_spec.rb 
new/facter-1.6.18/spec/unit/util/virtual_spec.rb
--- old/facter-1.6.17/spec/unit/util/virtual_spec.rb    2012-12-27 
19:05:12.000000000 +0100
+++ new/facter-1.6.18/spec/unit/util/virtual_spec.rb    2013-03-13 
19:17:44.000000000 +0100
@@ -2,6 +2,7 @@
 
 require 'spec_helper'
 require 'facter/util/virtual'
+require 'stringio'
 
 describe Facter::Util::Virtual do
 
@@ -64,19 +65,19 @@
 
   it "should detect vserver when vxid present in process status" do
     FileTest.stubs(:exists?).with("/proc/self/status").returns(true)
-    File.stubs(:read).with("/proc/self/status").returns("VxID: 42\n")
+    File.stubs(:open).with("/proc/self/status", 
"rb").returns(StringIO.new("VxID: 42\n"))
     Facter::Util::Virtual.should be_vserver
   end
 
   it "should detect vserver when s_context present in process status" do
     FileTest.stubs(:exists?).with("/proc/self/status").returns(true)
-    File.stubs(:read).with("/proc/self/status").returns("s_context: 42\n")
+    File.stubs(:open).with("/proc/self/status", 
"rb").returns(StringIO.new("s_context: 42\n"))
     Facter::Util::Virtual.should be_vserver
   end
 
   it "should not detect vserver when vserver flags not present in process 
status" do
     FileTest.stubs(:exists?).with("/proc/self/status").returns(true)
-    File.stubs(:read).with("/proc/self/status").returns("wibble: 42\n")
+    File.stubs(:open).with("/proc/self/status", 
"rb").returns(StringIO.new("wibble: 42\n"))
     Facter::Util::Virtual.should_not be_vserver
   end
 
@@ -94,7 +95,7 @@
       it "should detect vserver as #{expected.inspect}" do
         status = File.read(status_file)
         FileTest.stubs(:exists?).with("/proc/self/status").returns(true)
-        File.stubs(:read).with("/proc/self/status").returns(status)
+        File.stubs(:open).with("/proc/self/status", 
"rb").returns(StringIO.new(status))
         Facter::Util::Virtual.vserver?.should == expected
       end
     end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/facter-1.6.17/spec/unit/virtual_spec.rb 
new/facter-1.6.18/spec/unit/virtual_spec.rb
--- old/facter-1.6.17/spec/unit/virtual_spec.rb 2012-12-27 19:05:12.000000000 
+0100
+++ new/facter-1.6.18/spec/unit/virtual_spec.rb 2013-03-13 19:17:44.000000000 
+0100
@@ -14,6 +14,7 @@
     Facter::Util::Virtual.stubs(:hpvm?).returns(false)
     Facter::Util::Virtual.stubs(:zlinux?).returns(false)
     Facter::Util::Virtual.stubs(:virt_what).returns(nil)
+    Facter::Util::Virtual.stubs(:virtualbox?).returns(false)
   end
 
   it "should be zone on Solaris when a zone" do

-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to