blob: 228125a10f09b72aa24d06744d037dbeba527efb [file] [log] [blame]
require 'debugger/AbstractDebugger'
require 'test/MockContext'
require 'test/MockBreakpointManager'
module XoredDebugger
class MockDebugger < AbstractDebugger
def initialize
super
@monitor = Monitor.new
end
def create_context_impl(thread)
return MockContext.new()
end
def terminate
super
@monitor.synchronize {
Thread.list.each do |thread|
thread[ :mock_debug_thread ] = nil
end
}
end
def create_breakpoint_manager
MockBreakpointManager.new
end
def create_debug_thread(*args, &block)
@monitor.synchronize {
thread = Thread.new(*args, &block)
thread[ :mock_debug_thread ] = true
thread
}
end
def is_debug_thread?(thread)
@monitor.synchronize {
thread[ :mock_debug_thread ] == true
}
end
end
end