derailed_benchmarks 1.5.0 → 1.6.0
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/CHANGELOG.md +5 -0
- data/README.md +12 -2
- data/derailed_benchmarks.gemspec +2 -2
- data/lib/derailed_benchmarks/tasks.rb +6 -0
- data/lib/derailed_benchmarks/version.rb +1 -1
- data/test/integration/tasks_test.rb +14 -0
- metadata +12 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 534c94c162b5f9959a2013292d3f58fdf3bad5f17276a6db240a75596f1b041e
|
4
|
+
data.tar.gz: e7db4cf3bb3ea0f965dd25af1dcfe1a85dbfb80d6c3508e295ac68432b4e9868
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4f39f3b7df3d063c703df439aba0dd0be34650bbbf490d9af11c28dac0a9449eb347bfd9201124bedfea3b53b6f731280fafa5a9f6e40e7c311d1584b5061e13
|
7
|
+
data.tar.gz: 151966ff16e1e07bf217ce88e3c4868089eb2ef6428ddd6e93d8d3761d97902a4c4ee8cca32389e80e5dcaf658f21c121e9a9bffcd2a52d80985e1560021767d
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
## master (unreleased)
|
2
2
|
|
3
|
+
## 1.6.0
|
4
|
+
|
5
|
+
- Added the `perf:app` command to compare commits within the same application. (https://github.com/schneems/derailed_benchmarks/pull/157)
|
6
|
+
- Allow Rails < 7 and 1.0 <= Thor < 2 (https://github.com/schneems/derailed_benchmarks/pull/168)
|
7
|
+
|
3
8
|
## 1.5.0
|
4
9
|
|
5
10
|
- Test `perf:library` results against 99% confidence interval in addition to 95% (https://github.com/schneems/derailed_benchmarks/pull/165)
|
data/README.md
CHANGED
@@ -415,13 +415,23 @@ or point it at your local copy:
|
|
415
415
|
gem 'rails', path: "<path/to/your/local/copy/rails>"
|
416
416
|
```
|
417
417
|
|
418
|
-
To run your
|
418
|
+
To run your tests within the context of your current app/repo:
|
419
|
+
|
420
|
+
```
|
421
|
+
$ bundle exec derailed exec perf:app
|
422
|
+
```
|
423
|
+
|
424
|
+
This will automatically test the two latest commits of your library/current directory.
|
425
|
+
|
426
|
+
If you'd like to test the Rails library instead, make sure that `ENV[DERAILED_PATH_TO_LIBRARY]` is unset.
|
419
427
|
|
420
428
|
```
|
421
429
|
$ bundle exec derailed exec perf:library
|
422
430
|
```
|
423
431
|
|
424
|
-
This will automatically test the two latest commits of Rails
|
432
|
+
This will automatically test the two latest commits of Rails.
|
433
|
+
|
434
|
+
If you would also like to compare against different SHAs you can manually specify them:
|
425
435
|
|
426
436
|
```
|
427
437
|
$ SHAS_TO_TEST="7b4d80cb373e,13d6aa3a7b70" bundle exec derailed exec perf:library
|
data/derailed_benchmarks.gemspec
CHANGED
@@ -28,12 +28,12 @@ Gem::Specification.new do |gem|
|
|
28
28
|
gem.add_dependency "benchmark-ips", "~> 2"
|
29
29
|
gem.add_dependency "rack", ">= 1"
|
30
30
|
gem.add_dependency "rake", "> 10", "< 14"
|
31
|
-
gem.add_dependency "thor", "
|
31
|
+
gem.add_dependency "thor", ">= 0.19", "< 2"
|
32
32
|
gem.add_dependency "ruby-statistics", ">= 2.1"
|
33
33
|
|
34
34
|
gem.add_development_dependency "capybara", "~> 2"
|
35
35
|
gem.add_development_dependency "m"
|
36
|
-
gem.add_development_dependency "rails", "> 3", "<=
|
36
|
+
gem.add_development_dependency "rails", "> 3", "<= 7"
|
37
37
|
gem.add_development_dependency "devise", "> 3", "< 6"
|
38
38
|
gem.add_development_dependency "appraisal", "2.2.0"
|
39
39
|
end
|
@@ -1,6 +1,12 @@
|
|
1
1
|
require_relative 'load_tasks'
|
2
2
|
|
3
3
|
namespace :perf do
|
4
|
+
desc "runs the performance test against two most recent commits of the current app"
|
5
|
+
task :app do
|
6
|
+
ENV["DERAILED_PATH_TO_LIBRARY"] = '.'
|
7
|
+
Rake::Task["perf:library"].invoke
|
8
|
+
end
|
9
|
+
|
4
10
|
desc "runs the same test against two different branches for statistical comparison"
|
5
11
|
task :library do
|
6
12
|
begin
|
@@ -13,6 +13,13 @@ 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] || {}
|
@@ -55,6 +62,13 @@ class TasksTest < ActiveSupport::TestCase
|
|
55
62
|
rake "perf:test"
|
56
63
|
end
|
57
64
|
|
65
|
+
test 'app' do
|
66
|
+
skip unless ENV['USING_RAILS_GIT']
|
67
|
+
run!("cd #{rails_app_path} && git init . && git add . && git commit -m first && git commit --allow-empty -m second")
|
68
|
+
env = { "TEST_COUNT" => 10, "DERAILED_SCRIPT_COUNT" => 2 }
|
69
|
+
puts rake "perf:app", { env: env }
|
70
|
+
end
|
71
|
+
|
58
72
|
test 'TEST_COUNT' do
|
59
73
|
result = rake "perf:test", env: { "TEST_COUNT" => 1 }
|
60
74
|
assert_match "1 derailed requests", result
|
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.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Richard Schneeman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-01-14 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
|
@@ -165,7 +171,7 @@ dependencies:
|
|
165
171
|
version: '3'
|
166
172
|
- - "<="
|
167
173
|
- !ruby/object:Gem::Version
|
168
|
-
version: '
|
174
|
+
version: '7'
|
169
175
|
type: :development
|
170
176
|
prerelease: false
|
171
177
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -175,7 +181,7 @@ dependencies:
|
|
175
181
|
version: '3'
|
176
182
|
- - "<="
|
177
183
|
- !ruby/object:Gem::Version
|
178
|
-
version: '
|
184
|
+
version: '7'
|
179
185
|
- !ruby/object:Gem::Dependency
|
180
186
|
name: devise
|
181
187
|
requirement: !ruby/object:Gem::Requirement
|