Rakefile in bson-1.1.4 vs Rakefile in bson-1.1.5

- old
+ new

@@ -36,38 +36,51 @@ end end desc "Test the MongoDB Ruby driver." task :test do - puts "\nThis option has changed." - puts "\nTo test the driver with the c-extensions:\nrake test:c\n" - puts "To test the pure ruby driver: \nrake test:ruby" + puts "\nTo test the driver with the C-extensions:\nrake test:c\n\n" + puts "To test the pure ruby driver: \nrake test:ruby\n\n" end namespace :test do - desc "Test the driver with the c extension enabled." + desc "Test the driver with the C extension enabled." task :c do ENV['C_EXT'] = 'TRUE' - Rake::Task['test:unit'].invoke - Rake::Task['test:functional'].invoke - Rake::Task['test:bson'].invoke - Rake::Task['test:pooled_threading'].invoke - Rake::Task['test:drop_databases'].invoke + if ENV['TEST'] + Rake::Task['test:functional'].invoke + else + Rake::Task['test:unit'].invoke + Rake::Task['test:functional'].invoke + Rake::Task['test:bson'].invoke + Rake::Task['test:pooled_threading'].invoke + Rake::Task['test:drop_databases'].invoke + end ENV['C_EXT'] = nil end - desc "Test the driver using pure ruby (no c extension)" + desc "Test the driver using pure ruby (no C extension)" task :ruby do ENV['C_EXT'] = nil - Rake::Task['test:unit'].invoke - Rake::Task['test:functional'].invoke - Rake::Task['test:bson'].invoke - Rake::Task['test:pooled_threading'].invoke - Rake::Task['test:drop_databases'].invoke + if ENV['TEST'] + Rake::Task['test:functional'].invoke + else + Rake::Task['test:unit'].invoke + Rake::Task['test:functional'].invoke + Rake::Task['test:bson'].invoke + Rake::Task['test:pooled_threading'].invoke + Rake::Task['test:drop_databases'].invoke + end end + desc "Run the replica set test suite" + Rake::TestTask.new(:rs) do |t| + t.test_files = FileList['test/replica_sets/*_test.rb'] + t.verbose = true + end + Rake::TestTask.new(:unit) do |t| t.test_files = FileList['test/unit/*_test.rb'] t.verbose = true end @@ -75,59 +88,14 @@ t.test_files = FileList['test/*_test.rb'] t.verbose = true end Rake::TestTask.new(:pooled_threading) do |t| - t.test_files = FileList['test/threading/*.rb'] + t.test_files = FileList['test/threading/*_test.rb'] t.verbose = true end - Rake::TestTask.new(:replica_pair_count) do |t| - t.test_files = FileList['test/replica_pairs/count_test.rb'] - t.verbose = true - end - - Rake::TestTask.new(:replica_pair_insert) do |t| - t.test_files = FileList['test/replica_pairs/insert_test.rb'] - t.verbose = true - end - - Rake::TestTask.new(:pooled_replica_pair_insert) do |t| - t.test_files = FileList['test/replica_pairs/pooled_insert_test.rb'] - t.verbose = true - end - - Rake::TestTask.new(:replica_pair_query) do |t| - t.test_files = FileList['test/replica_pairs/query_test.rb'] - t.verbose = true - end - - Rake::TestTask.new(:replica_set_count) do |t| - t.test_files = FileList['test/replica_sets/count_test.rb'] - t.verbose = true - end - - Rake::TestTask.new(:replica_set_insert) do |t| - t.test_files = FileList['test/replica_sets/insert_test.rb'] - t.verbose = true - end - - Rake::TestTask.new(:pooled_replica_set_insert) do |t| - t.test_files = FileList['test/replica_sets/pooled_insert_test.rb'] - t.verbose = true - end - - Rake::TestTask.new(:replica_set_query) do |t| - t.test_files = FileList['test/replica_sets/query_test.rb'] - t.verbose = true - end - - Rake::TestTask.new(:replica_set_ack) do |t| - t.test_files = FileList['test/replica_sets/replication_ack_test.rb'] - t.verbose = true - end - Rake::TestTask.new(:auto_reconnect) do |t| t.test_files = FileList['test/auxillary/autoreconnect_test.rb'] t.verbose = true end @@ -145,20 +113,21 @@ t.test_files = FileList['test/bson/*_test.rb'] t.verbose = true end task :drop_databases do |t| - puts "Dropping test database..." - require File.join(File.dirname(__FILE__), 'test', 'test_helper') - include Mongo - con = Connection.new(ENV['MONGO_RUBY_DRIVER_HOST'] || 'localhost', - ENV['MONGO_RUBY_DRIVER_PORT'] || Connection::DEFAULT_PORT) - con.drop_database(MONGO_TEST_DB) + puts "Dropping test databases..." + require './lib/mongo' + con = Mongo::Connection.new(ENV['MONGO_RUBY_DRIVER_HOST'] || 'localhost', + ENV['MONGO_RUBY_DRIVER_PORT'] || Mongo::Connection::DEFAULT_PORT) + con.database_names.each do |name| + con.drop_database(name) if name =~ /^ruby-test/ + end end end -desc "Generate documentation" +desc "Generate RDOC documentation" task :rdoc do version = eval(File.read("mongo.gemspec")).version out = File.join('html', version.to_s) FileUtils.rm_rf('html') system "rdoc --main README.md --op #{out} --inline-source --quiet README.md `find lib -name '*.rb'`" @@ -170,10 +139,23 @@ out = File.join('ydoc', Mongo::VERSION) FileUtils.rm_rf('ydoc') system "yardoc lib/**/*.rb lib/mongo/**/*.rb lib/bson/**/*.rb -e yard/yard_ext.rb -p yard/templates -o #{out} --title MongoRuby-#{Mongo::VERSION} --files docs/TUTORIAL.md,docs/GridFS.md,docs/FAQ.md,docs/REPLICA_SETS.md,docs/WRITE_CONCERN.md,docs/HISTORY.md,docs/CREDITS.md,docs/1.0_UPGRADE.md" end +namespace :bamboo do + namespace :test do + task :ruby do + Rake::Task['test:ruby'].invoke + end + + task :c do + Rake::Task['gem:install_extensions'].invoke + Rake::Task['test:c'].invoke + end + end +end + namespace :gem do desc "Install the gem locally" task :install do sh "gem build bson.gemspec" @@ -186,10 +168,9 @@ sh "rm bson-*.gem" end desc "Install the optional c extensions" task :install_extensions do - sh "gem uninstall -x -a -I bson_ext" sh "gem build bson_ext.gemspec" sh "gem install --no-rdoc --no-ri bson_ext-*.gem" sh "rm bson_ext-*.gem" end