rspec-abq 1.1.3 → 1.1.5

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: f88c2063493ad3b7115710c2fbd276bb4b08bf6f421804b1e667e617673963cd
4
- data.tar.gz: 2feed437fb384a31d8d3bffdd3baa83a5aac9136198723a39b2fe6dc1a28dcea
3
+ metadata.gz: 1146e666d1067d73f45f4c62a7ec09b7db27d59d949199d23a380635cd24f17a
4
+ data.tar.gz: 1e61242425452f0cfd6c8f7993e7902be5e4a123a93b4ba4ee6da47b49e368f2
5
5
  SHA512:
6
- metadata.gz: b36a45217933dbd5a23064aef2562e298a84889bf219669de24a5e4702aebc8d0f056da4d791b823878b93af3b5982457b805d12778ce7842ee821c808cda07c
7
- data.tar.gz: 9a0a403f7abed4e50fe4928bbd83449c36d6a206b7eedffb86bc19b8565a1c424fdf05d6ca8c685312f41e0ac29323c6b678f85f85212291b135ce053e6ef0a1
6
+ metadata.gz: 120a5e036c4157566cbdf707fcde4d7f0404eb768914554abaaba8ed38a9b88ae28dff919b6df0650300c519c8c7504a847e172849e36a5996f9f9792f440bd6
7
+ data.tar.gz: 23ce430e07de68a261a744139ec7ecc3b596095674a98d0ff4e0ecfbbf9187a6628e308d273ee81530c5e78f31e5388325e47f2cd8043c1b5c13f4daedd87fce
data/README.md CHANGED
@@ -1,85 +1,42 @@
1
- # Rspec::Abq
1
+ # RSpec bindings for ABQ
2
2
 
