@@ -6,8 +6,8 @@ task :default => :test
6
6
7
7
def separate
8
8
Dir [ "./test/adapters/*_test.rb" ] + [
9
- "./test/message/test_context_test.rb" ,
10
- "./test/assert_advanced_test.rb" ,
9
+ "./test/message/test_context_test.rb" ,
10
+ "./test/assert_advanced_test.rb" ,
11
11
]
12
12
end
13
13
58
58
# end
59
59
60
60
namespace :rvm do
61
+ require 'rvm'
61
62
62
63
# todo: use https://gist.github.com/674648 technique instead
63
- # $: << ENV["HOME"] + "/.rvm/lib"
64
+ # $: << ENV["HOME"] + "/.rvm/lib"
64
65
require 'rvm'
65
66
66
67
@rubies = [ '1.8.6' ,
67
68
'1.8.7' ,
68
- '1.9.1-p378' , # we can't use p429 or p431, see http://bugs.ruby-lang.org/issues/show/3584
69
+ '1.9.1-p378' , # we can't use p429 or p431, see http://bugs.ruby-lang.org/issues/show/3584 and http://bugs.ruby-lang.org/issues/2404
69
70
'1.9.2' ,
70
71
'1.9.3' ,
71
72
'jruby' ]
72
73
@rubies_str = @rubies . join ( ', ' )
73
74
74
75
def rvm
75
- rvm = `which rvm` . strip
76
- raise 'rvm not available; go to http://rvm.beginrescueend.com' unless rvm
77
- rvm
76
+ @rvm_path ||= begin
77
+ rvm = `which rvm` . strip
78
+ raise 'rvm not available; go to http://rvm.beginrescueend.com' unless rvm
79
+ rvm
80
+ end
78
81
end
79
82
80
83
def rvm_run ( cmd , options = { } )
81
84
options = { :bundle_check => true } . merge ( options )
82
85
@rubies . each do |version |
86
+
87
+ available_versions = RVM . list_strings
88
+ version = available_versions . grep ( /#{ version } / ) . last
89
+
83
90
puts "\n == Using #{ version } "
84
91
using = `#{ rvm } #{ version } exec true`
85
92
if using =~ /not installed/
86
93
puts "== #{ using } "
87
94
else
88
95
if options [ :bundle_check ]
89
96
Bundler . with_clean_env do
90
- sys "#{ rvm } #{ version } exec bundle check"
97
+ prefix = "#{ rvm } #{ version } exec"
98
+ sys "#{ prefix } bundle check"
91
99
if $?. exitstatus != 0
92
- puts "try rake rvm:install_bundler or rake rvm:install_gems"
100
+ sys ( "#{ prefix } bundle install" )
101
+ sys ( "#{ prefix } bundle install --gemfile=#{ File . dirname __FILE__ } /test/adapters/rspec1/Gemfile" )
102
+ sys ( "#{ prefix } bundle install --gemfile=#{ File . dirname __FILE__ } /test/adapters/rspec2/Gemfile" )
93
103
end
94
104
end
95
105
end
96
106
97
107
Bundler . with_clean_env do
98
108
sys "#{ rvm } #{ version } exec #{ cmd } "
99
- if $?. exitstatus == 7
100
- puts "try rake rvm:install_gems"
101
- elsif $?. exitstatus == 1
102
- # uh...
103
- end
104
109
end
105
110
end
106
111
end
@@ -120,13 +125,6 @@ namespace :rvm do
120
125
task :install_bundler do
121
126
rvm_run ( "gem install bundler" , :bundle_check => false )
122
127
end
123
-
124
- desc "run 'bundle install' with rvm in each of #{ @rubies_str } "
125
- task :install_gems do
126
- rvm_run ( "bundle install" , :bundle_check => false )
127
- rvm_run ( "bundle install --gemfile=#{ File . dirname __FILE__ } /test/adapters/rspec1/Gemfile" , :bundle_check => false )
128
- rvm_run ( "bundle install --gemfile=#{ File . dirname __FILE__ } /test/adapters/rspec2/Gemfile" , :bundle_check => false )
129
- end
130
128
end
131
129
132
130
def load_gemspec ( gemspec_name )
0 commit comments