rspec-abq 1.1.3 → 1.1.5
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 +4 -4
- data/README.md +22 -65
- data/lib/rspec/abq/version.rb +1 -1
- data/lib/rspec/abq.rb +8 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1146e666d1067d73f45f4c62a7ec09b7db27d59d949199d23a380635cd24f17a
|
4
|
+
data.tar.gz: 1e61242425452f0cfd6c8f7993e7902be5e4a123a93b4ba4ee6da47b49e368f2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 120a5e036c4157566cbdf707fcde4d7f0404eb768914554abaaba8ed38a9b88ae28dff919b6df0650300c519c8c7504a847e172849e36a5996f9f9792f440bd6
|
7
|
+
data.tar.gz: 23ce430e07de68a261a744139ec7ecc3b596095674a98d0ff4e0ecfbbf9187a6628e308d273ee81530c5e78f31e5388325e47f2cd8043c1b5c13f4daedd87fce
|
data/README.md
CHANGED
@@ -1,85 +1,42 @@
|
|
1
|
-
#
|
1
|
+
# RSpec bindings for ABQ
|
2
2
|
|
3
|
-
|
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
|
-
|
8
|
+
:octocat: [rwx-research/abq](https://github.com/rwx-research/abq)
|
6
9
|
|
7
|
-
|
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
|
-
|
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
|
-
|
15
|
+
To use ABQ, check out the documentation on [getting started](https://www.rwx.com/docs/abq/getting-started).
|
18
16
|
|
19
|
-
|
20
|
-
bundle
|
21
|
-
```
|
17
|
+
## Demo
|
22
18
|
|
23
|
-
|
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
|
-
|
22
|
+

|
26
23
|
|
27
|
-
|
28
|
-
abq test -- bundle exec rspec
|
29
|
-
```
|
24
|
+
## Installation
|
30
25
|
|
31
|
-
|
26
|
+
Include the `rspec-abq` gem in your `Gemfile`.
|
27
|
+
Commonly, it's added under a test group.
|
32
28
|
|
33
29
|
```ruby
|
34
|
-
|
30
|
+
group :test do
|
31
|
+
gem "rspec-abq"
|
32
|
+
end
|
35
33
|
```
|
36
34
|
|
37
|
-
|
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
|
-
|
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
|
|
data/lib/rspec/abq/version.rb
CHANGED
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.
|
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.
|
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.
|
131
|
+
version: 2.2.6.4
|
132
132
|
- !ruby/object:Gem::Dependency
|
133
133
|
name: puma
|
134
134
|
requirement: !ruby/object:Gem::Requirement
|