3
- This gem helps you use rspec with abq.
3
+ :globe_with_meridians: [abq.build](https://abq.build)  
4
+ :bird: [@rwx_research](https://twitter.com/rwx_research)  
5
+ :speech_balloon: [discord](https://www.rwx.com/discord)  
6
+ :books: [documentation](https://www.rwx.com/docs/abq)
4
7
 
5
- ## Installation
8
+ :octocat: [rwx-research/abq](https://github.com/rwx-research/abq)
6
9
 
7
- Add this line to your application's Gemfile:
10
+ ABQ is a universal test runner that runs test suites in parallel.
11
+ It’s the best tool for splitting test suites into parallel jobs locally or on CI.
8
12
 
9
- ```ruby
10
- group :test do
11
- gem 'rspec-core'
12
- ...
13
- gem 'rspec-abq'
14
- end
15
- ```
13
+ The `rspec-abq` gem provides the RSpec bindings for ABQ.
16
14
 
17
- And then execute:
15
+ To use ABQ, check out the documentation on [getting started](https://www.rwx.com/docs/abq/getting-started).
18
16
 
19
- ```bash
20
- bundle
21
- ```
17
+ ## Demo
22
18
 
23
- ## Usage
19
+ Here's a demo of running an RSpec test suite, and then using `abq` to run it in parallel.
20
+ ABQ invokes any test command passed to it, so you can continue using your native test framework CLI with any arguments it supports.
24
21
 
25
- Use the included binary with abq:
22
+ ![abq-demo.svg](abq-demo.svg)
26
23
 
27
- ```bash
28
- abq test -- bundle exec rspec
29
- ```
24
+ ## Installation
30
25
 
31
- If abq displays "Worker quit before sending protocol version", try adding this line to your application's `spec/spec_helper.rb`:
26
+ Include the `rspec-abq` gem in your `Gemfile`.
27
+ Commonly, it's added under a test group.
32
28
 
33
29
  ```ruby
34
- require 'rspec/abq'
30
+ group :test do
31
+ gem "rspec-abq"
32
+ end
35
33
  ```
36
34
 
37
- ## Compatibility
38
-
39
- This gem is actively tested against
40
-
41
- - rubies 2.7-3.1
42
- - rspecs 3.5-3.12
43
-
44
- as well as a handful of rspec plugins:
45
-
46
- - rspec-retry 0.6.2
47
- - capybara 3.36.0
48
- - selenium-webdriver 4.1.0
49
- - capybara-inline-screenshot 2.2.1 (see note below)
50
-
51
- ### Usage with capybara-inline-screenshot (or capybara-screenshot)
52
-
53
- #### tldr
54
-
55
- 1. run rspec with a compatible `--format` option:
56
-
57
- ```sh
58
- abq test -- bundle exec rspec --format documentation
59
- ```
60
-
61
- 2. check for screenshots in the worker output
62
-
63
- #### What's happening?
64
-
65
- By default, rspec-abq only sends rspec-output to the test process. Because of this, custom formatting (e.g. that
66
- done by capybara-inline-screenshot) is lost.
67
-
68
- If you want to enable custom formatting (which will show inline screenshots), enable a
69
- capybara-inline-screenshot compatible formatter (`progress` or `documentation`). This will output rspec results
70
- (including screenshots) from the worker processeses.
71
-
72
- Note: the test process output will still only have the aggregate results without screenshots.
35
+ See [the docs](https://www.rwx.com/docs/abq/test-frameworks/rspec) for more notes on installation and compatibility with other RSpec libraries.
73
36
 
74
37
  ## Development
75
38
 
76
- After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
77
-
78
- To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
79
-
80
- ### Releasing the gem
81
-
82
- use the release script, `./release_gem.rb`
39
+ For working on `rspec-abq` itself, see [DEVELOPMENT.md](DEVELOPMENT.md)
83
40
 
84
41
  ## Contributing
85
42
 
@@ -1,6 +1,6 @@
1
1
  module RSpec
2
2
  module Abq
3
3
  # current version!
4
- VERSION = "1.1.3"
4
+ VERSION = "1.1.5"
5
5
  end
6
6
  end
data/lib/rspec/abq.rb CHANGED
@@ -145,6 +145,7 @@ module RSpec
145
145
  # @return [void]
146
146
  def self.setup_extensions_if_enabled!
147
147
  return unless enabled?
148
+ perform_handshake!
148
149
  Extensions.setup!
149
150
  end
150
151
 
@@ -199,8 +200,13 @@ module RSpec
199
200
  RSpec.configuration.color_mode = :on
200
201
  else
201
202
  RSpec.configuration.color = true
203
+ RSpec.configuration.tty = true
202
204
  end
203
205
 
206
+ # RSpec only adds a default formatter if there are no formatters.
207
+ # Abq::Formatter is used for internal communication over the ABQ protocol, not for $stdout.
208
+ RSpec.configuration.add_formatter(RSpec.configuration.default_formatter) if RSpec.configuration.formatters.empty?
209
+
204
210
  RSpec.configuration.add_formatter(RSpec::Abq::Formatter)
205
211
 
206
212
  # the first message is the init_meta block of the manifest. This is used to share runtime configuration
@@ -248,6 +254,8 @@ module RSpec
248
254
  # the target_test_case is the test case the abq worker wants results for
249
255
  # @!visibility private
250
256
  attr_reader :target_test_case
257
+
258
+ alias_method :perform_handshake!, :socket
251
259
  end
252
260
 
253
261
  # pulls next example from the abq worker and sets it to #target_test_case
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rspec-abq
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ayaz Hafiz
@@ -121,14 +121,14 @@ dependencies:
121
121
  requirements:
122
122
  - - "~>"
123
123
  - !ruby/object:Gem::Version
124
- version: 2.2.5
124
+ version: 2.2.6.4
125
125
  type: :development
126
126
  prerelease: false
127
127
  version_requirements: !ruby/object:Gem::Requirement
128
128
  requirements:
129
129
  - - "~>"
130
130
  - !ruby/object:Gem::Version
131
- version: 2.2.5
131
+ version: 2.2.6.4
132
132
  - !ruby/object:Gem::Dependency
133
133
  name: puma
134
134
  requirement: !ruby/object:Gem::Requirement