beanstalk_integration_tests 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.md CHANGED
@@ -1,4 +1,5 @@
1
1
  # BeanstalkIntegrationTests
2
+ [![Gem Version](https://badge.fury.io/rb/beanstalk_integration_tests.png)](http://badge.fury.io/rb/beanstalk_integration_tests)
2
3
 
3
4
  A suite of integration tests to test adherence to the Beanstalkd protocol (https://github.com/kr/beanstalkd/blob/master/doc/protocol.md).
4
5
 
@@ -1,5 +1,4 @@
1
1
  require 'beanstalk_integration_tests/test_helper'
2
- require 'timeout'
3
2
 
4
3
  class ReserveTest < BeanstalkIntegrationTest
5
4
 
@@ -9,7 +9,28 @@ require 'timeout'
9
9
  require 'beaneater'
10
10
 
11
11
 
12
+ if RUBY_PLATFORM == 'java'
13
+ module Timeout
14
+ def timeout(sec, klass=nil)
15
+ return yield(sec) if sec == nil or sec.zero?
16
+ thread = Thread.new { yield(sec) }
17
+
18
+ if thread.join(sec).nil?
19
+ java_thread = JRuby.reference(thread)
20
+ thread.kill
21
+ java_thread.native_thread.interrupt
22
+ thread.join(0.15)
23
+ raise (klass || Error), 'execution expired'
24
+ else
25
+ thread.value
26
+ end
27
+ end
28
+ end
29
+ end
30
+
31
+
12
32
  class BeanstalkIntegrationTest < MiniTest::Should::TestCase
33
+ include Timeout
13
34
 
14
35
  class << self
15
36
 
@@ -26,7 +47,11 @@ class BeanstalkIntegrationTest < MiniTest::Should::TestCase
26
47
  teardown do
27
48
  cleanup_tubes
28
49
  @clients.each do |client|
29
- client.close unless client.connection.nil?
50
+ begin
51
+ client.close unless client.connection.nil?
52
+ rescue Errno::EBADF
53
+ # Timeouts in JRuby trash the client connection
54
+ end
30
55
  end
31
56
  end
32
57
 
@@ -1,3 +1,3 @@
1
1
  module BeanstalkIntegrationTests
2
- VERSION = '0.0.4'
2
+ VERSION = '0.0.5'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: beanstalk_integration_tests
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: