Sha256: 445a5fe21878a16848bb1000d1bbaf1be8927080d39bd9d74d1387982e4b5bb7
Contents?: true
Size: 1.05 KB
Versions: 3
Compression:
Stored size: 1.05 KB
Contents
require 'test_helper' class Workhorse::PoolTest < WorkhorseTest def test_idle with_pool 5 do |p| assert_equal 5, p.idle 4.times do |_i| p.post do sleep 0.5 end end sleep 0.1 assert_equal 1, p.idle sleep 0.5 assert_equal 5, p.idle end end def test_overflow with_pool 5 do |p| 5.times { p.post { sleep 0.5 } } exception = assert_raises do p.post { sleep 1 } end assert_equal 'All threads are busy.', exception.message end end def test_work with_pool 5 do |p| counter = Concurrent::AtomicFixnum.new(0) 5.times do p.post do counter.increment end end sleep 0.01 assert_equal 5, counter.value 2.times do p.post do counter.increment end end sleep 0.01 assert_equal 7, counter.value end end private def with_pool(size) p = Workhorse::Pool.new(size) begin yield(p) ensure p.shutdown end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
workhorse-0.2.0 | test/workhorse/pool_test.rb |
workhorse-0.1.0 | test/workhorse/pool_test.rb |
workhorse-0.0.3 | test/workhorse/pool_test.rb |