rspec-queue 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 76c9637fb9863bc74c1fcf76988edbe4dfeaf206
4
- data.tar.gz: 392a6d6ca51bdd7c2bce07abaa4cb58f4b42ed84
2
+ SHA256:
3
+ metadata.gz: 9196f3482712a2bffd2dbe77d56c73a6b02b2fe341f313d0597971bc943cb22d
4
+ data.tar.gz: 1165bf23fd98396095645fd81e2e90c08c4f2c0b4f1a76295427748bbc5dac2c
5
5
  SHA512:
6
- metadata.gz: 970d5e7d6e14c532143abf64c1c847352bdc09ed2159aa0539d3d55cedecb00732cd38ca895de2483425088a296f0cc8d845a7cee164ee337af380c9fbee54b8
7
- data.tar.gz: 82ae0b0dbbf8ef76fe454e7d5252020f9a48161890cb9151c286a97fecb27a30203e062c732198d3a2a7b07475c8dcc0216aec16b7b270efa777b744f756c221
6
+ metadata.gz: 79087eb388baf75819ba0ff8688ea6d4b27dd5cba613c84d574b92e4a9fe9683bd89655d5326f55a323017adcc001a9b616271e975b6b83e7e838bea20bb6704
7
+ data.tar.gz: ad813ba01e0544a1e24f22cd20ee3daaf0ed210936c31350fd37abb1701f66d864be15ce8bfbded21f26bd28715183c7745d391f99e7c28f115c1ddf1b2f570f
data/bin/rspec-queue CHANGED
@@ -1,6 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'rspec_queue/server_runner'
3
3
  require 'rspec_queue/formatter'
4
+ require 'rspec_queue/failure_list_formatter'
4
5
 
5
- ENV['SPEC_OPTS'] = "--format RSpecQueue::Formatter" unless ENV['SPEC_OPTS']
6
+ ENV['SPEC_OPTS'] = "--format RSpecQueue::Formatter --format RSpecQueue::FailureListFormatter --out log/rspec-failures.log" unless ENV['SPEC_OPTS']
6
7
  RSpecQueue::ServerRunner.invoke
@@ -1,5 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'rspec_queue/worker_runner'
3
3
  require 'rspec_queue/formatter'
4
+ require 'rspec_queue/failure_list_formatter'
4
5
 
5
6
  RSpecQueue::WorkerRunner.invoke
@@ -0,0 +1,19 @@
1
+ require 'rspec/core/formatters'
2
+
3
+ module RSpecQueue
4
+ # Taken from rspec-core 3.9.0.pre FailureListFormatter
5
+ class FailureListFormatter < RSpec::Core::Formatters::BaseFormatter
6
+ RSpec::Core::Formatters.register self, :example_failed, :dump_profile, :message
7
+
8
+ def example_failed(failure)
9
+ output.puts "#{failure.example.location}:#{failure.example.description}"
10
+ end
11
+
12
+ # Discard profile and messages
13
+ #
14
+ # These outputs are not really relevant in the context of this failure
15
+ # list formatter.
16
+ def dump_profile(_profile); end
17
+ def message(_message); end
18
+ end
19
+ end
@@ -1,3 +1,6 @@
1
+ require 'socket'
2
+ require 'securerandom'
3
+
1
4
  module RSpecQueue
2
5
  class Server
3
6
 
@@ -6,13 +6,14 @@ require 'rspec_queue/worker'
6
6
  module RSpecQueue
7
7
  class ServerRunner < RSpec::Core::Runner
8
8
  def run_specs(example_groups)
9
+ worker_pids = []
10
+
9
11
  example_group_hash = example_groups.map { |example_group|
10
12
  [example_group.id, example_group]
11
13
  }.to_h
12
14
 
13
15
  # start the server, so we are ready to accept connections from workers
14
16
  server = RSpecQueue::Server.new
15
- worker_pids = []
16
17
 
17
18
  RSpecQueue::Configuration.instance.worker_count.times do |i|
18
19
  env = {
@@ -38,7 +39,7 @@ module RSpecQueue
38
39
  end
39
40
  end
40
41
  ensure
41
- server.close
42
+ server.close if server
42
43
 
43
44
  worker_pids.each do |pid|
44
45
  Process.kill("TERM", pid)
@@ -47,6 +48,3 @@ module RSpecQueue
47
48
  end
48
49
  end
49
50
  end
50
-
51
-
52
- RSpecQueue::ServerRunner
@@ -1,4 +1,5 @@
1
1
  require 'json'
2
+ require 'socket'
2
3
 
3
4
  module RSpecQueue
4
5
  class Worker
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-queue
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nick Browne
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-11-24 00:00:00.000000000 Z
11
+ date: 2019-05-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rspec-core
@@ -50,6 +50,7 @@ files:
50
50
  - bin/rspec-queue-worker
51
51
  - lib/rspec_queue.rb
52
52
  - lib/rspec_queue/configuration.rb
53
+ - lib/rspec_queue/failure_list_formatter.rb
53
54
  - lib/rspec_queue/formatter.rb
54
55
  - lib/rspec_queue/server.rb
55
56
  - lib/rspec_queue/server_runner.rb
@@ -75,7 +76,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
75
76
  version: '0'
76
77
  requirements: []
77
78
  rubyforge_project:
78
- rubygems_version: 2.6.13
79
+ rubygems_version: 2.7.3
79
80
  signing_key:
80
81
  specification_version: 4
81
82
  summary: parallel rspec runner