aboutsummaryrefslogtreecommitdiff
path: root/test/test_helper.rb
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_helper.rb')
-rw-r--r--test/test_helper.rb32
1 files changed, 31 insertions, 1 deletions
diff --git a/test/test_helper.rb b/test/test_helper.rb
index e761086..94bb2b4 100644
--- a/test/test_helper.rb
+++ b/test/test_helper.rb
@@ -4,16 +4,46 @@ require 'minitest/autorun'
require 'leap_cli'
class MiniTest::Unit::TestCase
+ attr_accessor :ruby_path
# Add global extensions to the test case class here
+ def setup
+ LeapCli::Path.set_platform_path(test_platform_path)
+ LeapCli::Path.set_provider_path(test_provider_path)
+ end
+
def manager
@manager ||= begin
- LeapCli::Path.set_root(File.dirname(__FILE__))
manager = LeapCli::Config::Manager.new
manager.load
manager
end
end
+ def base_path
+ File.expand_path '../..', __FILE__
+ end
+
+ def leap_bin(*args)
+ `#{ruby_path} #{base_path}/bin/leap #{args.join ' '}`
+ end
+
+ def test_platform_path
+ "#{base_path}/test/leap_platform"
+ end
+
+ def test_provider_path
+ "#{base_path}/test/provider"
+ end
+
+ def with_multiple_rubies(&block)
+ ['ruby1.8', 'ruby1.9.1'].each do |ruby|
+ self.ruby_path = `which #{ruby}`.strip
+ next unless ruby_path.chars.any?
+ yield
+ end
+ self.ruby_path = ""
+ end
+
end