Sha256: a032d03235d12414497966ad0df61dbe039a978ce57ce2548b854ecf0bdb6804
Contents?: true
Size: 1.4 KB
Versions: 1
Compression:
Stored size: 1.4 KB
Contents
require 'helper' module Bixby module Test class TestThreadPool < TestCase def setup @pool = Bixby::ThreadPool.new(:idle_timeout => 1) assert_equal 1, @pool.size assert_equal 2, Thread.list.size end def teardown begin puts "tearing down, shutting down pool" @pool.shutdown @pool.join(5) assert_equal 0, @pool.size rescue Exception => ex end end def test_simple_job foo = [] @pool.perform do foo << :bar end @pool.dispose logger.debug "pool disposed, joined" @pool.summary assert_equal 0, @pool.num_jobs, "no jobs left" assert_equal 1, foo.size assert_equal :bar, foo.first end def test_pool_grows_to_max foo = [] 4.times do |i| @pool.perform do foo << "thread #{i}" end end assert_equal 4, @pool.size 10.times do |i| @pool.perform do foo << "thread #{i}" end end assert_equal 8, @pool.size @pool.dispose assert_equal 14, foo.size end def test_pool_shrinks_on_idle foo = [] 2.times do |i| @pool.perform do foo << "thread #{i}" end end assert_equal 2, @pool.size, "pool should grow to 2" while @pool.num_busy > 0 do sleep 0.1 end sleep 1.1 logger.debug "shrank yet?!" assert_equal 1, @pool.size, "pool should shrink to 1" end end # TestThreadPool end # Test end # Bixby
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
bixby-common-0.6.0 | test/util/thread_pool_test.rb |