blinka-reporter 0.6.1 → 0.7.1
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/.github/workflows/main.yml +20 -9
- data/.gitignore +1 -0
- data/CHANGELOG.md +12 -1
- data/README.md +33 -33
- data/blinka_reporter.gemspec +2 -2
- data/lib/blinka_reporter/blinka.rb +4 -1
- data/lib/blinka_reporter/cli.rb +43 -13
- data/lib/blinka_reporter/client.rb +41 -27
- data/lib/blinka_reporter/config.rb +20 -17
- data/lib/blinka_reporter/version.rb +1 -1
- data/lib/minitest/blinka_plugin.rb +10 -33
- data/package.json +3 -3
- data/yarn.lock +126 -104
- metadata +7 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d5dac4b2e59cda85f61acde510a71b5f735d5584ab3aba859a6a01b1af73664
|
4
|
+
data.tar.gz: 3d2ad1ee927ef0d09d8585c067ece1975799705f0ce964ed094f3f19cd7cfe7e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9f6ed24e9caaf3c740064eaaa229717a24a52d41d2bcdf02650e5f3b151dd04beedc72950411a4a813aebc445e7a6316f991d9c9a42d5283b5378009752f8c13
|
7
|
+
data.tar.gz: 6364c8edf5577d79ae45ac4bf1afaff97faa68d39aa41e2bf3d888c122b90d38cd9108e4a615bfe8fc2ca67332255fb3da63efea34da8b247978d931861e2b65
|
data/.github/workflows/main.yml
CHANGED
@@ -8,12 +8,13 @@ jobs:
|
|
8
8
|
name: Tests
|
9
9
|
runs-on: ubuntu-latest
|
10
10
|
strategy:
|
11
|
+
fail-fast: false
|
11
12
|
matrix:
|
12
13
|
ruby: ["2.6", "2.7", "3.0", "3.1"]
|
13
14
|
|
14
15
|
steps:
|
15
16
|
- name: Checkout code
|
16
|
-
uses: actions/checkout@
|
17
|
+
uses: actions/checkout@v3
|
17
18
|
|
18
19
|
- name: Setup Ruby
|
19
20
|
uses: ruby/setup-ruby@v1
|
@@ -29,18 +30,28 @@ jobs:
|
|
29
30
|
|
30
31
|
- name: Run tests
|
31
32
|
env:
|
32
|
-
|
33
|
+
BLINKA_PATH: ./results.json
|
33
34
|
run: bundle exec rake test
|
34
35
|
|
35
36
|
- name: Build and install gem
|
36
37
|
if: always()
|
37
38
|
run: gem build blinka_reporter.gemspec && gem install blinka-reporter-*.gem
|
38
39
|
|
39
|
-
- name: Report
|
40
|
+
- name: Report TAP-results
|
40
41
|
if: always()
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
run:
|
42
|
+
run: |
|
43
|
+
blinka_reporter --tap --path ./results.json
|
44
|
+
|
45
|
+
- name: Export Blinka-metadata
|
46
|
+
if: always()
|
47
|
+
run: |
|
48
|
+
echo "${{ matrix.ruby }}" > ./blinka_tag
|
49
|
+
|
50
|
+
- name: Blinka - Archive
|
51
|
+
if: always()
|
52
|
+
uses: actions/upload-artifact@v3
|
53
|
+
with:
|
54
|
+
name: blinka-${{ strategy.job-index }}
|
55
|
+
path: |
|
56
|
+
./results.json
|
57
|
+
./blinka_tag
|
data/.gitignore
CHANGED
data/CHANGELOG.md
CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
7
7
|
|
8
8
|
## [Unreleased]
|
9
9
|
|
10
|
+
## [0.7.1] - 2023-02-19
|
11
|
+
|
12
|
+
- Handles empty test results.
|
13
|
+
|
14
|
+
## [0.7.0] - 2022-03-06
|
15
|
+
|
16
|
+
- Support multiple `--path` calls to combine results from multiple files.
|
17
|
+
- Replaces `BLINKA_JSON` and `BLINKA_APPEND` with `BLINKA_PATH`.
|
18
|
+
- Adds all reporter options as CLI-options instead of using environment variables. -`BLINKA_REPOSITORY` => `--repository`
|
19
|
+
|
10
20
|
## [0.6.1] - 2022-02-27
|
11
21
|
|
12
22
|
- Rspec
|
@@ -137,7 +147,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
137
147
|
|
138
148
|
- Handle inconsistency in source_location of test result in Minitest for different versions.
|
139
149
|
|
140
|
-
[unreleased]: https://github.com/davidwessman/blinka_reporter/compare/v0.
|
150
|
+
[unreleased]: https://github.com/davidwessman/blinka_reporter/compare/v0.7.0...HEAD
|
151
|
+
[0.7.0]: https://github.com/davidwessman/blinka_reporter/compare/v0.6.1...v0.7.0
|
141
152
|
[0.6.1]: https://github.com/davidwessman/blinka_reporter/compare/v0.6.0...v0.6.1
|
142
153
|
[0.6.0]: https://github.com/davidwessman/blinka_reporter/compare/v0.5.2...v0.6.0
|
143
154
|
[0.5.2]: https://github.com/davidwessman/blinka_reporter/compare/v0.5.1...v0.5.2
|
data/README.md
CHANGED
@@ -16,7 +16,7 @@ gem install blinka-reporter
|
|
16
16
|
or add to your Gemfile
|
17
17
|
|
18
18
|
```ruby
|
19
|
-
gem 'blinka-
|
19
|
+
gem 'blinka-reporter', '~> 0.7.0'
|
20
20
|
```
|
21
21
|
|
22
22
|
## Which ruby testing frameworks are supported?
|
@@ -35,10 +35,10 @@ Blinka is a web service developed by [@davidwessman](https://github.com/davidwes
|
|
35
35
|
### Minitest
|
36
36
|
|
37
37
|
```sh
|
38
|
-
|
38
|
+
BLINKA_PATH=./tests.json bundle exec rails test
|
39
39
|
```
|
40
40
|
|
41
|
-
Output as `./
|
41
|
+
Output as `./tests.json`.
|
42
42
|
|
43
43
|
### Rspec
|
44
44
|
|
@@ -51,8 +51,7 @@ bundle exec rspec --formatter RspecJunitFormatter --out ./rspec.xml
|
|
51
51
|
## How to send report to Blinka?
|
52
52
|
|
53
53
|
1. Output your test results as described [above](#how-to-generate-test-report-in-the-right-format).
|
54
|
-
1.
|
55
|
-
1. `bundle exec blinka_reporter --path {./blinka_results.json,./rspec.xml} --blinka`
|
54
|
+
1. `bundle exec blinka_reporter --path {./blinka_results.json,./rspec.xml} --blinka --team-id <BLINKA_TEAM_ID> --team-secret <BLINKA_TEAM_SECRET> --repository davidwessman/blinka_reporter`
|
56
55
|
|
57
56
|
## How can I send report in Github Action?
|
58
57
|
|
@@ -65,58 +64,59 @@ Add a step to your Github Action Workflow after running tests:
|
|
65
64
|
run: bundle exec rake test
|
66
65
|
|
67
66
|
- name: Report minitest to Blinka
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
67
|
+
run: |
|
68
|
+
bundle exec blinka_reporter \
|
69
|
+
--path ./blinka_results.json \
|
70
|
+
--blinka \
|
71
|
+
--commit ${{ github.event.pull_request.head.sha || github.sha }} \
|
72
|
+
--repository davidwessman/blinka_reporter \
|
73
|
+
--team-id ${{ secrets.BLINKA_TEAM_ID }} \
|
74
|
+
--team-secret ${{ secrets.BLINKA_TEAM_SECRET }}
|
75
75
|
```
|
76
76
|
|
77
77
|
```yaml
|
78
78
|
- name: Rspec
|
79
79
|
run: bundle exec rspec --formatter RspecJunitFormatter --out ./rspec.xml
|
80
80
|
- name: Report minitest to Blinka
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
81
|
+
run: |
|
82
|
+
bundle exec blinka_reporter \
|
83
|
+
--path ./rspec.xml \
|
84
|
+
--blinka \
|
85
|
+
--commit ${{ github.event.pull_request.head.sha || github.sha }} \
|
86
|
+
--repository davidwessman/blinka_reporter \
|
87
|
+
--team-id ${{ secrets.BLINKA_TEAM_ID }} \
|
88
|
+
--team-secret ${{ secrets.BLINKA_TEAM_SECRET }}
|
88
89
|
```
|
89
90
|
|
90
|
-
`
|
91
|
+
`--tag` is optional and can be used to separate different reports, for example when using a build matrix.
|
91
92
|
|
92
93
|
## How to make multiple test runs into one report?
|
93
94
|
|
94
|
-
**Only supported for Minitest, open an issue for Rspec-support**
|
95
|
-
|
96
95
|
For example when running tests in parallel you might need to run system tests separately.
|
97
|
-
|
96
|
+
Output the test results to different paths with `BLINKA_PATH`.
|
98
97
|
|
99
98
|
```yaml
|
100
99
|
- name: System tests
|
101
100
|
env:
|
102
|
-
|
101
|
+
BLINKA_PATH: ./system_tests.json
|
103
102
|
PARALLEL_WORKERS: 1
|
104
103
|
run: bundle exec rails test:system
|
105
104
|
|
106
105
|
- name: Tests
|
107
106
|
env:
|
108
|
-
BLINKA_JSON:
|
109
|
-
BLINKA_APPEND: true
|
107
|
+
BLINKA_JSON: ./tests.json
|
110
108
|
run: bundle exec rails test
|
111
109
|
|
112
110
|
- name: Report to Blinka
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
111
|
+
run: |
|
112
|
+
bundle exec blinka_reporter \
|
113
|
+
--path ./system_tests.json \
|
114
|
+
--path ./tests.json \
|
115
|
+
--blinka \
|
116
|
+
--commit ${{ github.event.pull_request.head.sha || github.sha }} \
|
117
|
+
--repository davidwessman/blinka_reporter \
|
118
|
+
--team-id ${{ secrets.BLINKA_TEAM_ID }} \
|
119
|
+
--team-secret ${{ secrets.BLINKA_TEAM_SECRET }}
|
120
120
|
```
|
121
121
|
|
122
122
|
## How can I report tests in TAP-format?
|
data/blinka_reporter.gemspec
CHANGED
@@ -33,9 +33,9 @@ Gem::Specification.new do |gem|
|
|
33
33
|
|
34
34
|
gem.add_dependency('httparty', '~> 0.18')
|
35
35
|
gem.add_dependency('ox', '~> 2')
|
36
|
-
gem.add_development_dependency('dotenv', '~> 2.
|
36
|
+
gem.add_development_dependency('dotenv', '~> 2.8.0')
|
37
37
|
gem.add_development_dependency('minitest', '~> 5.0')
|
38
|
-
gem.add_development_dependency('mocha', '~>
|
38
|
+
gem.add_development_dependency('mocha', '~> 2.0')
|
39
39
|
gem.add_development_dependency('rake', '~> 13')
|
40
40
|
gem.add_development_dependency('webmock', '~> 3.11')
|
41
41
|
end
|
@@ -99,7 +99,10 @@ module BlinkaReporter
|
|
99
99
|
when 200
|
100
100
|
@jwt_token = JSON.parse(response.body).dig('auth_token')
|
101
101
|
else
|
102
|
-
raise(
|
102
|
+
raise(
|
103
|
+
BlinkaReporter::Error,
|
104
|
+
"Could not authenticate to API #{response.code}"
|
105
|
+
)
|
103
106
|
end
|
104
107
|
end
|
105
108
|
|
data/lib/blinka_reporter/cli.rb
CHANGED
@@ -9,28 +9,58 @@ module BlinkaReporter
|
|
9
9
|
blinka_reporter version #{BlinkaReporter::VERSION}
|
10
10
|
|
11
11
|
Options:
|
12
|
-
--
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
--
|
18
|
-
|
19
|
-
|
12
|
+
--path <path>: Path to test results file, can be supplied multiple times to combine results
|
13
|
+
- ./blinka_results.json blinka json format
|
14
|
+
- ./rspec.xml from https://github.com/sj26/rspec_junit_formatter
|
15
|
+
|
16
|
+
--tap: Flag for outputting test results in TAP-protocol, helpful on Heroku CI
|
17
|
+
--blinka: Flag for reporting test results to blinka.app, requires also supplying:
|
18
|
+
- --team-id
|
19
|
+
- --team-secret
|
20
|
+
- --repository
|
21
|
+
- --commit
|
22
|
+
--team-id <team-id>: Blinka team id, only used with --blinka
|
23
|
+
--team-secret <team-secret>: Blinka team secret, only used with --blinka
|
24
|
+
--commit <commit>: The commit hash to report
|
25
|
+
--tag <tag>: The tag for the run, for example to separate a test matrix
|
26
|
+
--repository <repository>: The Github repository
|
27
|
+
--host <host>: Override Blink host to send report
|
28
|
+
|
20
29
|
EOS
|
21
30
|
return 0
|
22
31
|
end
|
23
32
|
|
24
33
|
tap = (argv.index('--tap') || -1) >= 0
|
34
|
+
|
35
|
+
paths = argv_value_for(argv, '--path')
|
36
|
+
|
25
37
|
blinka = (argv.index('--blinka') || -1) >= 0
|
26
|
-
|
27
|
-
|
28
|
-
|
38
|
+
commit = argv_value_for(argv, '--commit')&.first
|
39
|
+
repository = argv_value_for(argv, '--repository')&.first
|
40
|
+
tag = argv_value_for(argv, '--tag')&.first
|
41
|
+
team_id = argv_value_for(argv, '--team-id')&.first
|
42
|
+
team_secret = argv_value_for(argv, '--team-secret')&.first
|
43
|
+
host = argv_value_for(argv, '--host')&.first
|
44
|
+
|
45
|
+
client = BlinkaReporter::Client.new
|
46
|
+
data = client.parse(paths: paths)
|
47
|
+
config =
|
48
|
+
BlinkaReporter::Config.new(
|
49
|
+
tag: tag,
|
50
|
+
commit: commit,
|
51
|
+
team_id: team_id,
|
52
|
+
team_secret: team_secret,
|
53
|
+
repository: repository,
|
54
|
+
host: host
|
55
|
+
)
|
56
|
+
client.report(data: data, config: config, tap: tap, blinka: blinka)
|
29
57
|
end
|
30
58
|
|
31
59
|
def self.argv_value_for(argv, option_name)
|
32
|
-
|
33
|
-
|
60
|
+
argv
|
61
|
+
.each_index
|
62
|
+
.select { |index| argv[index] == option_name }
|
63
|
+
.map { |index| argv[index + 1] }
|
34
64
|
end
|
35
65
|
end
|
36
66
|
end
|
@@ -8,44 +8,58 @@ require 'blinka_reporter/tap'
|
|
8
8
|
|
9
9
|
module BlinkaReporter
|
10
10
|
class Client
|
11
|
-
def
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
unless File.exist?(path)
|
17
|
-
raise(
|
18
|
-
BlinkaReporter::Error,
|
19
|
-
"Could not find #{path}, was it generated when running the tests?"
|
20
|
-
)
|
21
|
-
end
|
22
|
-
|
23
|
-
data =
|
24
|
-
if path.end_with?('.xml')
|
25
|
-
self.class.parse_xml(path: path)
|
26
|
-
elsif path.end_with?('.json')
|
27
|
-
self.class.parse_json(path: path)
|
28
|
-
else
|
11
|
+
def parse(paths: nil)
|
12
|
+
paths ||= ['./blinka_results.json']
|
13
|
+
paths = Array(paths)
|
14
|
+
paths.each do |path|
|
15
|
+
unless File.exist?(path)
|
29
16
|
raise(
|
30
17
|
BlinkaReporter::Error,
|
31
|
-
"
|
18
|
+
"Could not find #{path}, make sure the path is correct."
|
32
19
|
)
|
33
20
|
end
|
21
|
+
end
|
22
|
+
|
23
|
+
merge_results(
|
24
|
+
paths.map do |path|
|
25
|
+
if path.end_with?('.xml')
|
26
|
+
parse_xml(path: path)
|
27
|
+
elsif path.end_with?('.json')
|
28
|
+
parse_json(path: path)
|
29
|
+
else
|
30
|
+
raise(
|
31
|
+
BlinkaReporter::Error,
|
32
|
+
"Unknown format of #{path}, needs to be .json or .xml"
|
33
|
+
)
|
34
|
+
end
|
35
|
+
end
|
36
|
+
)
|
37
|
+
end
|
34
38
|
|
39
|
+
def report(data:, blinka: false, tap: false, config: nil)
|
35
40
|
BlinkaReporter::Tap.report(data) if tap
|
36
|
-
BlinkaReporter::Blinka.report(config:
|
41
|
+
BlinkaReporter::Blinka.report(config: config, data: data) if blinka
|
37
42
|
0
|
38
43
|
end
|
39
44
|
|
40
|
-
|
41
|
-
|
45
|
+
private
|
46
|
+
|
47
|
+
def merge_results(data_array)
|
48
|
+
data = { total_time: 0, nbr_tests: 0, nbr_assertions: 0, results: [] }
|
49
|
+
data_array.each do |result|
|
50
|
+
data[:total_time] += result[:total_time] || 0
|
51
|
+
data[:nbr_tests] += result[:nbr_tests] || 0
|
52
|
+
data[:nbr_assertions] += result[:nbr_assertions] || 0
|
53
|
+
data[:results] += result[:results] || []
|
54
|
+
end
|
55
|
+
data
|
42
56
|
end
|
43
57
|
|
44
|
-
def
|
58
|
+
def parse_json(path:)
|
45
59
|
JSON.parse(File.open(path).read, symbolize_names: true)
|
46
60
|
end
|
47
61
|
|
48
|
-
def
|
62
|
+
def parse_xml(path:)
|
49
63
|
data = Ox.load_file(path, { symbolize_keys: true, skip: :skip_none })
|
50
64
|
test_suite = data.root
|
51
65
|
unless test_suite.name == 'testsuite'
|
@@ -62,7 +76,7 @@ module BlinkaReporter
|
|
62
76
|
}
|
63
77
|
end
|
64
78
|
|
65
|
-
def
|
79
|
+
def xml_seed(ox_properties)
|
66
80
|
ox_properties.each do |property|
|
67
81
|
property.nodes.each do |node|
|
68
82
|
return node.attributes[:value] if node.attributes[:name] == 'seed'
|
@@ -72,7 +86,7 @@ module BlinkaReporter
|
|
72
86
|
end
|
73
87
|
|
74
88
|
# Kind is extracted from the second part of spec.models.customer_spec
|
75
|
-
def
|
89
|
+
def xml_test_cases(test_cases)
|
76
90
|
test_cases.map do |test_case|
|
77
91
|
result = {
|
78
92
|
kind: Array(test_case.attributes[:classname]&.split('.'))[1],
|
@@ -100,7 +114,7 @@ module BlinkaReporter
|
|
100
114
|
end
|
101
115
|
end
|
102
116
|
|
103
|
-
def
|
117
|
+
def get_image_path(backtrace)
|
104
118
|
backtrace.each do |text|
|
105
119
|
path = /^(\[Screenshot\]|\[Screenshot Image\]):\s([\S]*)$/.match(text)
|
106
120
|
next if path.nil?
|
@@ -3,32 +3,35 @@ require 'blinka_reporter/error'
|
|
3
3
|
module BlinkaReporter
|
4
4
|
class Config
|
5
5
|
attr_reader(:commit, :host, :repository, :tag, :team_id, :team_secret)
|
6
|
+
DEFAULT_HOST = 'https://www.blinka.app'
|
6
7
|
|
7
|
-
def initialize
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
8
|
+
def initialize(
|
9
|
+
tag:,
|
10
|
+
commit:,
|
11
|
+
repository:,
|
12
|
+
host: nil,
|
13
|
+
team_id:,
|
14
|
+
team_secret:
|
15
|
+
)
|
16
|
+
@commit = commit || find_commit
|
17
|
+
@host = host || DEFAULT_HOST
|
18
|
+
@repository = repository
|
19
|
+
@tag = tag
|
20
|
+
@team_id = team_id
|
21
|
+
@team_secret = team_secret
|
14
22
|
end
|
15
23
|
|
16
24
|
def validate_blinka
|
17
|
-
|
25
|
+
required = [@team_id, @team_secret, @repository]
|
26
|
+
if required.include?(nil) || required.include?('')
|
18
27
|
raise(BlinkaReporter::Error, <<~EOS)
|
19
|
-
Missing configuration, make sure to set
|
20
|
-
|
21
|
-
- BLINKA_TEAM_SECRET
|
22
|
-
- BLINKA_REPOSITORY
|
23
|
-
EOS
|
28
|
+
Missing configuration, make sure to set --team-id, --team-secret, --repository
|
29
|
+
EOS
|
24
30
|
end
|
25
31
|
end
|
26
32
|
|
27
33
|
def find_commit
|
28
|
-
ENV.fetch(
|
29
|
-
'BLINKA_COMMIT',
|
30
|
-
ENV.fetch('HEROKU_TEST_RUN_COMMIT_VERSION', `git rev-parse HEAD`.chomp)
|
31
|
-
)
|
34
|
+
ENV.fetch('HEROKU_TEST_RUN_COMMIT_VERSION', `git rev-parse HEAD`.chomp)
|
32
35
|
end
|
33
36
|
end
|
34
37
|
end
|
@@ -11,69 +11,46 @@ module Minitest
|
|
11
11
|
def plugin_blinka_options(opts, options); end
|
12
12
|
|
13
13
|
module BlinkaPlugin
|
14
|
-
REPORT_PATH = 'blinka_results.json'.freeze
|
15
14
|
class Reporter < Minitest::StatisticsReporter
|
16
15
|
attr_accessor :tests
|
17
16
|
|
18
|
-
def initialize(io = $stdout, options = {})
|
19
|
-
super
|
20
|
-
self.tests = []
|
21
|
-
end
|
22
|
-
|
23
17
|
def record(test)
|
24
18
|
super
|
19
|
+
self.tests ||= []
|
25
20
|
tests << test
|
26
21
|
end
|
27
22
|
|
28
23
|
def report
|
29
24
|
super
|
30
25
|
|
31
|
-
json_report
|
32
|
-
rescue BlinkaReporter::
|
26
|
+
json_report
|
27
|
+
rescue BlinkaReporter::Error => error
|
33
28
|
puts(error)
|
34
29
|
end
|
35
30
|
|
36
31
|
private
|
37
32
|
|
38
|
-
def json_report
|
33
|
+
def json_report
|
34
|
+
report_path = ENV['BLINKA_PATH']
|
35
|
+
return if report_path.nil? || report_path.eql?('')
|
36
|
+
|
39
37
|
result = {
|
40
38
|
total_time: total_time,
|
41
39
|
nbr_tests: count,
|
42
40
|
nbr_assertions: assertions,
|
43
41
|
seed: options[:seed],
|
44
42
|
results:
|
45
|
-
tests
|
43
|
+
tests&.map do |test_result|
|
46
44
|
BlinkaReporter::MinitestAdapter.new(test_result).report
|
47
45
|
end
|
48
46
|
}
|
49
|
-
result = append_previous(result) if append
|
50
47
|
|
51
|
-
File.open(
|
48
|
+
File.open(report_path, 'w+') do |file|
|
52
49
|
file.write(JSON.pretty_generate(result))
|
53
50
|
end
|
54
51
|
|
55
52
|
puts
|
56
|
-
puts("Test results written to `#{
|
57
|
-
end
|
58
|
-
|
59
|
-
private
|
60
|
-
|
61
|
-
def parse_report
|
62
|
-
return unless File.exist?(REPORT_PATH)
|
63
|
-
JSON.parse(File.read(REPORT_PATH), symbolize_names: true)
|
64
|
-
end
|
65
|
-
|
66
|
-
def append_previous(result)
|
67
|
-
previous = parse_report
|
68
|
-
return if previous.nil?
|
69
|
-
return if result[:commit] != previous[:commit]
|
70
|
-
return if result[:tag] != previous[:tag]
|
71
|
-
|
72
|
-
result[:total_time] += previous[:total_time] || 0
|
73
|
-
result[:nbr_tests] += previous[:nbr_tests] || 0
|
74
|
-
result[:nbr_assertions] += previous[:nbr_assertions] || 0
|
75
|
-
result[:results] += previous[:results] || []
|
76
|
-
result
|
53
|
+
puts("Test results written to `#{report_path}`")
|
77
54
|
end
|
78
55
|
end
|
79
56
|
end
|
data/package.json
CHANGED
@@ -4,9 +4,9 @@
|
|
4
4
|
"author": "David Wessman <david@wessman.co>",
|
5
5
|
"license": "MIT",
|
6
6
|
"devDependencies": {
|
7
|
-
"@prettier/plugin-ruby": "^2.
|
8
|
-
"husky": "^
|
9
|
-
"lint-staged": "^
|
7
|
+
"@prettier/plugin-ruby": "^3.2.2",
|
8
|
+
"husky": "^8.0.3",
|
9
|
+
"lint-staged": "^13.1.2"
|
10
10
|
},
|
11
11
|
"scripts": {
|
12
12
|
"pretty": "./node_modules/.bin/prettier --write ."
|
data/yarn.lock
CHANGED
@@ -2,10 +2,10 @@
|
|
2
2
|
# yarn lockfile v1
|
3
3
|
|
4
4
|
|
5
|
-
"@prettier/plugin-ruby@^2.
|
6
|
-
version "2.
|
7
|
-
resolved "https://registry.yarnpkg.com/@prettier/plugin-ruby/-/plugin-ruby-2.
|
8
|
-
integrity sha512-
|
5
|
+
"@prettier/plugin-ruby@^3.2.2":
|
6
|
+
version "3.2.2"
|
7
|
+
resolved "https://registry.yarnpkg.com/@prettier/plugin-ruby/-/plugin-ruby-3.2.2.tgz#43c9d85349032f74d34c4f57e6a77487d5c5bdc1"
|
8
|
+
integrity sha512-Vc7jVE39Fgswl517ET4kPtpnoRWE6XTi1Sivd84rZyomYnHYUmvUsEeoOf6tVhzTuIXE5XVQB1YCG2hulrwR3Q==
|
9
9
|
dependencies:
|
10
10
|
prettier ">=2.3.0"
|
11
11
|
|
@@ -51,7 +51,7 @@ astral-regex@^2.0.0:
|
|
51
51
|
resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
|
52
52
|
integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
|
53
53
|
|
54
|
-
braces@^3.0.
|
54
|
+
braces@^3.0.2:
|
55
55
|
version "3.0.2"
|
56
56
|
resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
|
57
57
|
integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
|
@@ -98,15 +98,15 @@ color-name@~1.1.4:
|
|
98
98
|
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
|
99
99
|
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
|
100
100
|
|
101
|
-
colorette@^2.0.
|
102
|
-
version "2.0.
|
103
|
-
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.
|
104
|
-
integrity sha512-
|
101
|
+
colorette@^2.0.19:
|
102
|
+
version "2.0.19"
|
103
|
+
resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798"
|
104
|
+
integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==
|
105
105
|
|
106
|
-
commander@^
|
107
|
-
version "
|
108
|
-
resolved "https://registry.yarnpkg.com/commander/-/commander-
|
109
|
-
integrity sha512-
|
106
|
+
commander@^9.4.1:
|
107
|
+
version "9.4.1"
|
108
|
+
resolved "https://registry.yarnpkg.com/commander/-/commander-9.4.1.tgz#d1dd8f2ce6faf93147295c0df13c7c21141cfbdd"
|
109
|
+
integrity sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==
|
110
110
|
|
111
111
|
cross-spawn@^7.0.3:
|
112
112
|
version "7.0.3"
|
@@ -117,10 +117,10 @@ cross-spawn@^7.0.3:
|
|
117
117
|
shebang-command "^2.0.0"
|
118
118
|
which "^2.0.1"
|
119
119
|
|
120
|
-
debug@^4.3.
|
121
|
-
version "4.3.
|
122
|
-
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.
|
123
|
-
integrity sha512
|
120
|
+
debug@^4.3.4:
|
121
|
+
version "4.3.4"
|
122
|
+
resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865"
|
123
|
+
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
|
124
124
|
dependencies:
|
125
125
|
ms "2.1.2"
|
126
126
|
|
@@ -134,20 +134,20 @@ emoji-regex@^9.2.2:
|
|
134
134
|
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
|
135
135
|
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
|
136
136
|
|
137
|
-
execa@^
|
138
|
-
version "
|
139
|
-
resolved "https://registry.yarnpkg.com/execa/-/execa-
|
140
|
-
integrity sha512-
|
137
|
+
execa@^6.1.0:
|
138
|
+
version "6.1.0"
|
139
|
+
resolved "https://registry.yarnpkg.com/execa/-/execa-6.1.0.tgz#cea16dee211ff011246556388effa0818394fb20"
|
140
|
+
integrity sha512-QVWlX2e50heYJcCPG0iWtf8r0xjEYfz/OYLGDYH+IyjWezzPNxz63qNFOu0l4YftGWuizFVZHHs8PrLU5p2IDA==
|
141
141
|
dependencies:
|
142
142
|
cross-spawn "^7.0.3"
|
143
|
-
get-stream "^6.0.
|
144
|
-
human-signals "^
|
145
|
-
is-stream "^
|
143
|
+
get-stream "^6.0.1"
|
144
|
+
human-signals "^3.0.1"
|
145
|
+
is-stream "^3.0.0"
|
146
146
|
merge-stream "^2.0.0"
|
147
|
-
npm-run-path "^
|
148
|
-
onetime "^
|
149
|
-
signal-exit "^3.0.
|
150
|
-
strip-final-newline "^
|
147
|
+
npm-run-path "^5.1.0"
|
148
|
+
onetime "^6.0.0"
|
149
|
+
signal-exit "^3.0.7"
|
150
|
+
strip-final-newline "^3.0.0"
|
151
151
|
|
152
152
|
fill-range@^7.0.1:
|
153
153
|
version "7.0.1"
|
@@ -156,20 +156,20 @@ fill-range@^7.0.1:
|
|
156
156
|
dependencies:
|
157
157
|
to-regex-range "^5.0.1"
|
158
158
|
|
159
|
-
get-stream@^6.0.
|
159
|
+
get-stream@^6.0.1:
|
160
160
|
version "6.0.1"
|
161
161
|
resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
|
162
162
|
integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
|
163
163
|
|
164
|
-
human-signals@^
|
165
|
-
version "
|
166
|
-
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-
|
167
|
-
integrity sha512-
|
164
|
+
human-signals@^3.0.1:
|
165
|
+
version "3.0.1"
|
166
|
+
resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-3.0.1.tgz#c740920859dafa50e5a3222da9d3bf4bb0e5eef5"
|
167
|
+
integrity sha512-rQLskxnM/5OCldHo+wNXbpVgDn5A17CUoKX+7Sokwaknlq7CdSnphy0W39GU8dw59XiCXmFXDg4fRuckQRKewQ==
|
168
168
|
|
169
|
-
husky@^
|
170
|
-
version "
|
171
|
-
resolved "https://registry.yarnpkg.com/husky/-/husky-
|
172
|
-
integrity sha512
|
169
|
+
husky@^8.0.3:
|
170
|
+
version "8.0.3"
|
171
|
+
resolved "https://registry.yarnpkg.com/husky/-/husky-8.0.3.tgz#4936d7212e46d1dea28fef29bb3a108872cd9184"
|
172
|
+
integrity sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg==
|
173
173
|
|
174
174
|
indent-string@^4.0.0:
|
175
175
|
version "4.0.0"
|
@@ -191,51 +191,51 @@ is-number@^7.0.0:
|
|
191
191
|
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
|
192
192
|
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
|
193
193
|
|
194
|
-
is-stream@^
|
195
|
-
version "
|
196
|
-
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-
|
197
|
-
integrity sha512-
|
194
|
+
is-stream@^3.0.0:
|
195
|
+
version "3.0.0"
|
196
|
+
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-3.0.0.tgz#e6bfd7aa6bef69f4f472ce9bb681e3e57b4319ac"
|
197
|
+
integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==
|
198
198
|
|
199
199
|
isexe@^2.0.0:
|
200
200
|
version "2.0.0"
|
201
201
|
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
|
202
202
|
integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
|
203
203
|
|
204
|
-
lilconfig@2.0.
|
205
|
-
version "2.0.
|
206
|
-
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.
|
207
|
-
integrity sha512-
|
204
|
+
lilconfig@2.0.6:
|
205
|
+
version "2.0.6"
|
206
|
+
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4"
|
207
|
+
integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==
|
208
208
|
|
209
|
-
lint-staged@^
|
210
|
-
version "
|
211
|
-
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-
|
212
|
-
integrity sha512-
|
209
|
+
lint-staged@^13.1.2:
|
210
|
+
version "13.1.2"
|
211
|
+
resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-13.1.2.tgz#443636a0cfd834d5518d57d228130dc04c83d6fb"
|
212
|
+
integrity sha512-K9b4FPbWkpnupvK3WXZLbgu9pchUJ6N7TtVZjbaPsoizkqFUDkUReUL25xdrCljJs7uLUF3tZ7nVPeo/6lp+6w==
|
213
213
|
dependencies:
|
214
214
|
cli-truncate "^3.1.0"
|
215
|
-
colorette "^2.0.
|
216
|
-
commander "^
|
217
|
-
debug "^4.3.
|
218
|
-
execa "^
|
219
|
-
lilconfig "2.0.
|
220
|
-
listr2 "^
|
221
|
-
micromatch "^4.0.
|
215
|
+
colorette "^2.0.19"
|
216
|
+
commander "^9.4.1"
|
217
|
+
debug "^4.3.4"
|
218
|
+
execa "^6.1.0"
|
219
|
+
lilconfig "2.0.6"
|
220
|
+
listr2 "^5.0.5"
|
221
|
+
micromatch "^4.0.5"
|
222
222
|
normalize-path "^3.0.0"
|
223
|
-
object-inspect "^1.12.
|
223
|
+
object-inspect "^1.12.2"
|
224
|
+
pidtree "^0.6.0"
|
224
225
|
string-argv "^0.3.1"
|
225
|
-
|
226
|
-
yaml "^1.10.2"
|
226
|
+
yaml "^2.1.3"
|
227
227
|
|
228
|
-
listr2@^
|
229
|
-
version "
|
230
|
-
resolved "https://registry.yarnpkg.com/listr2/-/listr2-
|
231
|
-
integrity sha512-
|
228
|
+
listr2@^5.0.5:
|
229
|
+
version "5.0.5"
|
230
|
+
resolved "https://registry.yarnpkg.com/listr2/-/listr2-5.0.5.tgz#4651a940d12b984abecfae4450e40edd5695f808"
|
231
|
+
integrity sha512-DpBel6fczu7oQKTXMekeprc0o3XDgGMkD7JNYyX+X0xbwK+xgrx9dcyKoXKqpLSUvAWfmoePS7kavniOcq3r4w==
|
232
232
|
dependencies:
|
233
233
|
cli-truncate "^2.1.0"
|
234
|
-
colorette "^2.0.
|
234
|
+
colorette "^2.0.19"
|
235
235
|
log-update "^4.0.0"
|
236
236
|
p-map "^4.0.0"
|
237
237
|
rfdc "^1.3.0"
|
238
|
-
rxjs "^7.5.
|
238
|
+
rxjs "^7.5.6"
|
239
239
|
through "^2.3.8"
|
240
240
|
wrap-ansi "^7.0.0"
|
241
241
|
|
@@ -254,19 +254,24 @@ merge-stream@^2.0.0:
|
|
254
254
|
resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
|
255
255
|
integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
|
256
256
|
|
257
|
-
micromatch@^4.0.
|
258
|
-
version "4.0.
|
259
|
-
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.
|
260
|
-
integrity sha512-
|
257
|
+
micromatch@^4.0.5:
|
258
|
+
version "4.0.5"
|
259
|
+
resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6"
|
260
|
+
integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==
|
261
261
|
dependencies:
|
262
|
-
braces "^3.0.
|
263
|
-
picomatch "^2.
|
262
|
+
braces "^3.0.2"
|
263
|
+
picomatch "^2.3.1"
|
264
264
|
|
265
265
|
mimic-fn@^2.1.0:
|
266
266
|
version "2.1.0"
|
267
267
|
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
|
268
268
|
integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
|
269
269
|
|
270
|
+
mimic-fn@^4.0.0:
|
271
|
+
version "4.0.0"
|
272
|
+
resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc"
|
273
|
+
integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==
|
274
|
+
|
270
275
|
ms@2.1.2:
|
271
276
|
version "2.1.2"
|
272
277
|
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
|
@@ -277,25 +282,32 @@ normalize-path@^3.0.0:
|
|
277
282
|
resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
|
278
283
|
integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
|
279
284
|
|
280
|
-
npm-run-path@^
|
281
|
-
version "
|
282
|
-
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-
|
283
|
-
integrity sha512-
|
285
|
+
npm-run-path@^5.1.0:
|
286
|
+
version "5.1.0"
|
287
|
+
resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-5.1.0.tgz#bc62f7f3f6952d9894bd08944ba011a6ee7b7e00"
|
288
|
+
integrity sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==
|
284
289
|
dependencies:
|
285
|
-
path-key "^
|
290
|
+
path-key "^4.0.0"
|
286
291
|
|
287
|
-
object-inspect@^1.12.
|
288
|
-
version "1.12.
|
289
|
-
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.
|
290
|
-
integrity sha512-
|
292
|
+
object-inspect@^1.12.2:
|
293
|
+
version "1.12.2"
|
294
|
+
resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea"
|
295
|
+
integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==
|
291
296
|
|
292
|
-
onetime@^5.1.0
|
297
|
+
onetime@^5.1.0:
|
293
298
|
version "5.1.2"
|
294
299
|
resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
|
295
300
|
integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
|
296
301
|
dependencies:
|
297
302
|
mimic-fn "^2.1.0"
|
298
303
|
|
304
|
+
onetime@^6.0.0:
|
305
|
+
version "6.0.0"
|
306
|
+
resolved "https://registry.yarnpkg.com/onetime/-/onetime-6.0.0.tgz#7c24c18ed1fd2e9bca4bd26806a33613c77d34b4"
|
307
|
+
integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==
|
308
|
+
dependencies:
|
309
|
+
mimic-fn "^4.0.0"
|
310
|
+
|
299
311
|
p-map@^4.0.0:
|
300
312
|
version "4.0.0"
|
301
313
|
resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
|
@@ -303,15 +315,25 @@ p-map@^4.0.0:
|
|
303
315
|
dependencies:
|
304
316
|
aggregate-error "^3.0.0"
|
305
317
|
|
306
|
-
path-key@^3.
|
318
|
+
path-key@^3.1.0:
|
307
319
|
version "3.1.1"
|
308
320
|
resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
|
309
321
|
integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
|
310
322
|
|
311
|
-
|
312
|
-
version "
|
313
|
-
resolved "https://registry.yarnpkg.com/
|
314
|
-
integrity sha512-
|
323
|
+
path-key@^4.0.0:
|
324
|
+
version "4.0.0"
|
325
|
+
resolved "https://registry.yarnpkg.com/path-key/-/path-key-4.0.0.tgz#295588dc3aee64154f877adb9d780b81c554bf18"
|
326
|
+
integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
|
327
|
+
|
328
|
+
picomatch@^2.3.1:
|
329
|
+
version "2.3.1"
|
330
|
+
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
|
331
|
+
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
|
332
|
+
|
333
|
+
pidtree@^0.6.0:
|
334
|
+
version "0.6.0"
|
335
|
+
resolved "https://registry.yarnpkg.com/pidtree/-/pidtree-0.6.0.tgz#90ad7b6d42d5841e69e0a2419ef38f8883aa057c"
|
336
|
+
integrity sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==
|
315
337
|
|
316
338
|
prettier@>=2.3.0:
|
317
339
|
version "2.4.1"
|
@@ -331,10 +353,10 @@ rfdc@^1.3.0:
|
|
331
353
|
resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b"
|
332
354
|
integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
|
333
355
|
|
334
|
-
rxjs@^7.5.
|
335
|
-
version "7.5.
|
336
|
-
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.
|
337
|
-
integrity sha512-
|
356
|
+
rxjs@^7.5.6:
|
357
|
+
version "7.5.7"
|
358
|
+
resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.7.tgz#2ec0d57fdc89ece220d2e702730ae8f1e49def39"
|
359
|
+
integrity sha512-z9MzKh/UcOqB3i20H6rtrlaE/CgjLOvheWK/9ILrbhROGTweAi1BaFsTT9FbwZi5Trr1qNRs+MXkhmR06awzQA==
|
338
360
|
dependencies:
|
339
361
|
tslib "^2.1.0"
|
340
362
|
|
@@ -350,11 +372,16 @@ shebang-regex@^3.0.0:
|
|
350
372
|
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
|
351
373
|
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
|
352
374
|
|
353
|
-
signal-exit@^3.0.2
|
375
|
+
signal-exit@^3.0.2:
|
354
376
|
version "3.0.3"
|
355
377
|
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
|
356
378
|
integrity sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==
|
357
379
|
|
380
|
+
signal-exit@^3.0.7:
|
381
|
+
version "3.0.7"
|
382
|
+
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
|
383
|
+
integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
|
384
|
+
|
358
385
|
slice-ansi@^3.0.0:
|
359
386
|
version "3.0.0"
|
360
387
|
resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
|
@@ -418,15 +445,10 @@ strip-ansi@^7.0.1:
|
|
418
445
|
dependencies:
|
419
446
|
ansi-regex "^6.0.1"
|
420
447
|
|
421
|
-
strip-final-newline@^
|
422
|
-
version "
|
423
|
-
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-
|
424
|
-
integrity sha512-
|
425
|
-
|
426
|
-
supports-color@^9.2.1:
|
427
|
-
version "9.2.1"
|
428
|
-
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-9.2.1.tgz#599dc9d45acf74c6176e0d880bab1d7d718fe891"
|
429
|
-
integrity sha512-Obv7ycoCTG51N7y175StI9BlAXrmgZrFhZOb0/PyjHBher/NmsdBgbbQ1Inhq+gIhz6+7Gb+jWF2Vqi7Mf1xnQ==
|
448
|
+
strip-final-newline@^3.0.0:
|
449
|
+
version "3.0.0"
|
450
|
+
resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-3.0.0.tgz#52894c313fbff318835280aed60ff71ebf12b8fd"
|
451
|
+
integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==
|
430
452
|
|
431
453
|
through@^2.3.8:
|
432
454
|
version "2.3.8"
|
@@ -475,7 +497,7 @@ wrap-ansi@^7.0.0:
|
|
475
497
|
string-width "^4.1.0"
|
476
498
|
strip-ansi "^6.0.0"
|
477
499
|
|
478
|
-
yaml@^1.
|
479
|
-
version "1.
|
480
|
-
resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.
|
481
|
-
integrity sha512-
|
500
|
+
yaml@^2.1.3:
|
501
|
+
version "2.1.3"
|
502
|
+
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.1.3.tgz#9b3a4c8aff9821b696275c79a8bee8399d945207"
|
503
|
+
integrity sha512-AacA8nRULjKMX2DvWvOAdBZMOfQlypSFkjcOcu9FalllIDJ1kvlREzcdIZmidQUqqeMv7jorHjq2HlLv/+c2lg==
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blinka-reporter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Wessman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-02-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -44,14 +44,14 @@ dependencies:
|
|
44
44
|
requirements:
|
45
45
|
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
|
-
version: 2.
|
47
|
+
version: 2.8.0
|
48
48
|
type: :development
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version: 2.
|
54
|
+
version: 2.8.0
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: minitest
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
75
|
+
version: '2.0'
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
82
|
+
version: '2.0'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: rake
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -165,7 +165,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
165
|
- !ruby/object:Gem::Version
|
166
166
|
version: '0'
|
167
167
|
requirements: []
|
168
|
-
rubygems_version: 3.
|
168
|
+
rubygems_version: 3.4.1
|
169
169
|
signing_key:
|
170
170
|
specification_version: 4
|
171
171
|
summary: Format tests for Blinka
|