Sha256: 8091943066affaf60576294f2e5cc1d2e35e83e2916a6bcfed1439e1ff47a63d
Contents?: true
Size: 1.05 KB
Versions: 40
Compression:
Stored size: 1.05 KB
Contents
Shindo.tests('Excon thread safety') do tests('thread_safe_sockets configuration') do tests('thread_safe_sockets default').returns(true) do connection = Excon.new('http://foo.com') connection.data[:thread_safe_sockets] end tests('with thread_safe_sockets set false').returns(false) do connection = Excon.new('http://foo.com', :thread_safe_sockets => false) connection.data[:thread_safe_sockets] end end with_rackup('thread_safety.ru') do connection = Excon.new('http://127.0.0.1:9292') long_thread = Thread.new { response = connection.request(:method => 'GET', :path => '/id/1/wait/2') Thread.current[:success] = response.body == '1' } short_thread = Thread.new { response = connection.request(:method => 'GET', :path => '/id/2/wait/1') Thread.current[:success] = response.body == '2' } test('long_thread') do long_thread.join short_thread.join long_thread[:success] end test('short_thread') do short_thread[:success] end end end
Version data entries
40 entries across 38 versions & 4 rubygems