cucumber 1.3.14 → 1.3.15

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/History.md CHANGED
@@ -1,3 +1,8 @@
1
+ ## [v1.3.15](https://github.com/cucumber/cucumber/compare/v1.3.14...v1.3.15)
2
+
3
+ * Fixed intermittent ConcurrencyError seen in JRuby
4
+ ([671](https://github.com/cucumber/cucumber/issues/670) @cbusbey)
5
+
1
6
  ## [v1.3.14](https://github.com/cucumber/cucumber/compare/v1.3.13...v1.3.14)
2
7
 
3
8
  * Rerun formatter includes all scenarios when the background fails
@@ -1,9 +1,10 @@
1
+ require 'thread'
1
2
 
2
3
  module Cucumber
3
4
  module Formatter
4
5
  module Interceptor
5
6
  class Pipe
6
- attr_reader :pipe, :buffer
7
+ attr_reader :pipe
7
8
  def initialize(pipe)
8
9
  @pipe = pipe
9
10
  @buffer = []
@@ -11,8 +12,16 @@ module Cucumber
11
12
  end
12
13
 
13
14
  def write(str)
14
- @buffer << str if @wrapped
15
- return @pipe.write(str)
15
+ lock.synchronize do
16
+ @buffer << str if @wrapped
17
+ return @pipe.write(str)
18
+ end
19
+ end
20
+
21
+ def buffer
22
+ lock.synchronize do
23
+ return @buffer.dup
24
+ end
16
25
  end
17
26
 
18
27
  def unwrap!
@@ -60,6 +69,11 @@ module Cucumber
60
69
  return $stdout
61
70
  end
62
71
  end
72
+
73
+ private
74
+ def lock
75
+ @lock||=Mutex.new
76
+ end
63
77
  end
64
78
  end
65
79
  end
@@ -4,7 +4,7 @@ require 'rbconfig'
4
4
 
5
5
  module Cucumber
6
6
  unless defined?(Cucumber::VERSION)
7
- VERSION = '1.3.14'
7
+ VERSION = '1.3.15'
8
8
  BINARY = File.expand_path(File.dirname(__FILE__) + '/../../bin/cucumber')
9
9
  LIBDIR = File.expand_path(File.dirname(__FILE__) + '/../../lib')
10
10
  JRUBY = defined?(JRUBY_VERSION)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.14
4
+ version: 1.3.15
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2014-03-28 00:00:00.000000000 Z
12
+ date: 2014-05-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: builder
@@ -1017,7 +1017,7 @@ rubyforge_project:
1017
1017
  rubygems_version: 1.8.23.2
1018
1018
  signing_key:
1019
1019
  specification_version: 3
1020
- summary: cucumber-1.3.14
1020
+ summary: cucumber-1.3.15
1021
1021
  test_files:
1022
1022
  - features/assertions.feature
1023
1023
  - features/autoformat_profile_output.feature