diff options
author | Benoit Daloze <eregontp@gmail.com> | 2020-05-31 18:22:49 +0200 |
---|---|---|
committer | Benoit Daloze <eregontp@gmail.com> | 2020-05-31 18:22:49 +0200 |
commit | 34776105c8a6739ca3aad1de4a2c942f4a8f2f29 (patch) | |
tree | 0103cf2cc89c1322d8c3e88fff0a80b54db8320b /spec/ruby/core/tracepoint | |
parent | f4502b001a665109bf776f9037ecbc52cb5f2d88 (diff) |
Update to ruby/spec@4e486fa
Diffstat (limited to 'spec/ruby/core/tracepoint')
19 files changed, 185 insertions, 57 deletions
diff --git a/spec/ruby/core/tracepoint/binding_spec.rb b/spec/ruby/core/tracepoint/binding_spec.rb index f37753602e..6a7ef5f85a 100644 --- a/spec/ruby/core/tracepoint/binding_spec.rb +++ b/spec/ruby/core/tracepoint/binding_spec.rb @@ -1,4 +1,5 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint#binding' do def test @@ -8,6 +9,7 @@ describe 'TracePoint#binding' do it 'return the generated binding object from event' do bindings = [] TracePoint.new(:return) { |tp| + next unless TracePointSpec.target_thread? bindings << tp.binding }.enable { test diff --git a/spec/ruby/core/tracepoint/callee_id_spec.rb b/spec/ruby/core/tracepoint/callee_id_spec.rb index d340290d8b..cc08a45504 100644 --- a/spec/ruby/core/tracepoint/callee_id_spec.rb +++ b/spec/ruby/core/tracepoint/callee_id_spec.rb @@ -7,6 +7,7 @@ describe "TracePoint#callee_id" do obj = TracePointSpec::ClassWithMethodAlias.new TracePoint.new(:call) do |tp| + next unless TracePointSpec.target_thread? a << tp.callee_id end.enable do obj.m_alias diff --git a/spec/ruby/core/tracepoint/defined_class_spec.rb b/spec/ruby/core/tracepoint/defined_class_spec.rb index 72536e6a56..4593db6d1f 100644 --- a/spec/ruby/core/tracepoint/defined_class_spec.rb +++ b/spec/ruby/core/tracepoint/defined_class_spec.rb @@ -5,6 +5,7 @@ describe 'TracePoint#defined_class' do it 'returns class or module of the method being called' do last_class_name = nil TracePoint.new(:call) do |tp| + next unless TracePointSpec.target_thread? last_class_name = tp.defined_class end.enable do TracePointSpec::B.new.foo diff --git a/spec/ruby/core/tracepoint/disable_spec.rb b/spec/ruby/core/tracepoint/disable_spec.rb index 2ab9b987f4..73a31b3b81 100644 --- a/spec/ruby/core/tracepoint/disable_spec.rb +++ b/spec/ruby/core/tracepoint/disable_spec.rb @@ -1,9 +1,11 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint#disable' do it 'returns true if trace was enabled' do called = false trace = TracePoint.new(:line) do |tp| + next unless TracePointSpec.target_thread? called = true end @@ -25,6 +27,7 @@ describe 'TracePoint#disable' do it 'returns false if trace was disabled' do called = false trace = TracePoint.new(:line) do |tp| + next unless TracePointSpec.target_thread? called = true end diff --git a/spec/ruby/core/tracepoint/enable_spec.rb b/spec/ruby/core/tracepoint/enable_spec.rb index 15eb2f1616..aa0c3aa0dc 100644 --- a/spec/ruby/core/tracepoint/enable_spec.rb +++ b/spec/ruby/core/tracepoint/enable_spec.rb @@ -1,20 +1,21 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint#enable' do - # def test; end - describe 'without a block' do - it 'returns true if trace was enabled' do + it 'returns false if trace was disabled' do called = false trace = TracePoint.new(:line) do |tp| + next unless TracePointSpec.target_thread? called = true end line_event = true called.should == false - trace.enable + ret = trace.enable begin + ret.should == false line_event = true called.should == true ensure @@ -22,30 +23,27 @@ describe 'TracePoint#enable' do end end - it 'returns false if trace was disabled' do + it 'returns true if trace was already enabled' do called = false trace = TracePoint.new(:line) do |tp| + next unless TracePointSpec.target_thread? called = true end - trace.enable.should == false - begin - line_event = true - called.should == true - ensure - trace.disable - end - - called = false line_event = true called.should == false - trace.enable.should == false + ret = trace.enable begin + ret.should == false + + trace.enable.should == true + line_event = true called.should == true ensure trace.disable + trace.should_not.enabled? end end end @@ -54,13 +52,38 @@ describe 'TracePoint#enable' do it 'enables the trace object within a block' do event_name = nil TracePoint.new(:line) do |tp| + next unless TracePointSpec.target_thread? event_name = tp.event end.enable { event_name.should equal(:line) } end + it 'enables the trace object for any thread' do + threads = [] + trace = TracePoint.new(:line) do |tp| + # Runs on purpose on any Thread + threads << Thread.current + end + + thread = nil + trace.enable do + line_event = true + thread = Thread.new do + event_in_other_thread = true + end + thread.join + end + + threads = threads.uniq + threads.should.include?(Thread.current) + threads.should.include?(thread) + end + it 'can accept arguments within a block but it should not yield arguments' do event_name = nil - trace = TracePoint.new(:line) { |tp| event_name = tp.event } + trace = TracePoint.new(:line) do |tp| + next unless TracePointSpec.target_thread? + event_name = tp.event + end trace.enable do |*args| event_name.should equal(:line) args.should == [] @@ -87,7 +110,10 @@ describe 'TracePoint#enable' do it 'disables the trace object outside the block' do called = false - trace = TracePoint.new(:line) { called = true } + trace = TracePoint.new(:line) do + next unless TracePointSpec.target_thread? + called = true + end trace.enable { line_event = true } @@ -96,6 +122,35 @@ describe 'TracePoint#enable' do end end + describe "when nested" do + it "enables both TracePoints but only calls the respective callbacks" do + called = false + first = TracePoint.new(:line) do |tp| + next unless TracePointSpec.target_thread? + called = true + end + + all = [] + inspects = [] + second = TracePoint.new(:line) { |tp| + next unless TracePointSpec.target_thread? + all << tp + inspects << tp.inspect + } + + line = nil + first.enable do + second.enable do + line = __LINE__ + end + end + + all.uniq.should == [second] + inspects.uniq.should == ["#<TracePoint:line@#{__FILE__}:#{line}>"] + called.should == true + end + end + ruby_version_is "2.6" do describe 'target: option' do before :each do @@ -104,6 +159,7 @@ describe 'TracePoint#enable' do it 'enables trace point for specific location' do trace = TracePoint.new(:call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << tp.method_id end @@ -121,6 +177,7 @@ describe 'TracePoint#enable' do it 'traces all the events triggered in specified location' do trace = TracePoint.new(:line, :call, :return, :b_call, :b_return) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << tp.event end @@ -140,6 +197,7 @@ describe 'TracePoint#enable' do it 'does not trace events in nested locations' do trace = TracePoint.new(:call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << tp.method_id end @@ -177,6 +235,7 @@ describe 'TracePoint#enable' do end trace = TracePoint.new(:b_call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << tp.lineno end @@ -193,6 +252,7 @@ describe 'TracePoint#enable' do describe 'option value' do it 'accepts Method' do trace = TracePoint.new(:call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << tp.method_id end @@ -208,6 +268,7 @@ describe 'TracePoint#enable' do it 'accepts UnboundMethod' do trace = TracePoint.new(:call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << tp.method_id end @@ -225,6 +286,7 @@ describe 'TracePoint#enable' do it 'accepts Proc' do trace = TracePoint.new(:b_call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << tp.lineno end @@ -242,6 +304,7 @@ describe 'TracePoint#enable' do it "raises ArgumentError if target object cannot trigger specified event" do trace = TracePoint.new(:call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << tp.method_id end @@ -255,8 +318,7 @@ describe 'TracePoint#enable' do end it "raises ArgumentError if passed not Method/UnboundMethod/Proc" do - trace = TracePoint.new(:call) do |tp| - end + trace = TracePoint.new(:call) {} -> { trace.enable(target: Object.new) do @@ -266,8 +328,7 @@ describe 'TracePoint#enable' do context "nested enabling and disabling" do it "raises ArgumentError if trace point already enabled with target is re-enabled with target" do - trace = TracePoint.new(:b_call) do - end + trace = TracePoint.new(:b_call) {} -> { trace.enable(target: -> {}) do @@ -278,8 +339,7 @@ describe 'TracePoint#enable' do end it "raises ArgumentError if trace point already enabled without target is re-enabled with target" do - trace = TracePoint.new(:b_call) do - end + trace = TracePoint.new(:b_call) {} -> { trace.enable do @@ -290,8 +350,7 @@ describe 'TracePoint#enable' do end it "raises ArgumentError if trace point already enabled with target is re-enabled without target" do - trace = TracePoint.new(:b_call) do - end + trace = TracePoint.new(:b_call) {} -> { trace.enable(target: -> {}) do @@ -302,8 +361,7 @@ describe 'TracePoint#enable' do end it "raises ArgumentError if trace point already enabled with target is disabled with block" do - trace = TracePoint.new(:b_call) do - end + trace = TracePoint.new(:b_call) {} -> { trace.enable(target: -> {}) do @@ -315,10 +373,12 @@ describe 'TracePoint#enable' do it "traces events when trace point with target is enabled in another trace point enabled without target" do trace_outer = TracePoint.new(:b_call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << :outer end trace_inner = TracePoint.new(:b_call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << :inner end @@ -335,10 +395,12 @@ describe 'TracePoint#enable' do it "traces events when trace point with target is enabled in another trace point enabled with target" do trace_outer = TracePoint.new(:b_call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << :outer end trace_inner = TracePoint.new(:b_call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << :inner end @@ -355,10 +417,12 @@ describe 'TracePoint#enable' do it "traces events when trace point without target is enabled in another trace point enabled with target" do trace_outer = TracePoint.new(:b_call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << :outer end trace_inner = TracePoint.new(:b_call) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << :inner end @@ -382,6 +446,7 @@ describe 'TracePoint#enable' do it "traces :line events only on specified line of code" do trace = TracePoint.new(:line) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << tp.lineno end @@ -401,8 +466,7 @@ describe 'TracePoint#enable' do end it "raises ArgumentError if :target option isn't specified" do - trace = TracePoint.new(:line) do |tp| - end + trace = TracePoint.new(:line) {} -> { trace.enable(target_line: 67) do @@ -411,8 +475,7 @@ describe 'TracePoint#enable' do end it "raises ArgumentError if :line event isn't registered" do - trace = TracePoint.new(:call) do |tp| - end + trace = TracePoint.new(:call) {} target = -> { x = 1 @@ -429,8 +492,7 @@ describe 'TracePoint#enable' do end it "raises ArgumentError if :target_line value is out of target code lines range" do - trace = TracePoint.new(:line) do |tp| - end + trace = TracePoint.new(:line) {} -> { trace.enable(target_line: 1, target: -> { }) do @@ -439,8 +501,7 @@ describe 'TracePoint#enable' do end it "raises TypeError if :target_line value couldn't be coerced to Integer" do - trace = TracePoint.new(:line) do |tp| - end + trace = TracePoint.new(:line) {} -> { trace.enable(target_line: Object.new, target: -> { }) do @@ -449,8 +510,7 @@ describe 'TracePoint#enable' do end it "raises ArgumentError if :target_line value is negative" do - trace = TracePoint.new(:line) do |tp| - end + trace = TracePoint.new(:line) {} -> { trace.enable(target_line: -2, target: -> { }) do @@ -460,6 +520,7 @@ describe 'TracePoint#enable' do it "accepts value that could be coerced to Integer" do trace = TracePoint.new(:line) do |tp| + next unless TracePointSpec.target_thread? ScratchPad << tp.lineno end diff --git a/spec/ruby/core/tracepoint/enabled_spec.rb b/spec/ruby/core/tracepoint/enabled_spec.rb index dbc3c214c5..0e9566a02c 100644 --- a/spec/ruby/core/tracepoint/enabled_spec.rb +++ b/spec/ruby/core/tracepoint/enabled_spec.rb @@ -1,4 +1,5 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint#enabled?' do it 'returns true when current status of the trace is enable' do diff --git a/spec/ruby/core/tracepoint/eval_script_spec.rb b/spec/ruby/core/tracepoint/eval_script_spec.rb index 1d8e425a9a..ccf7fb5975 100644 --- a/spec/ruby/core/tracepoint/eval_script_spec.rb +++ b/spec/ruby/core/tracepoint/eval_script_spec.rb @@ -13,6 +13,7 @@ ruby_version_is "2.6" do CODE TracePoint.new(:script_compiled) do |e| + next unless TracePointSpec.target_thread? ScratchPad << e.eval_script end.enable do eval script diff --git a/spec/ruby/core/tracepoint/event_spec.rb b/spec/ruby/core/tracepoint/event_spec.rb index 019d0c3253..9dea24d125 100644 --- a/spec/ruby/core/tracepoint/event_spec.rb +++ b/spec/ruby/core/tracepoint/event_spec.rb @@ -5,6 +5,7 @@ describe 'TracePoint#event' do it 'returns the type of event' do event_name = nil TracePoint.new(:end, :call) do |tp| + next unless TracePointSpec.target_thread? event_name = tp.event end.enable do TracePointSpec.test diff --git a/spec/ruby/core/tracepoint/fixtures/classes.rb b/spec/ruby/core/tracepoint/fixtures/classes.rb index 49c70e1915..3ab1b00b16 100644 --- a/spec/ruby/core/tracepoint/fixtures/classes.rb +++ b/spec/ruby/core/tracepoint/fixtures/classes.rb @@ -1,4 +1,10 @@ module TracePointSpec + @thread = Thread.current + + def self.target_thread? + Thread.current == @thread + end + class ClassWithMethodAlias def m end diff --git a/spec/ruby/core/tracepoint/inspect_spec.rb b/spec/ruby/core/tracepoint/inspect_spec.rb index 465f01e229..1e48caa215 100644 --- a/spec/ruby/core/tracepoint/inspect_spec.rb +++ b/spec/ruby/core/tracepoint/inspect_spec.rb @@ -10,6 +10,7 @@ describe 'TracePoint#inspect' do inspect = nil line = nil TracePoint.new(:line) { |tp| + next unless TracePointSpec.target_thread? inspect ||= tp.inspect }.enable do line = __LINE__ @@ -22,6 +23,7 @@ describe 'TracePoint#inspect' do inspect = nil line = nil TracePoint.new(:class) { |tp| + next unless TracePointSpec.target_thread? inspect ||= tp.inspect }.enable do line = __LINE__ + 1 diff --git a/spec/ruby/core/tracepoint/lineno_spec.rb b/spec/ruby/core/tracepoint/lineno_spec.rb index a4d7e77e8d..77b3ac8b54 100644 --- a/spec/ruby/core/tracepoint/lineno_spec.rb +++ b/spec/ruby/core/tracepoint/lineno_spec.rb @@ -1,10 +1,20 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint#lineno' do it 'returns the line number of the event' do lineno = nil - TracePoint.new(:line) { |tp| lineno = tp.lineno }.enable do - lineno.should == 7 + TracePoint.new(:line) { |tp| + next unless TracePointSpec.target_thread? + lineno = tp.lineno + }.enable do + line_event = true end + lineno.should == __LINE__ - 2 + end + + it 'raises RuntimeError if accessed from outside' do + tp = TracePoint.new(:line) {} + -> { tp.lineno }.should raise_error(RuntimeError, 'access from outside') end end diff --git a/spec/ruby/core/tracepoint/method_id_spec.rb b/spec/ruby/core/tracepoint/method_id_spec.rb index 82254d1299..43e23248b7 100644 --- a/spec/ruby/core/tracepoint/method_id_spec.rb +++ b/spec/ruby/core/tracepoint/method_id_spec.rb @@ -1,12 +1,14 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint#method_id' do - def test; end - it 'returns the name at the definition of the method being called' do method_name = nil - TracePoint.new(:call) { |tp| method_name = tp.method_id}.enable do - test + TracePoint.new(:call) { |tp| + next unless TracePointSpec.target_thread? + method_name = tp.method_id + }.enable do + TracePointSpec.test method_name.should equal(:test) end end diff --git a/spec/ruby/core/tracepoint/new_spec.rb b/spec/ruby/core/tracepoint/new_spec.rb index 991048514c..e53c2b04a2 100644 --- a/spec/ruby/core/tracepoint/new_spec.rb +++ b/spec/ruby/core/tracepoint/new_spec.rb @@ -8,7 +8,10 @@ describe 'TracePoint.new' do it 'includes :line event when event is not specified' do event_name = nil - TracePoint.new() { |tp| event_name = tp.event }.enable do + TracePoint.new { |tp| + next unless TracePointSpec.target_thread? + event_name = tp.event + }.enable do event_name.should equal(:line) event_name = nil @@ -25,7 +28,10 @@ describe 'TracePoint.new' do event_name = nil (o = mock('line')).should_receive(:to_sym).and_return(:line) - TracePoint.new(o) { |tp| event_name = tp.event }.enable do + TracePoint.new(o) { |tp| + next unless TracePointSpec.target_thread? + event_name = tp.event + }.enable do line_event = true event_name.should == :line end @@ -34,6 +40,7 @@ describe 'TracePoint.new' do it 'includes multiple events when multiple event names are passed as params' do event_name = nil TracePoint.new(:end, :call) do |tp| + next unless TracePointSpec.target_thread? event_name = tp.event end.enable do TracePointSpec.test @@ -49,10 +56,10 @@ describe 'TracePoint.new' do it 'raises a TypeError when the given object is not a string/symbol' do o = mock('123') - -> { TracePoint.new(o) {}}.should raise_error(TypeError) + -> { TracePoint.new(o) {} }.should raise_error(TypeError) o.should_receive(:to_sym).and_return(123) - -> { TracePoint.new(o) {}}.should raise_error(TypeError) + -> { TracePoint.new(o) {} }.should raise_error(TypeError) end it 'expects to be called with a block' do diff --git a/spec/ruby/core/tracepoint/parameters_spec.rb b/spec/ruby/core/tracepoint/parameters_spec.rb index f901c184f4..3a2cdd7750 100644 --- a/spec/ruby/core/tracepoint/parameters_spec.rb +++ b/spec/ruby/core/tracepoint/parameters_spec.rb @@ -1,11 +1,15 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' ruby_version_is "2.6" do describe 'TracePoint#parameters' do it 'returns the parameters of block' do f = proc {|x, y, z| } parameters = nil - TracePoint.new(:b_call) {|tp| parameters = tp.parameters }.enable do + TracePoint.new(:b_call) { |tp| + next unless TracePointSpec.target_thread? + parameters = tp.parameters + }.enable do f.call parameters.should == [[:opt, :x], [:opt, :y], [:opt, :z]] end @@ -14,7 +18,10 @@ ruby_version_is "2.6" do it 'returns the parameters of lambda block' do f = -> x, y, z { } parameters = nil - TracePoint.new(:b_call) {|tp| parameters = tp.parameters }.enable do + TracePoint.new(:b_call) { |tp| + next unless TracePointSpec.target_thread? + parameters = tp.parameters + }.enable do f.call(1, 2, 3) parameters.should == [[:req, :x], [:req, :y], [:req, :z]] end diff --git a/spec/ruby/core/tracepoint/path_spec.rb b/spec/ruby/core/tracepoint/path_spec.rb index 1e31c1bb68..5b6c6d4cfc 100644 --- a/spec/ruby/core/tracepoint/path_spec.rb +++ b/spec/ruby/core/tracepoint/path_spec.rb @@ -1,18 +1,26 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint#path' do it 'returns the path of the file being run' do path = nil - TracePoint.new(:line) { |tp| path = tp.path }.enable do - path.should == "#{__FILE__}" + TracePoint.new(:line) { |tp| + next unless TracePointSpec.target_thread? + path = tp.path + }.enable do + line_event = true end + path.should == "#{__FILE__}" end it 'equals (eval) inside an eval for :end event' do path = nil - TracePoint.new(:end) { |tp| path = tp.path }.enable do + TracePoint.new(:end) { |tp| + next unless TracePointSpec.target_thread? + path = tp.path + }.enable do eval("module TracePointSpec; end") - path.should == '(eval)' end + path.should == '(eval)' end end diff --git a/spec/ruby/core/tracepoint/raised_exception_spec.rb b/spec/ruby/core/tracepoint/raised_exception_spec.rb index 450717b958..ca2f50abb3 100644 --- a/spec/ruby/core/tracepoint/raised_exception_spec.rb +++ b/spec/ruby/core/tracepoint/raised_exception_spec.rb @@ -1,9 +1,13 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint#raised_exception' do it 'returns value from exception raised on the :raise event' do raised_exception, error_result = nil - trace = TracePoint.new(:raise) { |tp| raised_exception = tp.raised_exception } + trace = TracePoint.new(:raise) { |tp| + next unless TracePointSpec.target_thread? + raised_exception = tp.raised_exception + } trace.enable do begin raise StandardError diff --git a/spec/ruby/core/tracepoint/return_value_spec.rb b/spec/ruby/core/tracepoint/return_value_spec.rb index f0ed86bd00..e84c7dd762 100644 --- a/spec/ruby/core/tracepoint/return_value_spec.rb +++ b/spec/ruby/core/tracepoint/return_value_spec.rb @@ -1,11 +1,15 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint#return_value' do def test; 'test' end it 'returns value from :return event' do trace_value = nil - TracePoint.new(:return) { |tp| trace_value = tp.return_value}.enable do + TracePoint.new(:return) { |tp| + next unless TracePointSpec.target_thread? + trace_value = tp.return_value + }.enable do test trace_value.should == 'test' end diff --git a/spec/ruby/core/tracepoint/self_spec.rb b/spec/ruby/core/tracepoint/self_spec.rb index 8bfd09301e..2098860e59 100644 --- a/spec/ruby/core/tracepoint/self_spec.rb +++ b/spec/ruby/core/tracepoint/self_spec.rb @@ -4,14 +4,20 @@ require_relative 'fixtures/classes' describe 'TracePoint#self' do it 'return the trace object from event' do trace = nil - TracePoint.new(:line) { |tp| trace = tp.self }.enable do + TracePoint.new(:line) { |tp| + next unless TracePointSpec.target_thread? + trace = tp.self + }.enable do trace.equal?(self).should be_true end end it 'return the class object from a class event' do trace = nil - TracePoint.new(:class) { |tp| trace = tp.self }.enable do + TracePoint.new(:class) { |tp| + next unless TracePointSpec.target_thread? + trace = tp.self + }.enable do class TracePointSpec::C end end diff --git a/spec/ruby/core/tracepoint/trace_spec.rb b/spec/ruby/core/tracepoint/trace_spec.rb index c39721e692..167f594bb9 100644 --- a/spec/ruby/core/tracepoint/trace_spec.rb +++ b/spec/ruby/core/tracepoint/trace_spec.rb @@ -1,4 +1,5 @@ require_relative '../../spec_helper' +require_relative 'fixtures/classes' describe 'TracePoint.trace' do it 'activates the trace automatically' do |