flatware 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +10 -3
- data/lib/flatware.rb +1 -0
- data/lib/flatware/cucumber.rb +0 -1
- data/lib/flatware/cucumber/formatters/console/summary.rb +0 -1
- data/lib/flatware/job.rb +10 -0
- data/lib/flatware/rspec/summary.rb +3 -17
- data/lib/flatware/socket.rb +12 -17
- data/lib/flatware/version.rb +1 -1
- data/lib/flatware/worker.rb +1 -1
- metadata +4 -4
- data/lib/flatware/cucumber/checkpoint.rb +0 -28
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 05e90320723eb9d0bcfb63d679ab20fefcf959d6
|
4
|
+
data.tar.gz: 246b6941233445b4049b195841a09a312ab688a5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 85b3f22abdd35c210aee7063073ac27b6fe77d8db1ac7488dea8ee62ea11fab16eccbbef10b57d049833ec3b49ba388a9719c003d9241287d0a03b7ebcf2992c
|
7
|
+
data.tar.gz: 62e93337c7304ec941196dfc5d959e0bbc20acdda6dc45ea136b6748bc6cb61809b8e5943f842dfed521dd27b6fd9d6db4a7fc4e40cf2d8881ffb2f6911792a8
|
data/README.md
CHANGED
@@ -25,11 +25,18 @@ sudo apt-get install -qq libzmq3-dev
|
|
25
25
|
|
26
26
|
#### Mac OSX
|
27
27
|
|
28
|
-
|
28
|
+
|
29
|
+
If you're on macOS 10.12, use the custom hashrocket ZMQ homebrew formula.
|
29
30
|
|
30
31
|
```sh
|
31
32
|
brew tap hashrocket/formulas
|
32
33
|
brew install hashrocket/formulas/zeromq
|
34
|
+
```
|
35
|
+
|
36
|
+
The stock homebrew version will likely work on older versions of macOS.
|
37
|
+
|
38
|
+
|
39
|
+
```sh
|
33
40
|
brew install zeromq
|
34
41
|
```
|
35
42
|
|
@@ -38,8 +45,8 @@ brew install zeromq
|
|
38
45
|
Add the runners you need to your Gemfile:
|
39
46
|
|
40
47
|
```ruby
|
41
|
-
gem 'flatware-rspec' # one
|
42
|
-
gem 'flatware-cucumber' # or both
|
48
|
+
gem 'flatware-rspec', require: false # one
|
49
|
+
gem 'flatware-cucumber', require: false # or both
|
43
50
|
```
|
44
51
|
|
45
52
|
then run
|
data/lib/flatware.rb
CHANGED
data/lib/flatware/cucumber.rb
CHANGED
data/lib/flatware/job.rb
ADDED
@@ -1,8 +1,6 @@
|
|
1
1
|
require 'rspec/core/notifications'
|
2
2
|
module Flatware
|
3
3
|
module RSpec
|
4
|
-
Summary = Struct.new(:duration, :examples, :failed_examples, :pending_examples, :load_time)
|
5
|
-
|
6
4
|
class Example
|
7
5
|
attr_reader :location_rerun_argument, :full_description
|
8
6
|
def initialize(rspec_example)
|
@@ -11,21 +9,9 @@ module Flatware
|
|
11
9
|
end
|
12
10
|
end
|
13
11
|
|
14
|
-
class Summary
|
12
|
+
class Summary < ::RSpec::Core::Notifications::SummaryNotification
|
15
13
|
def +(other)
|
16
|
-
self.class.new
|
17
|
-
examples + other.examples,
|
18
|
-
failed_examples + other.failed_examples,
|
19
|
-
pending_examples + other.pending_examples,
|
20
|
-
load_time + other.load_time
|
21
|
-
end
|
22
|
-
|
23
|
-
def fully_formatted
|
24
|
-
::RSpec::Core::Notifications::SummaryNotification.new(duration, examples, failed_examples, pending_examples, load_time).fully_formatted
|
25
|
-
end
|
26
|
-
|
27
|
-
def failure_count
|
28
|
-
failed_examples.size
|
14
|
+
self.class.new(*zip(other).map {|a,b| a + b})
|
29
15
|
end
|
30
16
|
|
31
17
|
def self.from_notification(summary)
|
@@ -33,7 +19,7 @@ module Flatware
|
|
33
19
|
examples.map(&Example.method(:new))
|
34
20
|
end
|
35
21
|
|
36
|
-
new summary.duration, *serialized_examples, summary.
|
22
|
+
new summary.duration, *serialized_examples, *summary.to_a[4..-1]
|
37
23
|
end
|
38
24
|
end
|
39
25
|
end
|
data/lib/flatware/socket.rb
CHANGED
@@ -5,15 +5,6 @@ require 'logger'
|
|
5
5
|
module Flatware
|
6
6
|
Error = Class.new StandardError
|
7
7
|
|
8
|
-
Job = Struct.new :id, :args do
|
9
|
-
attr_accessor :worker
|
10
|
-
attr_writer :failed
|
11
|
-
|
12
|
-
def failed?
|
13
|
-
!!@failed
|
14
|
-
end
|
15
|
-
end
|
16
|
-
|
17
8
|
extend self
|
18
9
|
|
19
10
|
def logger
|
@@ -38,8 +29,8 @@ module Flatware
|
|
38
29
|
close force: true
|
39
30
|
end
|
40
31
|
|
41
|
-
def socket_error
|
42
|
-
raise(Error, ZMQ::Util.error_string, caller) unless @ignore_errors
|
32
|
+
def socket_error(name=nil)
|
33
|
+
raise(Error, [$0,name,ZMQ::Util.error_string].compact.join(' - '), caller) unless @ignore_errors
|
43
34
|
end
|
44
35
|
|
45
36
|
def log(*message)
|
@@ -88,7 +79,7 @@ module Flatware
|
|
88
79
|
socket.setsockopt ZMQ::LINGER, 0
|
89
80
|
end if force
|
90
81
|
sockets.each(&:close)
|
91
|
-
Flatware::socket_error unless c.
|
82
|
+
Flatware::socket_error unless LibZMQ.zmq_term(c.context) == 0
|
92
83
|
Flatware.log "terminated context"
|
93
84
|
end
|
94
85
|
end
|
@@ -110,7 +101,7 @@ module Flatware
|
|
110
101
|
|
111
102
|
def send(message)
|
112
103
|
result = socket.send_string(Marshal.dump(message))
|
113
|
-
|
104
|
+
error if result == -1
|
114
105
|
Flatware.log "#@type #@port send #{message}"
|
115
106
|
message
|
116
107
|
end
|
@@ -118,7 +109,7 @@ module Flatware
|
|
118
109
|
def connect(port)
|
119
110
|
@type = 'connected'
|
120
111
|
@port = port
|
121
|
-
|
112
|
+
error unless socket.connect(port) == 0
|
122
113
|
Flatware.log "connect #@port"
|
123
114
|
end
|
124
115
|
|
@@ -154,20 +145,24 @@ module Flatware
|
|
154
145
|
def bind(port)
|
155
146
|
@type = 'bound'
|
156
147
|
@port = port
|
157
|
-
|
148
|
+
error unless socket.bind(port) == 0
|
158
149
|
Flatware.log "bind #@port"
|
159
150
|
end
|
160
151
|
|
161
152
|
def close
|
162
|
-
|
153
|
+
error unless socket.close == 0
|
163
154
|
Flatware.log "close #@type #@port"
|
164
155
|
end
|
165
156
|
|
157
|
+
def error
|
158
|
+
Flatware::socket_error name
|
159
|
+
end
|
160
|
+
|
166
161
|
def recv(block: true, marshal: true)
|
167
162
|
message = ''
|
168
163
|
if block
|
169
164
|
result = socket.recv_string(message)
|
170
|
-
|
165
|
+
error if result == -1
|
171
166
|
else
|
172
167
|
socket.recv_string(message, ZMQ::NOBLOCK)
|
173
168
|
end
|
data/lib/flatware/version.rb
CHANGED
data/lib/flatware/worker.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flatware
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Brian Dunn
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-03-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: ffi-rzmq
|
@@ -84,7 +84,6 @@ files:
|
|
84
84
|
- lib/flatware/broadcaster.rb
|
85
85
|
- lib/flatware/cli.rb
|
86
86
|
- lib/flatware/cucumber.rb
|
87
|
-
- lib/flatware/cucumber/checkpoint.rb
|
88
87
|
- lib/flatware/cucumber/cli.rb
|
89
88
|
- lib/flatware/cucumber/formatter.rb
|
90
89
|
- lib/flatware/cucumber/formatters/console.rb
|
@@ -93,6 +92,7 @@ files:
|
|
93
92
|
- lib/flatware/cucumber/runtime.rb
|
94
93
|
- lib/flatware/cucumber/scenario_result.rb
|
95
94
|
- lib/flatware/cucumber/step_result.rb
|
95
|
+
- lib/flatware/job.rb
|
96
96
|
- lib/flatware/pids.rb
|
97
97
|
- lib/flatware/poller.rb
|
98
98
|
- lib/flatware/processor_info.rb
|
@@ -130,7 +130,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
130
130
|
version: '0'
|
131
131
|
requirements: []
|
132
132
|
rubyforge_project:
|
133
|
-
rubygems_version: 2.6.
|
133
|
+
rubygems_version: 2.6.14
|
134
134
|
signing_key:
|
135
135
|
specification_version: 4
|
136
136
|
summary: A distributed cucumber and rspec runner
|
@@ -1,28 +0,0 @@
|
|
1
|
-
module Flatware
|
2
|
-
module Cucumber
|
3
|
-
class Checkpoint
|
4
|
-
attr_reader :steps, :scenarios
|
5
|
-
def initialize(steps, scenarios)
|
6
|
-
@steps, @scenarios = serialize_steps(steps), serialize_scenarios(scenarios)
|
7
|
-
end
|
8
|
-
|
9
|
-
def failures?
|
10
|
-
scenarios.any? &:failed?
|
11
|
-
end
|
12
|
-
|
13
|
-
private
|
14
|
-
|
15
|
-
def serialize_steps(steps)
|
16
|
-
steps.map do |step|
|
17
|
-
StepResult.new step.status, step.exception
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
def serialize_scenarios(scenarios)
|
22
|
-
scenarios.map do |scenario|
|
23
|
-
ScenarioResult.new scenario.status, scenario.file_colon_line, scenario.name, scenario.exception
|
24
|
-
end
|
25
|
-
end
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|