summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2022-10-05 14:16:57 +0200
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2022-10-18 16:33:15 +0900
commite956caea88b67cc1a1b42b95327190c63d45888a (patch)
treedfa19d53f00c2beb53547687a6a72a2ac9ace395
parent56ad79694ba18789cb26a85dd693d51d96a092c3 (diff)
[rubygems/rubygems] Extract matcher for slow perf spec
https://github.com/rubygems/rubygems/commit/1c0eb63c6a
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/6578
-rw-r--r--spec/bundler/realworld/slow_perf_spec.rb8
-rw-r--r--spec/bundler/support/matchers.rb12
2 files changed, 13 insertions, 7 deletions
diff --git a/spec/bundler/realworld/slow_perf_spec.rb b/spec/bundler/realworld/slow_perf_spec.rb
index 9f11821bf5..467e740cb4 100644
--- a/spec/bundler/realworld/slow_perf_spec.rb
+++ b/spec/bundler/realworld/slow_perf_spec.rb
@@ -11,12 +11,6 @@ RSpec.describe "bundle install with complex dependencies", :realworld => true do
gem "mongoid", ">= 0.10.2"
G
- start_time = Time.now
-
- bundle "lock"
-
- duration = Time.now - start_time
-
- expect(duration.to_f).to be < 18 # seconds
+ expect { bundle "lock" }.to take_less_than(18) # seconds
end
end
diff --git a/spec/bundler/support/matchers.rb b/spec/bundler/support/matchers.rb
index ce6b216619..8b22e7dbc3 100644
--- a/spec/bundler/support/matchers.rb
+++ b/spec/bundler/support/matchers.rb
@@ -97,6 +97,18 @@ module Spec
end
end
+ RSpec::Matchers.define :take_less_than do |seconds|
+ match do |actual|
+ start_time = Time.now
+
+ actual.call
+
+ (Time.now - start_time).to_f < seconds
+ end
+
+ supports_block_expectations
+ end
+
define_compound_matcher :read_as, [exist] do |file_contents|
diffable