test-prof 1.4.0 → 1.4.1

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: 6636a3c69af7cd067079bd1e91ef72d38b650a372a13e6363c3de9e510a8970b
4
- data.tar.gz: 2f1a503a8adcf4af85cad6b98ab4682394c5222b1f5290cc6aaeec97da77ef06
3
+ metadata.gz: 573636b6655a08f1cfa650a2cf0d0136bbbbc85b7e2b84cf76969698fb92b597
4
+ data.tar.gz: 55e1c58e1a1ed27fd56862c0be79737f3b2261d31bec306a1264b8c08e77c37a
5
5
  SHA512:
6
- metadata.gz: 68701c8c91b20f810ff93f3e3360d4f8f7b3210a2014f3a4463542b0e31b657ab3093da4eaf4b2bf9cee59d1e99ded9ef51d83e7a27855f05113f681219f7888
7
- data.tar.gz: 438a4297ebff65d6f9d5aec752775a638f5c6255c63d439f278eda596825595c2b6d74cc609057c42712247a98eefb07c42dcd1133d4d1ae5162898a2af5068c
6
+ metadata.gz: f26c70dd8a5bc0379fc38f49834da4ae2b43bdd5d79f4290a5147a4b4c22255dc9eee1a8d0b4ecce2003625afd295656a6745b1111fce6c9e9dfd618b9c0fe91
7
+ data.tar.gz: b44cd50ef268582467f18956475d6d767cbea0aef3f78f5ddbdf966d1ba6a07749a9481390fce75be1a667cd9cc8d0e7673868357c7fd241a5cf1e5dea18a02b
data/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  ## master (unreleased)
4
4
 
5
+ ## 1.4.1 (2024-08-23)
6
+
7
+ - Skips loading the ActiveRecord adapter for runs where RSpec --dry-run mode is enabled. ([@devinburnette][])
8
+
5
9
  ## 1.4.0 (2024-08-12)
6
10
 
7
11
  - AnyFixture: Disable fixtures cache within _clean fixture_ context. Automatically _refind_ records when using `#fixture`. ([@palkan][])
@@ -434,3 +438,4 @@ See [changelog](https://github.com/test-prof/test-prof/blob/v0.8.0/CHANGELOG.md)
434
438
  [@lioneldebauge]: https://github.com/lioneldebauge
435
439
  [@lHydra]: https://github.com/lHydra
436
440
  [@john-h-k]: https://github.com/john-h-k
441
+ [@devinburnette]: https://github.com/devinburnette
@@ -14,8 +14,26 @@ module TestProf
14
14
  end
15
15
  end
16
16
 
17
+ # Used in dry-run mode
18
+ class NoopAdapter
19
+ class << self
20
+ def begin_transaction(...)
21
+ end
22
+
23
+ def rollback_transaction(...)
24
+ end
25
+
26
+ def setup_fixtures(...)
27
+ end
28
+ end
29
+ end
30
+
17
31
  class << self
18
- attr_accessor :adapter
32
+ attr_writer :adapter
33
+
34
+ def adapter
35
+ @adapter ||= default_adapter
36
+ end
19
37
 
20
38
  def begin_transaction(scope = nil, metadata = [])
21
39
  raise AdapterMissing if adapter.nil?
@@ -47,6 +65,17 @@ module TestProf
47
65
  def configure
48
66
  yield config
49
67
  end
68
+
69
+ private
70
+
71
+ def default_adapter
72
+ return NoopAdapter if TestProf.dry_run?
73
+
74
+ if defined?(::ActiveRecord::Base)
75
+ require "test_prof/before_all/adapters/active_record"
76
+ Adapters::ActiveRecord
77
+ end
78
+ end
50
79
  end
51
80
 
52
81
  class HookEntry # :nodoc:
@@ -138,12 +167,6 @@ module TestProf
138
167
  end
139
168
  end
140
169
 
141
- if defined?(::ActiveRecord::Base)
142
- require "test_prof/before_all/adapters/active_record"
143
-
144
- TestProf::BeforeAll.adapter = TestProf::BeforeAll::Adapters::ActiveRecord
145
- end
146
-
147
170
  if defined?(::Isolator)
148
171
  require "test_prof/before_all/isolator"
149
172
  end
@@ -64,7 +64,7 @@ module RuboCop
64
64
  return super unless its?(example.send_node)
65
65
 
66
66
  # First parameter to `its` is not metadata.
67
- example.send_node.arguments[1..-1]
67
+ example.send_node.arguments[1..]
68
68
  end
69
69
 
70
70
  def its?(node)
@@ -123,7 +123,7 @@ module RuboCop
123
123
  def on_block(node)
124
124
  example_group_with_several_examples(node) do |all_examples|
125
125
  example_clusters(all_examples).each do |_, examples|
126
- examples[1..-1].each do |example|
126
+ examples[1..].each do |example|
127
127
  add_offense(example,
128
128
  location: :expression,
129
129
  message: message_for(example, examples[0]))
@@ -141,7 +141,7 @@ module RuboCop
141
141
  range = range_for_replace(examples)
142
142
  replacement = aggregated_example(examples, metadata)
143
143
  corrector.replace(range, replacement)
144
- examples[1..-1].map { |example| drop_example(corrector, example) }
144
+ examples[1..].map { |example| drop_example(corrector, example) }
145
145
  end
146
146
  end
147
147
  end
@@ -75,6 +75,10 @@ module TestProf
75
75
  defined?(::Spring::Application) && (disabled.nil? || disabled.empty? || disabled == "0")
76
76
  end
77
77
 
78
+ def dry_run?
79
+ rspec? && ::RSpec.configuration.dry_run?
80
+ end
81
+
78
82
  # Returns the current process time
79
83
  def now
80
84
  Process.clock_gettime_for_test_prof(Process::CLOCK_MONOTONIC)
@@ -12,7 +12,7 @@ module TestProf
12
12
  head = ((limit - 3) / 2)
13
13
  tail = head + 3 - limit
14
14
 
15
- "#{self[0..(head - 1)]}...#{self[tail..-1]}"
15
+ "#{self[0..(head - 1)]}...#{self[tail..]}"
16
16
  end
17
17
  end
18
18
  end
@@ -143,7 +143,7 @@ module TestProf
143
143
  elsif expr.first == :@const
144
144
  expr[1]
145
145
  elsif expr.first == :const_path_ref
146
- expr[1..-1].map(&method(:parse_const)).join("::")
146
+ expr[1..].map(&method(:parse_const)).join("::")
147
147
  end
148
148
  end
149
149
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module TestProf
4
- VERSION = "1.4.0"
4
+ VERSION = "1.4.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: test-prof
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vladimir Dementyev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-08-12 00:00:00.000000000 Z
11
+ date: 2024-08-23 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler