Skip to content

Commit 41e294b

Browse files
committed
improve rake test (desciptions)
1 parent d3f4e35 commit 41e294b

File tree

1 file changed

+21
-14
lines changed

1 file changed

+21
-14
lines changed

rakelib/02-test.rake

Lines changed: 21 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,20 @@
11
require File.expand_path('../../test/shared_helper', __FILE__)
22

3+
test_tasks = [ 'test_mysql', 'test_sqlite3', 'test_postgresql_with_hint' ]
34
if defined?(JRUBY_VERSION)
4-
databases = [ :test_mysql, :test_sqlite3, :test_derby, :test_hsqldb, :test_h2 ]
5-
databases << :test_postgres if PostgresHelper.have_postgres?(false)
6-
databases << :test_jdbc ; databases << :test_jndi
7-
task :test do
8-
unless PostgresHelper.have_postgres?
9-
warn "... won't run test_postgres tests"
10-
end
11-
databases.each { |task| Rake::Task[task.to_s].invoke }
5+
test_tasks.push :test_derby, :test_hsqldb, :test_h2
6+
test_tasks.push :test_jndi, :test_jdbc
7+
end
8+
9+
desc "Run \"most\" available test_xxx tasks"
10+
task :test => test_tasks
11+
12+
task 'test_postgresql_with_hint' do
13+
if PostgresHelper.have_postgres?(false)
14+
Rake::Task['test_postgresql'].invoke
15+
else
16+
puts "NOTE: won't run test_postgresql"
1217
end
13-
else
14-
task :test => [ :test_mysql ]
1518
end
1619

1720
def set_test_task_compat_version(task)
@@ -26,14 +29,18 @@ def set_task_description(task, desc)
2629
task = task.name if task.is_a?(Rake::TestTask)
2730
task = Rake::Task[task]
2831
end
29-
# reset the desc set-up by TestTask :
30-
task.instance_variable_set(:@full_comment, nil)
32+
# reset the description set-up by TestTask :
33+
if task.instance_variable_defined? :@full_comment
34+
task.instance_variable_set(:@full_comment, nil)
35+
else
36+
task.instance_variable_get(:@comments).clear
37+
end
3138
task.add_description(desc)
3239
end
3340

3441
task 'test_appraisal_hint' do
3542
next if File.exists?('.disable-appraisal-hint')
36-
unless (ENV['BUNDLE_GEMFILE'] rescue '') =~ /gemfiles\/.*?\.gemfile/
43+
unless (ENV['BUNDLE_GEMFILE'] || '') =~ /gemfiles\/.*?\.gemfile/
3744
appraisals = []; Appraisal::File.each { |file| appraisals << file.name }
3845
puts "HINT: specify AR version with `rake appraisal:{version} test_{adapter}'" +
3946
" where version=(#{appraisals.join('|')}) (`touch .disable-appraisal-hint' to disable)"
@@ -80,8 +87,8 @@ test_task_for :MSSQL, :driver => :jtds, :database_name => 'MS-SQL (SQLServer)'
8087
test_task_for :MySQL, :prereqs => 'db:mysql'
8188
test_task_for :PostgreSQL, :prereqs => 'db:postgresql', :driver => 'postgres'
8289
task :test_postgres => :test_postgresql # alias
83-
task :test_pgsql => :test_postgresql # alias
8490
test_task_for :SQLite3
91+
task :test_sqlite => :test_sqlite3 # alias
8592
test_task_for :Firebird
8693

8794
# ensure driver for these DBs is on your class-path

0 commit comments

Comments
 (0)