parallel_cucumber 0.2.11 → 0.2.12

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
2
  SHA256:
3
- metadata.gz: 346ec076b5b81e97866bef05ce1837495df49fd082784d0d17fc00f01dedef9e
4
- data.tar.gz: 12f8aa028ce24140025b6c14e2a23993bd0b556a6d8291381e1eca2847371cf4
3
+ metadata.gz: 21efcd236f18ea3ac32ac8fe307a3856701d45d227ad3edd05cb571bbf34ea83
4
+ data.tar.gz: 35ddffec456a2add5916990eb77844039d6132dd5b5c4459c506a834bdc321e8
5
5
  SHA512:
6
- metadata.gz: cc768e6c37fb3178bc81d66301a929ee6006c48659129ab3165c52de3f1e0ca4e26912511200bf252c4aae4e0f75b2414865efc1d07146dbe44846b2c1ab8b71
7
- data.tar.gz: 4ee5ffed447e89cb5d0693b16200f5fa3103fae276a7b3abc8685efece1ba42c140133ba165de0b2052c948960fbb3c572cb228400f85783b4d91082b65533cb
6
+ metadata.gz: e37068e9ee2e6a8e754baf49cf29c92d909dd96f6625dc4eb17b4b9ac8fc932a58181a5210ee4fe14c6cd21f6e5197faf7d011ed3a681bdf21d8a4c93b5d001d
7
+ data.tar.gz: 0ac4181e268d5868f797ec25b51539b63f6d6f9bd76338817f8240ecc29e2a680e55efd0a93127f785ff9e538dc5191952aedc817ee98c8c09c7f47e23c9286b
@@ -22,6 +22,10 @@ module ParallelCucumber
22
22
  def after_batch(&proc)
23
23
  Hooks.register_after_batch(proc)
24
24
  end
25
+
26
+ def after_workers(&proc)
27
+ Hooks.register_after_workers(proc)
28
+ end
25
29
  end
26
30
  end
27
31
  end
@@ -1,7 +1,8 @@
1
1
  module ParallelCucumber
2
2
  class Hooks
3
3
  @before_batch_hooks ||= []
4
- @after_batch_hooks ||= []
4
+ @after_batch_hooks ||= []
5
+ @after_workers ||= []
5
6
 
6
7
  class << self
7
8
  def register_before_batch(proc)
@@ -14,6 +15,11 @@ module ParallelCucumber
14
15
  @after_batch_hooks << proc
15
16
  end
16
17
 
18
+ def register_after_workers(proc)
19
+ raise(ArgumentError, 'Please provide a valid callback') unless proc.respond_to?(:call)
20
+ @after_workers << proc
21
+ end
22
+
17
23
  def fire_before_batch_hooks(*args)
18
24
  @before_batch_hooks.each do |hook|
19
25
  hook.call(*args)
@@ -25,6 +31,12 @@ module ParallelCucumber
25
31
  hook.call(*args)
26
32
  end
27
33
  end
34
+
35
+ def fire_after_workers(*args)
36
+ @after_workers.each do |hook|
37
+ hook.call(*args)
38
+ end
39
+ end
28
40
  end
29
41
  end
30
42
  end
@@ -76,6 +76,14 @@ module ParallelCucumber
76
76
  status_totals = {}
77
77
  total_mm, total_ss = time_it do
78
78
  results = run_parallel_workers(number_of_workers) || {}
79
+
80
+ begin
81
+ Hooks.fire_after_workers(results: results, queue: queue)
82
+ rescue StandardError => e
83
+ trace = e.backtrace.join("\n\t")
84
+ @logger.warn("There was exception in after_workers hook #{e.message} \n #{trace}")
85
+ end
86
+
79
87
  unrun = tests - results.keys
80
88
  @logger.error("Tests #{unrun.join(' ')} were not run") unless unrun.empty?
81
89
  @logger.error("Queue #{queue.name} is not empty") unless queue.empty?
@@ -1,3 +1,3 @@
1
1
  module ParallelCucumber
2
- VERSION = '0.2.11'.freeze
2
+ VERSION = '0.2.12'.freeze
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: parallel_cucumber
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.11
4
+ version: 0.2.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Bayandin
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-09-28 00:00:00.000000000 Z
11
+ date: 2018-10-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cucumber