summaryrefslogtreecommitdiff
path: root/bin/rspec-stackprof
blob: 8058d1651962f9c6fa4a0fcf66c832ae55b76587 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/usr/bin/env ruby

require 'bundler/setup'
require 'stackprof'
$:.unshift 'spec'
require 'spec_helper'

filename = ARGV[0].split('/').last
interval = ENV.fetch('INTERVAL', 1000).to_i
limit = ENV.fetch('LIMIT', 20)
output_file = "tmp/#{filename}.dump"

StackProf.run(mode: :wall, out: output_file, interval: interval) do
  RSpec::Core::Runner.run(ARGV, $stderr, $stdout)
end

system("bundle exec stackprof #{output_file} --text --limit #{limit}")