derailed_benchmarks 1.4.3 → 1.8.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/check_changelog.yml +11 -8
- data/.travis.yml +9 -7
- data/Appraisals +16 -16
- data/CHANGELOG.md +29 -1
- data/README.md +14 -4
- data/derailed_benchmarks.gemspec +4 -3
- data/gemfiles/rails_5_1.gemfile +3 -1
- data/gemfiles/rails_5_2.gemfile +3 -3
- data/lib/derailed_benchmarks.rb +2 -1
- data/lib/derailed_benchmarks/core_ext/kernel_require.rb +29 -24
- data/lib/derailed_benchmarks/git/commit.rb +36 -0
- data/lib/derailed_benchmarks/git/in_path.rb +59 -0
- data/lib/derailed_benchmarks/git/switch_project.rb +128 -0
- data/lib/derailed_benchmarks/git_switch_project.rb +1 -0
- data/lib/derailed_benchmarks/load_tasks.rb +11 -4
- data/lib/derailed_benchmarks/require_tree.rb +11 -1
- data/lib/derailed_benchmarks/{stats_in_file.rb → stats_for_file.rb} +8 -2
- data/lib/derailed_benchmarks/stats_from_dir.rb +68 -13
- data/lib/derailed_benchmarks/tasks.rb +34 -63
- data/lib/derailed_benchmarks/version.rb +1 -1
- data/test/derailed_benchmarks/core_ext/kernel_require_test.rb +70 -11
- data/test/derailed_benchmarks/git_switch_project_test.rb +83 -0
- data/test/derailed_benchmarks/require_tree_test.rb +1 -1
- data/test/derailed_benchmarks/stats_from_dir_test.rb +57 -9
- data/test/fixtures/require/autoload_child.rb +5 -0
- data/test/fixtures/require/autoload_parent.rb +8 -0
- data/test/fixtures/require/child_one.rb +1 -1
- data/test/fixtures/require/child_two.rb +1 -1
- data/test/fixtures/require/load_child.rb +3 -0
- data/test/fixtures/require/load_parent.rb +5 -0
- data/test/fixtures/require/parent_one.rb +1 -1
- data/test/integration/tasks_test.rb +43 -5
- data/test/rails_app/config/application.rb +2 -0
- data/test/test_helper.rb +6 -1
- metadata +46 -12
@@ -0,0 +1,83 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'test_helper'
|
4
|
+
|
5
|
+
class GitSwitchProjectTest < ActiveSupport::TestCase
|
6
|
+
test "tells me when it's not pointing at a git project" do
|
7
|
+
exception = assert_raises {
|
8
|
+
DerailedBenchmarks::Git::SwitchProject.new(path: "/dev/null")
|
9
|
+
}
|
10
|
+
assert_includes(exception.message, '.git directory')
|
11
|
+
end
|
12
|
+
|
13
|
+
test "dirty gemspec cleaning" do
|
14
|
+
Dir.mktmpdir do |dir|
|
15
|
+
run!("git clone https://github.com/sharpstone/default_ruby #{dir} 2>&1 && cd #{dir} && git checkout 6e642963acec0ff64af51bd6fba8db3c4176ed6e 2>&1 && git checkout -b mybranch 2>&1")
|
16
|
+
run!("cd #{dir} && echo lol > foo.gemspec && git add .")
|
17
|
+
|
18
|
+
io = StringIO.new
|
19
|
+
project = DerailedBenchmarks::Git::SwitchProject.new(path: dir, io: io)
|
20
|
+
|
21
|
+
assert project.dirty?
|
22
|
+
refute project.clean?
|
23
|
+
|
24
|
+
project.restore_branch_on_return do
|
25
|
+
project.commits.map(&:checkout!)
|
26
|
+
end
|
27
|
+
|
28
|
+
assert_includes io.string, "Bundler modifies gemspec files"
|
29
|
+
assert_includes io.string, "Applying stash"
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
test "works on a git repo" do
|
34
|
+
Dir.mktmpdir do |dir|
|
35
|
+
run!("git clone https://github.com/sharpstone/default_ruby #{dir} 2>&1 && cd #{dir} && git checkout 6e642963acec0ff64af51bd6fba8db3c4176ed6e 2>&1 && git checkout -b mybranch 2>&1")
|
36
|
+
|
37
|
+
# finds shas when none given
|
38
|
+
project = DerailedBenchmarks::Git::SwitchProject.new(path: dir)
|
39
|
+
|
40
|
+
assert_equal ["6e642963acec0ff64af51bd6fba8db3c4176ed6e", "da748a59340be8b950e7bbbfb32077eb67d70c3c"], project.commits.map(&:ref)
|
41
|
+
first_commit = project.commits.first
|
42
|
+
|
43
|
+
assert_equal "CI test support", first_commit.description
|
44
|
+
assert_equal "6e64296", first_commit.short_sha
|
45
|
+
assert_equal "/dev/null/6e642963acec0ff64af51bd6fba8db3c4176ed6e.bench.txt", first_commit.log.to_s
|
46
|
+
assert_equal DateTime.parse("Tue, 14 Apr 2020 13:26:03 -0500"), first_commit.time
|
47
|
+
|
48
|
+
assert_equal "mybranch", project.current_branch_or_sha
|
49
|
+
|
50
|
+
# Finds shas when 1 is given
|
51
|
+
project = DerailedBenchmarks::Git::SwitchProject.new(path: dir, ref_array: ["da748a59340be8b950e7bbbfb32077eb67d70c3c"])
|
52
|
+
|
53
|
+
assert_equal ["da748a59340be8b950e7bbbfb32077eb67d70c3c", "5c09f748957d2098182762004adee27d1ff83160"], project.commits.map(&:ref)
|
54
|
+
|
55
|
+
|
56
|
+
# Returns correct refs if given
|
57
|
+
project = DerailedBenchmarks::Git::SwitchProject.new(path: dir, ref_array: ["da748a59340be8b950e7bbbfb32077eb67d70c3c", "9b19275a592f148e2a53b87ead4ccd8c747539c9"])
|
58
|
+
|
59
|
+
assert_equal ["da748a59340be8b950e7bbbfb32077eb67d70c3c", "9b19275a592f148e2a53b87ead4ccd8c747539c9"], project.commits.map(&:ref)
|
60
|
+
|
61
|
+
first_commit = project.commits.first
|
62
|
+
|
63
|
+
first_commit.checkout!
|
64
|
+
|
65
|
+
assert_equal first_commit.short_sha, project.current_branch_or_sha
|
66
|
+
|
67
|
+
# Test restore_branch_on_return
|
68
|
+
project.restore_branch_on_return(quiet: true) do
|
69
|
+
project.commits.last.checkout!
|
70
|
+
|
71
|
+
assert_equal project.commits.last.short_sha, project.current_branch_or_sha
|
72
|
+
end
|
73
|
+
|
74
|
+
assert_equal project.commits.first.short_sha, project.current_branch_or_sha
|
75
|
+
|
76
|
+
exception = assert_raise {
|
77
|
+
DerailedBenchmarks::Git::SwitchProject.new(path: dir, ref_array: ["6e642963acec0ff64af51bd6fba8db3c4176ed6e", "mybranch"])
|
78
|
+
}
|
79
|
+
|
80
|
+
assert_includes(exception.message, 'Duplicate SHA resolved "6e64296"')
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
@@ -3,6 +3,19 @@
|
|
3
3
|
require 'test_helper'
|
4
4
|
|
5
5
|
class StatsFromDirTest < ActiveSupport::TestCase
|
6
|
+
test "empty files" do
|
7
|
+
Dir.mktmpdir do |dir|
|
8
|
+
dir = Pathname.new(dir)
|
9
|
+
branch_info = {}
|
10
|
+
branch_info["loser"] = { desc: "Old commit", time: Time.now, file: dir.join("loser"), name: "loser" }
|
11
|
+
branch_info["winner"] = { desc: "I am the new commit", time: Time.now + 1, file: dir.join("winner"), name: "winner" }
|
12
|
+
stats = DerailedBenchmarks::StatsFromDir.new(branch_info).call
|
13
|
+
io = StringIO.new
|
14
|
+
stats.call.banner(io: io) # Doesn't error
|
15
|
+
assert_equal "", io.read
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
6
19
|
test "that it works" do
|
7
20
|
dir = fixtures_dir("stats/significant")
|
8
21
|
branch_info = {}
|
@@ -19,7 +32,7 @@ class StatsFromDirTest < ActiveSupport::TestCase
|
|
19
32
|
assert_equal "loser", oldest.name
|
20
33
|
|
21
34
|
assert_in_delta 0.26, stats.d_max, 0.01
|
22
|
-
assert_in_delta 0.
|
35
|
+
assert_in_delta 0.2145966026289347, stats.d_critical, 0.00001
|
23
36
|
assert_equal true, stats.significant?
|
24
37
|
|
25
38
|
format = DerailedBenchmarks::StatsFromDir::FORMAT
|
@@ -27,14 +40,49 @@ class StatsFromDirTest < ActiveSupport::TestCase
|
|
27
40
|
assert_equal "0.6147", format % stats.percent_faster
|
28
41
|
|
29
42
|
assert_equal "11.3844", format % newest.median
|
30
|
-
|
43
|
+
end
|
31
44
|
|
32
|
-
test "
|
45
|
+
test "histogram output" do
|
46
|
+
dir = fixtures_dir("stats/significant")
|
47
|
+
branch_info = {}
|
48
|
+
branch_info["loser"] = { desc: "Old commit", time: Time.now, file: dir.join("loser.bench.txt"), name: "loser" }
|
49
|
+
branch_info["winner"] = { desc: "I am the new commit", time: Time.now + 1, file: dir.join("winner.bench.txt"), name: "winner" }
|
50
|
+
stats = DerailedBenchmarks::StatsFromDir.new(branch_info).call
|
51
|
+
|
52
|
+
io = StringIO.new
|
53
|
+
stats.call.banner(io)
|
54
|
+
|
55
|
+
assert_match(/11\.2 , 11\.28/, io.string)
|
56
|
+
assert_match(/11\.8 , 11\.88/, io.string)
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
test "alignment" do
|
33
61
|
dir = fixtures_dir("stats/significant")
|
34
62
|
branch_info = {}
|
35
63
|
branch_info["loser"] = { desc: "Old commit", time: Time.now, file: dir.join("loser.bench.txt"), name: "loser" }
|
36
64
|
branch_info["winner"] = { desc: "I am the new commit", time: Time.now + 1, file: dir.join("winner.bench.txt"), name: "winner" }
|
37
65
|
stats = DerailedBenchmarks::StatsFromDir.new(branch_info).call
|
66
|
+
def stats.percent_faster
|
67
|
+
-0.1
|
68
|
+
end
|
69
|
+
|
70
|
+
def stats.x_faster
|
71
|
+
0.9922
|
72
|
+
end
|
73
|
+
|
74
|
+
assert_equal 1, stats.align.length
|
75
|
+
end
|
76
|
+
|
77
|
+
test "banner faster" do
|
78
|
+
dir = fixtures_dir("stats/significant")
|
79
|
+
Branch_info = {}
|
80
|
+
|
81
|
+
require 'ostruct'
|
82
|
+
commits = []
|
83
|
+
commits << OpenStruct.new({ desc: "Old commit", time: Time.now, file: dir.join("loser.bench.txt"), ref: "loser", short_sha: "aaaaa" })
|
84
|
+
commits << OpenStruct.new({ desc: "I am the new commit", time: Time.now + 1, file: dir.join("winner.bench.txt"), ref: "winner", short_sha: "bbbbb" })
|
85
|
+
stats = DerailedBenchmarks::StatsFromDir.new(commits).call
|
38
86
|
newest = stats.newest
|
39
87
|
oldest = stats.oldest
|
40
88
|
|
@@ -55,12 +103,12 @@ class StatsFromDirTest < ActiveSupport::TestCase
|
|
55
103
|
11.0
|
56
104
|
end
|
57
105
|
|
58
|
-
expected =
|
59
|
-
[
|
106
|
+
expected = <<-EOM
|
107
|
+
[bbbbb] (10.5000 seconds) "I am the new commit" ref: "winner"
|
60
108
|
FASTER 🚀🚀🚀 by:
|
61
109
|
1.0476x [older/newer]
|
62
110
|
4.5455% [(older - newer) / older * 100]
|
63
|
-
[
|
111
|
+
[aaaaa] (11.0000 seconds) "Old commit" ref: "loser"
|
64
112
|
EOM
|
65
113
|
|
66
114
|
actual = StringIO.new
|
@@ -86,12 +134,12 @@ EOM
|
|
86
134
|
11.0
|
87
135
|
end
|
88
136
|
|
89
|
-
expected =
|
90
|
-
[loser] "I am the new commit"
|
137
|
+
expected = <<-EOM
|
138
|
+
[loser] (11.0000 seconds) "I am the new commit" ref: "loser"
|
91
139
|
SLOWER 🐢🐢🐢 by:
|
92
140
|
0.9545x [older/newer]
|
93
141
|
-4.7619% [(older - newer) / older * 100]
|
94
|
-
[winner] "Old commit"
|
142
|
+
[winner] (10.5000 seconds) "Old commit" ref: "winner"
|
95
143
|
EOM
|
96
144
|
|
97
145
|
actual = StringIO.new
|
@@ -13,27 +13,58 @@ class TasksTest < ActiveSupport::TestCase
|
|
13
13
|
FileUtils.remove_entry_secure(rails_app_path('tmp'))
|
14
14
|
end
|
15
15
|
|
16
|
+
def run!(cmd)
|
17
|
+
puts "Running: #{cmd}"
|
18
|
+
out = `#{cmd}`
|
19
|
+
raise "Could not run #{cmd}, output: #{out}" unless $?.success?
|
20
|
+
out
|
21
|
+
end
|
22
|
+
|
16
23
|
def rake(cmd, options = {})
|
17
24
|
assert_success = options.key?(:assert_success) ? options[:assert_success] : true
|
18
25
|
env = options[:env] || {}
|
19
26
|
env_string = env.map {|key, value| "#{key.shellescape}=#{value.to_s.shellescape}" }.join(" ")
|
20
27
|
cmd = "env #{env_string} bundle exec rake -f perf.rake #{cmd} --trace"
|
21
28
|
puts "Running: #{cmd}"
|
22
|
-
result = `cd '#{rails_app_path}' && #{cmd}`
|
23
|
-
if assert_success
|
24
|
-
|
29
|
+
result = Bundler.with_original_env { `cd '#{rails_app_path}' && #{cmd} 2>&1` }
|
30
|
+
if assert_success && !$?.success?
|
31
|
+
puts result
|
32
|
+
raise "Expected '#{cmd}' to return a success status.\nOutput: #{result}"
|
25
33
|
end
|
26
34
|
|
27
35
|
result
|
28
36
|
end
|
29
37
|
|
30
|
-
test '
|
38
|
+
test 'non-rails library with branch specified' do
|
39
|
+
skip unless ENV['USING_RAILS_WICKED_BRANCH']
|
40
|
+
|
41
|
+
gem_path = run!("bundle info wicked --path")
|
42
|
+
env = { "TEST_COUNT" => 10, "DERAILED_SCRIPT_COUNT" => 2, "DERAILED_PATH_TO_LIBRARY" => gem_path}
|
43
|
+
puts rake "perf:library", { env: env }
|
44
|
+
end
|
45
|
+
|
46
|
+
test 'rails perf:library from git' do
|
47
|
+
# BUNDLE_GEMFILE="$(pwd)/gemfiles/rails_git.gemfile" bundle exec m test/integration/tasks_test.rb:<linenumber>
|
48
|
+
|
31
49
|
skip unless ENV['USING_RAILS_GIT']
|
32
50
|
|
33
|
-
env = { "TEST_COUNT" =>
|
51
|
+
env = { "TEST_COUNT" => 2, "DERAILED_SCRIPT_COUNT" => 2, "SHAS_TO_TEST" => "3054e1d584e7eca110c69a1f8423f2e0866abbf9,80f989aecece1a2b1830e9c953e5887421b52d3c"}
|
34
52
|
puts rake "perf:library", { env: env }
|
35
53
|
end
|
36
54
|
|
55
|
+
test "rails perf:library with bad script" do
|
56
|
+
# BUNDLE_GEMFILE="$(pwd)/gemfiles/rails_git.gemfile" bundle exec m test/integration/tasks_test.rb:<linenumber>
|
57
|
+
|
58
|
+
skip unless ENV['USING_RAILS_GIT']
|
59
|
+
|
60
|
+
error = assert_raises {
|
61
|
+
env = { "DERAILED_SCRIPT" => "nopenopenop", "TEST_COUNT" => 2, "DERAILED_SCRIPT_COUNT" => 2, "SHAS_TO_TEST" => "3054e1d584e7eca110c69a1f8423f2e0866abbf9,80f989aecece1a2b1830e9c953e5887421b52d3c"}
|
62
|
+
puts rake "perf:library", { env: env }
|
63
|
+
}
|
64
|
+
|
65
|
+
assert error.message =~ /nopenopenop:( command)? not found/, "Expected #{error.message} to include /nopenopenop: (command)? not found/ but it did not"
|
66
|
+
end
|
67
|
+
|
37
68
|
test 'hitting authenticated devise apps' do
|
38
69
|
env = { "PATH_TO_HIT" => "authenticated", "USE_AUTH" => "true", "TEST_COUNT" => "2" }
|
39
70
|
result = rake 'perf:test', env: env
|
@@ -55,6 +86,13 @@ class TasksTest < ActiveSupport::TestCase
|
|
55
86
|
rake "perf:test"
|
56
87
|
end
|
57
88
|
|
89
|
+
test 'app' do
|
90
|
+
skip unless ENV['USING_RAILS_GIT']
|
91
|
+
run!("cd #{rails_app_path} && git init . && git add . && git commit -m first && git commit --allow-empty -m second")
|
92
|
+
env = { "TEST_COUNT" => 10, "DERAILED_SCRIPT_COUNT" => 2 }
|
93
|
+
puts rake "perf:app", { env: env }
|
94
|
+
end
|
95
|
+
|
58
96
|
test 'TEST_COUNT' do
|
59
97
|
result = rake "perf:test", env: { "TEST_COUNT" => 1 }
|
60
98
|
assert_match "1 derailed requests", result
|
@@ -13,6 +13,8 @@ require 'devise'
|
|
13
13
|
|
14
14
|
module Dummy
|
15
15
|
class Application < Rails::Application
|
16
|
+
config.load_defaults Rails.version.to_f
|
17
|
+
|
16
18
|
config.action_mailer.default_url_options = { host: 'localhost:3000' }
|
17
19
|
|
18
20
|
# Settings in config/environments/* take precedence over those specified here.
|
data/test/test_helper.rb
CHANGED
@@ -51,7 +51,6 @@ class ActiveSupport::IntegrationCase
|
|
51
51
|
end
|
52
52
|
end
|
53
53
|
|
54
|
-
|
55
54
|
def fixtures_dir(name = "")
|
56
55
|
root_path("test/fixtures").join(name)
|
57
56
|
end
|
@@ -63,3 +62,9 @@ end
|
|
63
62
|
def rails_app_path(name = "")
|
64
63
|
root_path("test/rails_app").join(name)
|
65
64
|
end
|
65
|
+
|
66
|
+
def run!(cmd)
|
67
|
+
output = `#{cmd}`
|
68
|
+
raise "Cmd #{cmd} failed:\n#{output}" unless $?.success?
|
69
|
+
output
|
70
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: derailed_benchmarks
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Schneeman
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-09-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: heapy
|
@@ -104,16 +104,22 @@ dependencies:
|
|
104
104
|
name: thor
|
105
105
|
requirement: !ruby/object:Gem::Requirement
|
106
106
|
requirements:
|
107
|
-
- - "
|
107
|
+
- - ">="
|
108
108
|
- !ruby/object:Gem::Version
|
109
109
|
version: '0.19'
|
110
|
+
- - "<"
|
111
|
+
- !ruby/object:Gem::Version
|
112
|
+
version: '2'
|
110
113
|
type: :runtime
|
111
114
|
prerelease: false
|
112
115
|
version_requirements: !ruby/object:Gem::Requirement
|
113
116
|
requirements:
|
114
|
-
- - "
|
117
|
+
- - ">="
|
115
118
|
- !ruby/object:Gem::Version
|
116
119
|
version: '0.19'
|
120
|
+
- - "<"
|
121
|
+
- !ruby/object:Gem::Version
|
122
|
+
version: '2'
|
117
123
|
- !ruby/object:Gem::Dependency
|
118
124
|
name: ruby-statistics
|
119
125
|
requirement: !ruby/object:Gem::Requirement
|
@@ -128,6 +134,20 @@ dependencies:
|
|
128
134
|
- - ">="
|
129
135
|
- !ruby/object:Gem::Version
|
130
136
|
version: '2.1'
|
137
|
+
- !ruby/object:Gem::Dependency
|
138
|
+
name: mini_histogram
|
139
|
+
requirement: !ruby/object:Gem::Requirement
|
140
|
+
requirements:
|
141
|
+
- - ">="
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: 0.2.1
|
144
|
+
type: :runtime
|
145
|
+
prerelease: false
|
146
|
+
version_requirements: !ruby/object:Gem::Requirement
|
147
|
+
requirements:
|
148
|
+
- - ">="
|
149
|
+
- !ruby/object:Gem::Version
|
150
|
+
version: 0.2.1
|
131
151
|
- !ruby/object:Gem::Dependency
|
132
152
|
name: capybara
|
133
153
|
requirement: !ruby/object:Gem::Requirement
|
@@ -165,7 +185,7 @@ dependencies:
|
|
165
185
|
version: '3'
|
166
186
|
- - "<="
|
167
187
|
- !ruby/object:Gem::Version
|
168
|
-
version: '
|
188
|
+
version: '7'
|
169
189
|
type: :development
|
170
190
|
prerelease: false
|
171
191
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -175,7 +195,7 @@ dependencies:
|
|
175
195
|
version: '3'
|
176
196
|
- - "<="
|
177
197
|
- !ruby/object:Gem::Version
|
178
|
-
version: '
|
198
|
+
version: '7'
|
179
199
|
- !ruby/object:Gem::Dependency
|
180
200
|
name: devise
|
181
201
|
requirement: !ruby/object:Gem::Requirement
|
@@ -237,18 +257,27 @@ files:
|
|
237
257
|
- lib/derailed_benchmarks/auth_helper.rb
|
238
258
|
- lib/derailed_benchmarks/auth_helpers/devise.rb
|
239
259
|
- lib/derailed_benchmarks/core_ext/kernel_require.rb
|
260
|
+
- lib/derailed_benchmarks/git/commit.rb
|
261
|
+
- lib/derailed_benchmarks/git/in_path.rb
|
262
|
+
- lib/derailed_benchmarks/git/switch_project.rb
|
263
|
+
- lib/derailed_benchmarks/git_switch_project.rb
|
240
264
|
- lib/derailed_benchmarks/load_tasks.rb
|
241
265
|
- lib/derailed_benchmarks/require_tree.rb
|
266
|
+
- lib/derailed_benchmarks/stats_for_file.rb
|
242
267
|
- lib/derailed_benchmarks/stats_from_dir.rb
|
243
|
-
- lib/derailed_benchmarks/stats_in_file.rb
|
244
268
|
- lib/derailed_benchmarks/tasks.rb
|
245
269
|
- lib/derailed_benchmarks/version.rb
|
246
270
|
- test/derailed_benchmarks/core_ext/kernel_require_test.rb
|
271
|
+
- test/derailed_benchmarks/git_switch_project_test.rb
|
247
272
|
- test/derailed_benchmarks/require_tree_test.rb
|
248
273
|
- test/derailed_benchmarks/stats_from_dir_test.rb
|
249
274
|
- test/derailed_test.rb
|
275
|
+
- test/fixtures/require/autoload_child.rb
|
276
|
+
- test/fixtures/require/autoload_parent.rb
|
250
277
|
- test/fixtures/require/child_one.rb
|
251
278
|
- test/fixtures/require/child_two.rb
|
279
|
+
- test/fixtures/require/load_child.rb
|
280
|
+
- test/fixtures/require/load_parent.rb
|
252
281
|
- test/fixtures/require/parent_one.rb
|
253
282
|
- test/fixtures/require/raise_child.rb
|
254
283
|
- test/fixtures/require/relative_child.rb
|
@@ -308,7 +337,7 @@ homepage: https://github.com/schneems/derailed_benchmarks
|
|
308
337
|
licenses:
|
309
338
|
- MIT
|
310
339
|
metadata: {}
|
311
|
-
post_install_message:
|
340
|
+
post_install_message:
|
312
341
|
rdoc_options: []
|
313
342
|
require_paths:
|
314
343
|
- lib
|
@@ -316,24 +345,29 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
316
345
|
requirements:
|
317
346
|
- - ">="
|
318
347
|
- !ruby/object:Gem::Version
|
319
|
-
version: 2.
|
348
|
+
version: 2.2.0
|
320
349
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
321
350
|
requirements:
|
322
351
|
- - ">="
|
323
352
|
- !ruby/object:Gem::Version
|
324
353
|
version: '0'
|
325
354
|
requirements: []
|
326
|
-
rubygems_version: 3.
|
327
|
-
signing_key:
|
355
|
+
rubygems_version: 3.1.2
|
356
|
+
signing_key:
|
328
357
|
specification_version: 4
|
329
358
|
summary: Benchmarks designed to performance test your ENTIRE site
|
330
359
|
test_files:
|
331
360
|
- test/derailed_benchmarks/core_ext/kernel_require_test.rb
|
361
|
+
- test/derailed_benchmarks/git_switch_project_test.rb
|
332
362
|
- test/derailed_benchmarks/require_tree_test.rb
|
333
363
|
- test/derailed_benchmarks/stats_from_dir_test.rb
|
334
364
|
- test/derailed_test.rb
|
365
|
+
- test/fixtures/require/autoload_child.rb
|
366
|
+
- test/fixtures/require/autoload_parent.rb
|
335
367
|
- test/fixtures/require/child_one.rb
|
336
368
|
- test/fixtures/require/child_two.rb
|
369
|
+
- test/fixtures/require/load_child.rb
|
370
|
+
- test/fixtures/require/load_parent.rb
|
337
371
|
- test/fixtures/require/parent_one.rb
|
338
372
|
- test/fixtures/require/raise_child.rb
|
339
373
|
- test/fixtures/require/relative_child.rb
|