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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9c1fc7642c8c305df691452e7c08bf3d0f5cd3f93942fe05123727e7190ce43c
4
- data.tar.gz: 5695c3b9e7e5db14f9584515a06b1abbbe36f40900f90226e8f8cf8bfdc6922a
3
+ metadata.gz: 0d5dac4b2e59cda85f61acde510a71b5f735d5584ab3aba859a6a01b1af73664
4
+ data.tar.gz: 3d2ad1ee927ef0d09d8585c067ece1975799705f0ce964ed094f3f19cd7cfe7e
5
5
  SHA512:
6
- metadata.gz: 6e3b2bfaf92e19ac3630f3bd89f84f5f53ad065b3c41e47fa8a1f0f80f2300b68ce6eec6368ebd50b9bfa5208ddf75c3c206e5875bbc440bca6ad403c24fe79e
7
- data.tar.gz: 2449352484f17be048e5b84c37a715e2130402832481a61534a344ccba7cedb42074d653570f513d33cfbe13907ab5846946b3fe52519804e4893e6de75009a9
6
+ metadata.gz: 9f6ed24e9caaf3c740064eaaa229717a24a52d41d2bcdf02650e5f3b151dd04beedc72950411a4a813aebc445e7a6316f991d9c9a42d5283b5378009752f8c13
7
+ data.tar.gz: 6364c8edf5577d79ae45ac4bf1afaff97faa68d39aa41e2bf3d888c122b90d38cd9108e4a615bfe8fc2ca67332255fb3da63efea34da8b247978d931861e2b65
@@ -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@v2
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
- BLINKA_JSON: true
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 to Blinka
40
+ - name: Report TAP-results
40
41
  if: always()
41
- env:
42
- BLINKA_REPOSITORY: davidwessman/blinka_reporter
43
- BLINKA_TEAM_ID: ${{ secrets.BLINKA_TEAM_ID }}
44
- BLINKA_TEAM_SECRET: ${{ secrets.BLINKA_TEAM_SECRET }}
45
- BLINKA_TAG: ${{ matrix.ruby }}
46
- run: blinka_reporter --blinka --tap --path ./blinka_results.json
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
@@ -26,3 +26,4 @@ yarn-error.log*
26
26
  .yarn-integrity
27
27
 
28
28
  /blinka_results.json
