test-prof 1.6.1 → 1.6.2

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: 5ac10497abf78e9ad7d4e1d2f57b32c0fc44ae56249f37da9203f03fdbca5595
4
- data.tar.gz: 6dc4fb07e9810e0f527313a75b0317d180c6655d1e85ebe243b8a8e5b962d5a6
3
+ metadata.gz: 72badfce23d7dbe5d30e831145aeda6d6a0764b8fc4216fbacd1ee5feaf4ff10
4
+ data.tar.gz: 3ee75570775da64444ed2a000c6cf851690bbe2b886b65c595e7e8cef65c7dde
5
5
  SHA512:
6
- metadata.gz: 9c62b3cae07b00f77c5ac8ecf11ad915a4bcd1082a67bc6a7f1d2cfb9a639ea8b4a06fd420a57b18c106cbebc90afeaaa27c56c5d81f1e5b9d9521f5196d7a09
7
- data.tar.gz: 36b0f65592d9d86c670eb44950fbc66552b6cbbddbb6d30a089754561e7f5db8570b14e2bb1cd17be9085f7820134dd9ca4c4a7e5f02f9784657dd04dd0c6c59
6
+ metadata.gz: 4b1f225a579283031fa9596b33e83349c70b099e896c30ec64d22cce39840d363f18e814e1568e44f15949ac3806ff9135672afabe071b82c627eab5a66aba9b
7
+ data.tar.gz: 633da253533f3e5e1cc62c7c96868611bb725b6c1448d43d9be44ec1afb5093eb5ac08dd6f5b54f8300318b8d97618c2b89f218aa397740b70ebe63af2c22520
data/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  ## master (unreleased)
4
4
 
5
+ ## 1.6.2 (2026-07-16)
6
+
7
+ - Add `logger` as a runtime dependency (it's no longer a default gem in Ruby 4.0). ([@moznion][])
8
+
9
+ - Fix `RSpecDissect` crashing with `undefined method 'last' for nil` when a `let` is evaluated on a non-example thread (e.g. a Capybara `:js`/system spec server thread). The span-stack thread-local is now lazily initialized so off-example-thread access is a safe no-op.
10
+
11
+ - Add support for ruby-prof's FlameGraphPrinter
12
+
5
13
  ## 1.6.1 (2026-04-02)
6
14
 
7
15
  - Require MFA to publish the gem.
@@ -506,3 +514,4 @@ See [changelog](https://github.com/test-prof/test-prof/blob/v0.8.0/CHANGELOG.md)
506
514
  [@elasticspoon]: https://github.com/elasticspoon
507
515
  [@Rylan12]: https://github.com/Rylan12
508
516
  [@kddnewton]: https://github.com/kddnewton
517
+ [@moznion]: https://github.com/moznion
@@ -86,11 +86,11 @@ module TestProf
86
86
  end
87
87
 
88
88
  def current_span
89
- Thread.current[:_rspec_dissect_spans_stack].last
89
+ span_stack.last
90
90
  end
91
91
 
92
92
  def span_stack
93
- Thread.current[:_rspec_dissect_spans_stack]
93
+ Thread.current[:_rspec_dissect_spans_stack] ||= []
94
94
  end
95
95
 
96
96
  def track(type, id: nextid, **meta)
@@ -31,7 +31,8 @@ module TestProf
31
31
  "." => "DotPrinter",
32
32
  "call_stack" => "CallStackPrinter",
33
33
  "call_tree" => "CallTreePrinter",
34
- "multi" => "MultiPrinter"
34
+ "multi" => "MultiPrinter",
35
+ "flame_graph" => "FlameGraphPrinter"
35
36
  }.freeze
36
37
 
37
38
  # Mapping from printer to report file extension
@@ -40,7 +41,8 @@ module TestProf
40
41
  "graph_html" => "html",
41
42
  "dot" => "dot",
42
43
  "." => "dot",
43
- "call_stack" => "html"
44
+ "call_stack" => "html",
45
+ "flame_graph" => "html"
44
46
  }.freeze
45
47
 
46
48
  LOGFILE_PREFIX = "ruby-prof-report"
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TestProf
4
- VERSION = "1.6.1"
4
+ VERSION = "1.6.2"
5
5
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-prof
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.6.1
4
+ version: 1.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladimir Dementyev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-02 00:00:00.000000000 Z
11
+ date: 2026-07-16 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: logger
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: bundler
15
29
  requirement: !ruby/object:Gem::Requirement