mirror of
https://github.com/discourse/discourse.git
synced 2025-06-01 09:08:10 +08:00
DEV: Add --profile=[COUNT]
option for turbo_rspec
Why is this change required? By default, `RSpec` comes with a `--profile=[COUNT]` option as well but enabling that option means that the entire test suite needs to be executed. This does not work so well for `turbo_rspec` which splits our test files into various "buckets" for the tests to be executed in multiple processes. Therefore, this commit adds a similar `--profile=[COUNT]` option to `turbo_rspec` but will only profile the tests being executed. Examples: `LOAD_PLUGINS=1 bin/turbo_rspec --profile plugins/*/spec/system` or `LOAD_PLUGINS=1 bin/turbo_rspec --profile=20 plugins/*/spec/system`
This commit is contained in:
@ -11,6 +11,8 @@ formatters = []
|
||||
verbose = false
|
||||
fail_fast = nil
|
||||
seed = rand(2**16)
|
||||
profile = false
|
||||
profile_print_slowest_examples_count = 10
|
||||
|
||||
OptionParser
|
||||
.new do |opts|
|
||||
@ -27,6 +29,15 @@ OptionParser
|
||||
|
||||
opts.on("-v", "--verbose", "More output") { verbose = true }
|
||||
|
||||
opts.on(
|
||||
"-p",
|
||||
"--profile=[COUNT]",
|
||||
"Benchmark the runtime of each example and list the slowest examples (default: 10)",
|
||||
) do |count|
|
||||
profile = true
|
||||
profile_print_slowest_examples_count = count.to_i if count
|
||||
end
|
||||
|
||||
opts.on("--fail-fast=[N]") do |n|
|
||||
n =
|
||||
begin
|
||||
@ -67,6 +78,8 @@ success =
|
||||
fail_fast: fail_fast,
|
||||
use_runtime_info: use_runtime_info,
|
||||
seed: seed.to_s,
|
||||
profile:,
|
||||
profile_print_slowest_examples_count:,
|
||||
)
|
||||
|
||||
if success
|
||||
|
Reference in New Issue
Block a user