29
+ /results.json
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.6.1...HEAD
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-repoter', '~> 0.5.0'
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
- BLINKA_JSON=true bundle exec rails test
38
+ BLINKA_PATH=./tests.json bundle exec rails test
39
39
  ```
40
40
 
41
- Output as `./blinka_results.json`
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. Configure `BLINKA_TEAM_ID`, `BLINKA_TEAM_SECRET`, `BLINKA_REPOSITORY`.
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
- env:
69
- BLINKA_COMMIT: ${{ github.event.pull_request.head.sha || github.sha }}
70
- BLINKA_REPOSITORY: davidwessman/blinka_reporter
71
- BLINKA_TAG: ""
72
- BLINKA_TEAM_ID: ${{ secrets.BLINKA_TEAM_ID }}
73
- BLINKA_TEAM_SECRET: ${{ secrets.BLINKA_TEAM_SECRET }}
74
- run: bundle exec blinka_reporter --path ./blinka_results.json --blinka
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
- env:
82
- BLINKA_COMMIT: ${{ github.event.pull_request.head.sha || github.sha }}
83
- BLINKA_REPOSITORY: davidwessman/blinka_reporter
84
- BLINKA_TAG: ""
85
- BLINKA_TEAM_ID: ${{ secrets.BLINKA_TEAM_ID }}
86
- BLINKA_TEAM_SECRET: ${{ secrets.BLINKA_TEAM_SECRET }}
87
- run: bundle exec blinka_reporter --path ./rspec.xml --blinka
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
- `BLINKA_TAG` is optional and can be used to separate different reports, for example when using a build matrix.
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
- By first using `BLINKA_JSON` it will create a clean file, `BLINKA_APPEND` will append the results.
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
- BLINKA_JSON: true
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: true
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
- env:
114
- BLINKA_COMMIT: ${{ github.event.pull_request.head.sha || github.sha }}
115
- BLINKA_REPOSITORY: davidwessman/blinka_reporter
116
- BLINKA_TAG: ""
117
- BLINKA_TEAM_ID: ${{ secrets.BLINKA_TEAM_ID }}
118
- BLINKA_TEAM_SECRET: ${{ secrets.BLINKA_TEAM_SECRET }}
119
- run: bundle exec blinka_reporter --path ./blinka_results.json --blinka
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?
@@ -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.7.6')
36
+ gem.add_development_dependency('dotenv', '~> 2.8.0')
37
37
  gem.add_development_dependency('minitest', '~> 5.0')
38
- gem.add_development_dependency('mocha', '~> 1.12')
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(BlinkaReporter::Error, 'Could not authenticate to API')
102
+ raise(
103
+ BlinkaReporter::Error,
104
+ "Could not authenticate to API #{response.code}"
105
+ )
103
106
  end
104
107
  end
105
108
 
@@ -9,28 +9,58 @@ module BlinkaReporter
9
9
  blinka_reporter version #{BlinkaReporter::VERSION}
10
10
 
11
11
  Options:
12
- --tap: Flag for outputting test results in TAP-protocol, helpful on Heroku CI.
13
- --blinka: Flag for reporting test results to blinka.app, requires setting environment:
14
- - BLINKA_TEAM_ID
15
- - BLINKA_TEAM_SECRET
16
- - BLINKA_REPOSITORY
17
- --path <path>: Path to test results file, works for
18
- - ./blinka_results.json blinka json format [default]
19
- - ./rspec.xml from https://github.com/sj26/rspec_junit_formatter
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
- path = argv_value_for(argv, '--path') || './blinka_results.json'
27
- BlinkaReporter::Client.report(blinka: blinka, tap: tap, path: path)
28
- 0
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
- return unless (index = argv.index(option_name))
33
- argv[index + 1]
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 initialize
12
- @config = BlinkaReporter::Config.new
13
- end
14
-
15
- def report(path: './blinka_results.json', blinka: false, tap: false)
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
- "Unknown format of #{path}, needs to be .json or .xml"
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: @config, data: data) if blinka
41
+ BlinkaReporter::Blinka.report(config: config, data: data) if blinka
37
42
  0
38
43
  end
39
44
 
40
- def self.report(path:, tap: false, blinka: false)
41
- Client.new.report(path: path, tap: tap, blinka: blinka)
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 self.parse_json(path:)
58
+ def parse_json(path:)
45
59
  JSON.parse(File.open(path).read, symbolize_names: true)
46
60
  end
47
61
 
48
- def self.parse_xml(path:)
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 self.xml_seed(ox_properties)
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 self.xml_test_cases(test_cases)
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 self.get_image_path(backtrace)
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
- @commit = find_commit
9
- @host = ENV.fetch('BLINKA_HOST', 'https://www.blinka.app')
10
- @repository = ENV.fetch('BLINKA_REPOSITORY', nil)
11
- @tag = ENV.fetch('BLINKA_TAG', nil)
12
- @team_id = ENV.fetch('BLINKA_TEAM_ID', nil)
13
- @team_secret = ENV.fetch('BLINKA_TEAM_SECRET', nil)
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
- if @team_id.nil? || @team_secret.nil? || @repository.nil?
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 required environment variables:
20
- - BLINKA_TEAM_ID
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
@@ -1,3 +1,3 @@
1
1
  module BlinkaReporter
2
- VERSION = '0.6.1'.freeze
2
+ VERSION = '0.7.1'.freeze
3
3
  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(append: !ENV['BLINKA_APPEND'].nil?) if ENV['BLINKA_JSON']
32
- rescue BlinkaReporter::Client::BlinkaReporter::Error => error
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(append:)
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.map do |test_result|
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(REPORT_PATH, 'w+') do |file|
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 `#{REPORT_PATH}`")
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.0.0",
8
- "husky": "^7.0.4",
9
- "lint-staged": "^12.3.4"
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.0.0":
6
- version "2.0.0"
7
- resolved "https://registry.yarnpkg.com/@prettier/plugin-ruby/-/plugin-ruby-2.0.0.tgz#a9f2d4183b56a9db9f80bbc685832a3b78685793"
8
- integrity sha512-pA0rjTi5J7cT86XPNhXp7CpdV2Tlyj5oqDIsnQRxMu2P7LY2KJI/pyOSM8pzTH8BgRyQfe1P1NPCcTwxUnUWtQ==
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.1:
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.16:
102
- version "2.0.16"
103
- resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da"
104
- integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==
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@^8.3.0:
107
- version "8.3.0"
108
- resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
109
- integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
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.3:
121
- version "4.3.3"
122
- resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
123
- integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
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@^5.1.1:
138
- version "5.1.1"
139
- resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
140
- integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
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.0"
144
- human-signals "^2.1.0"
145
- is-stream "^2.0.0"
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 "^4.0.1"
148
- onetime "^5.1.2"
149
- signal-exit "^3.0.3"
150
- strip-final-newline "^2.0.0"
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.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@^2.1.0:
165
- version "2.1.0"
166
- resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
167
- integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
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@^7.0.4:
170
- version "7.0.4"
171
- resolved "https://registry.yarnpkg.com/husky/-/husky-7.0.4.tgz#242048245dc49c8fb1bf0cc7cfb98dd722531535"
172
- integrity sha512-vbaCKN2QLtP/vD4yvs6iz6hBEo6wkSzs8HpRah1Z6aGmF2KW5PdYuAd7uX5a+OyBZHBhd+TFLqgjUgytQr4RvQ==
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@^2.0.0:
195
- version "2.0.0"
196
- resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.0.tgz#bde9c32680d6fae04129d6ac9d921ce7815f78e3"
197
- integrity sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==
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.4:
205
- version "2.0.4"
206
- resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.4.tgz#f4507d043d7058b380b6a8f5cb7bcd4b34cee082"
207
- integrity sha512-bfTIN7lEsiooCocSISTWXkiWJkRqtL9wYtYy+8EK3Y41qh3mpwPU0ycTOgjdY9ErwXCc8QyrQp82bdL0Xkm9yA==
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@^12.3.4:
210
- version "12.3.4"
211
- resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-12.3.4.tgz#4b1ff8c394c3e6da436aaec5afd4db18b5dac360"
212
- integrity sha512-yv/iK4WwZ7/v0GtVkNb3R82pdL9M+ScpIbJLJNyCXkJ1FGaXvRCOg/SeL59SZtPpqZhE7BD6kPKFLIDUhDx2/w==
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.16"
216
- commander "^8.3.0"
217
- debug "^4.3.3"
218
- execa "^5.1.1"
219
- lilconfig "2.0.4"
220
- listr2 "^4.0.1"
221
- micromatch "^4.0.4"
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.0"
223
+ object-inspect "^1.12.2"
224
+ pidtree "^0.6.0"
224
225
  string-argv "^0.3.1"
