Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP

Comparing changes

Choose two branches to see what's changed or to start a new pull request. If you need to, you can also compare across forks.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also compare across forks.
base fork: chef/ohai
...
head fork: terceiro/ohai
compare: fixes
Checking mergeability… Don't worry, you can still create the pull request.
  • 2 commits
  • 2 files changed
  • 0 commit comments
  • 1 contributor
Commits on Feb 09, 2012
@terceiro terceiro Obtain Ruby plugin test data from system ruby
This fixes the tests for the case where `ruby` is not the same
Ruby interpreter as the one you are running the tests against. For
example, the `ruby` in yout $PATH might be Ruby 1.8, but you are running
the tests under Ruby 1.9 (or vice-versa).
b2b8304
@terceiro terceiro Simplify loading logic in main program
If ohai was installed by Rubygems, it doesn't need to call `require
'rubygems'` because the bin stub created by Rubygems will do that
already.

Also, only add the local lib/ directory to the $LOAD_PATH if ohai is
actually being run from a source checkout.
00a2f12
Showing with 27 additions and 30 deletions.
  1. +3 −16 bin/ohai
  2. +24 −14 spec/ohai/plugins/ruby_spec.rb
View
19 bin/ohai
@@ -19,26 +19,13 @@
# limitations under the License.
#
-
-begin
- require 'rubygems'
-rescue LoadError
- # must be debian! ;)
- missing_rubygems = true
-end
-begin
+if File.exists?(File.expand_path('../../ohai.gemspec', __FILE__))
# if we're in a source code checkout, we want to run the code from that.
- # have to do this *after* rubygems is loaded.
$:.unshift File.expand_path('../../lib', __FILE__)
- require 'ohai/application'
-rescue LoadError
- if missing_rubygems
- STDERR.puts "rubygems previously failed to load - is it installed?"
- end
-
- raise
end
+require 'ohai/application'
+
if RUBY_PLATFORM =~ /mswin|mingw32|windows/
begin
require 'ruby-wmi'
View
38 spec/ohai/plugins/ruby_spec.rb
@@ -18,8 +18,7 @@
require File.expand_path(File.dirname(__FILE__) + '/../../spec_helper.rb')
-
-ruby_bin = File.join(::Config::CONFIG['bindir'], ::Config::CONFIG['ruby_install_name'])
+require 'tempfile'
describe Ohai::System, "plugin ruby" do
@@ -36,23 +35,34 @@
@ruby_ohai_data = @ruby_ohai_data_pristine.dup
end
- {
+ code = <<-EOS
+ ruby_bin = File.join(::RbConfig::CONFIG['bindir'], ::RbConfig::CONFIG['ruby_install_name'])
+ data = {
:platform => RUBY_PLATFORM,
:version => RUBY_VERSION,
:release_date => RUBY_RELEASE_DATE,
- :target => ::Config::CONFIG['target'],
- :target_cpu => ::Config::CONFIG['target_cpu'],
- :target_vendor => ::Config::CONFIG['target_vendor'],
- :target_os => ::Config::CONFIG['target_os'],
- :host => ::Config::CONFIG['host'],
- :host_cpu => ::Config::CONFIG['host_cpu'],
- :host_os => ::Config::CONFIG['host_os'],
- :host_vendor => ::Config::CONFIG['host_vendor'],
- :gems_dir => %x{#{ruby_bin} #{::Config::CONFIG['bindir']}/gem env gemdir}.chomp!,
- :gem_bin => [ ::Gem.default_exec_format % 'gem', 'gem' ].map{|bin| "#{::Config::CONFIG['bindir']}/#{bin}"
+ :target => ::RbConfig::CONFIG['target'],
+ :target_cpu => ::RbConfig::CONFIG['target_cpu'],
+ :target_vendor => ::RbConfig::CONFIG['target_vendor'],
+ :target_os => ::RbConfig::CONFIG['target_os'],
+ :host => ::RbConfig::CONFIG['host'],
+ :host_cpu => ::RbConfig::CONFIG['host_cpu'],
+ :host_os => ::RbConfig::CONFIG['host_os'],
+ :host_vendor => ::RbConfig::CONFIG['host_vendor'],
+ :gems_dir => %x{\#{ruby_bin} \#{::RbConfig::CONFIG['bindir']}/gem env gemdir}.chomp!,
+ :gem_bin => [ ::Gem.default_exec_format % 'gem', 'gem' ].map{|bin| "\#{::RbConfig::CONFIG['bindir']}/\#{bin}"
}.find{|bin| ::File.exists? bin},
:ruby_bin => ruby_bin
- }.each do |attribute, value|
+ }
+ puts data.inspect
+ EOS
+ program = Tempfile.new('ruby')
+ program.write(code)
+ program.close
+ data = eval(`ruby #{program.path}`)
+ program.unlink
+
+ data.each do |attribute, value|
it "should have #{attribute} set" do
@ruby_ohai_data[attribute].should eql(value)
end

No commit comments for this range

Something went wrong with that request. Please try again.