rspec-queue 0.1.0 → 0.2.0

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.
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