Sha256: 8790d9dcab790212d079171f299bc6a842749b7df074a9e61f032756fd19c38e

Contents?: true

Size: 780 Bytes

Versions: 6

Compression:

Stored size: 780 Bytes

Contents

$LOAD_PATH[0,0] = File.join(File.dirname(__FILE__), '..', 'lib')
require 'mongo'
require 'test/unit'

class TestThreading < Test::Unit::TestCase

  include Mongo

  @@host = ENV['MONGO_RUBY_DRIVER_HOST'] || 'localhost'
  @@port = ENV['MONGO_RUBY_DRIVER_PORT'] || Connection::DEFAULT_PORT
  @@db = Connection.new(@@host, @@port).db('ruby-mongo-test')
  @@coll = @@db.collection('thread-test-collection')

  def test_threading
    @@coll.clear

    1000.times do |i|
      @@coll.insert("x" => i)
    end

    threads = []

    10.times do |i|
      threads[i] = Thread.new{
        sum = 0
        @@coll.find().each { |document|
          sum += document["x"]
        }
        assert_equal 499500, sum
      }
    end

    10.times do |i|
      threads[i].join
    end
  end
end

Version data entries

6 entries across 6 versions & 3 rubygems

Version Path
mongodb-mongo-0.13 test/test_threading.rb
mongodb-mongo-0.14.1 test/test_threading.rb
mongodb-mongo-0.14 test/test_threading.rb
pahagon-mongo-abd-0.14.1 test/test_threading.rb
mongo-0.15.1 test/test_threading.rb
mongo-0.15 test/test_threading.rb