225
- supports-color "^9.2.1"
226
- yaml "^1.10.2"
226
+ yaml "^2.1.3"
227
227
 
228
- listr2@^4.0.1:
229
- version "4.0.1"
230
- resolved "https://registry.yarnpkg.com/listr2/-/listr2-4.0.1.tgz#e050c1fd390276e191f582603d6e3531cd6fd2b3"
231
- integrity sha512-D65Nl+zyYHL2jQBGmxtH/pU8koPZo5C8iCNE8EoB04RwPgQG1wuaKwVbeZv9LJpiH4Nxs0FCp+nNcG8OqpniiA==
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.16"
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.2"
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.4:
258
- version "4.0.4"
259
- resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
260
- integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
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.1"
263
- picomatch "^2.2.3"
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@^4.0.1:
281
- version "4.0.1"
282
- resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
283
- integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
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 "^3.0.0"
290
+ path-key "^4.0.0"
286
291
 
287
- object-inspect@^1.12.0:
288
- version "1.12.0"
289
- resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0"
290
- integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==
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, onetime@^5.1.2:
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.0.0, path-key@^3.1.0:
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
- picomatch@^2.2.3:
312
- version "2.2.3"
313
- resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.2.3.tgz#465547f359ccc206d3c48e46a1bcb89bf7ee619d"
314
- integrity sha512-KpELjfwcCDUb9PeigTs2mBJzXUPzAuP2oPcA989He8Rte0+YUAjw1JVedDhuTKPkHjSYzMN3npC9luThGYEKdg==
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.2:
335
- version "7.5.2"
336
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b"
337
- integrity sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==
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, signal-exit@^3.0.3:
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@^2.0.0:
422
- version "2.0.0"
423
- resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
424
- integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
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.10.2:
479
- version "1.10.2"
480
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
481
- integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
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.6.1
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: 2022-02-27 00:00:00.000000000 Z
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.7.6
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.7.6
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: '1.12'
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: '1.12'
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.2.7
168
+ rubygems_version: 3.4.1
169
169
  signing_key:
170
170
  specification_version: 4
171
171
  summary: Format tests for Blinka