Sha256: 8988c9bc405040a1338dbea9fed8e3069449d137ed7fe71150e29956d10075a7

Contents?: true

Size: 747 Bytes

Versions: 804

Compression:

Stored size: 747 Bytes

Contents

require File.join(File.expand_path(File.dirname(__FILE__)), '../../..', 'test_helper.rb')
require 'rbbt/util/concurrency'

class TestConcurrencyThreads < Test::Unit::TestCase
  def test_thread_queue
    q = RbbtThreadQueue.new 10

    res = []

    q.init do |v|
      res << v
    end

    times = 1_000_000
    times.times do |i|
      q.process [i*2]
    end

    q.join
    q.clean

    assert_equal times, res.length
    assert_equal [0, 2, 4], res.sort[0..2]
    
  end

  def test_each
    times = 10000
    elems = (0..times-1).to_a

    TmpFile.with_file do |dir|
      elems.each do |elem|
        Open.write(File.join(dir, elem.to_s), "DONE")
      end

      assert_equal times, Dir.glob(File.join(dir, '*')).length
    end
  end
end

Version data entries

804 entries across 804 versions & 1 rubygems

Version Path
rbbt-util-5.43.0 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.42.0 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.41.1 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.41.0 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.40.5 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.40.4 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.40.3 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.40.0 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.39.0 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.38.1 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.38.0 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.37.16 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.37.15 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.37.14 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.37.13 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.37.12 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.37.11 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.37.10 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.37.9 test/rbbt/util/concurrency/test_threads.rb
rbbt-util-5.37.8 test/rbbt/util/concurrency/test_threads.rb