diff options
Diffstat (limited to 'spec/lib/gitlab/sherlock/line_profiler_spec.rb')
-rw-r--r-- | spec/lib/gitlab/sherlock/line_profiler_spec.rb | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/spec/lib/gitlab/sherlock/line_profiler_spec.rb b/spec/lib/gitlab/sherlock/line_profiler_spec.rb deleted file mode 100644 index 2220a2cafc8..00000000000 --- a/spec/lib/gitlab/sherlock/line_profiler_spec.rb +++ /dev/null @@ -1,75 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe Gitlab::Sherlock::LineProfiler do - let(:profiler) { described_class.new } - - describe '#profile' do - it 'runs the profiler when using MRI' do - allow(profiler).to receive(:mri?).and_return(true) - allow(profiler).to receive(:profile_mri) - - profiler.profile { 'cats' } - end - - it 'raises NotImplementedError when profiling an unsupported platform' do - allow(profiler).to receive(:mri?).and_return(false) - - expect { profiler.profile { 'cats' } }.to raise_error(NotImplementedError) - end - end - - describe '#profile_mri' do - it 'returns an Array containing the return value and profiling samples' do - allow(profiler).to receive(:lineprof) - .and_yield - .and_return({ __FILE__ => [[0, 0, 0, 0]] }) - - retval, samples = profiler.profile_mri { 42 } - - expect(retval).to eq(42) - expect(samples).to eq([]) - end - end - - describe '#aggregate_rblineprof' do - let(:raw_samples) do - { __FILE__ => [[30000, 30000, 5, 0], [15000, 15000, 4, 0]] } - end - - it 'returns an Array of FileSample objects' do - samples = profiler.aggregate_rblineprof(raw_samples) - - expect(samples).to be_an_instance_of(Array) - expect(samples[0]).to be_an_instance_of(Gitlab::Sherlock::FileSample) - end - - describe 'the first FileSample object' do - let(:file_sample) do - profiler.aggregate_rblineprof(raw_samples)[0] - end - - it 'uses the correct file path' do - expect(file_sample.file).to eq(__FILE__) - end - - it 'contains a list of line samples' do - line_sample = file_sample.line_samples[0] - - expect(line_sample).to be_an_instance_of(Gitlab::Sherlock::LineSample) - - expect(line_sample.duration).to eq(15.0) - expect(line_sample.events).to eq(4) - end - - it 'contains the total file execution time' do - expect(file_sample.duration).to eq(30.0) - end - - it 'contains the total amount of file events' do - expect(file_sample.events).to eq(5) - end - end - end -end |