Skip to content

Pry doesn't show code when prepended modules are used #1471

@jodosha

Description

@jodosha

Hello, Lotus users can't make their fav debug tool to work with their apps (see hanami/hanami#205). I've isolated the problem.

# foo.rb
require 'minitest/autorun'
require 'pry'

module CoolFeature
  def self.included(base)
    base.class_eval do
      prepend InstanceMethods
    end
  end

  module InstanceMethods
    def bar
      puts "before"
      super
      puts "after"
    end
  end
end

class Foo
  include CoolFeature

  def bar
    puts "inside"
    binding.pry
  end
end

describe Foo do
  it "uses #bar" do
    Foo.new.bar
  end
end

Then, if you run the test:

ruby foo.rb

It stops where the breakpoint is, but it doesn't show the code:

screen shot 2015-09-15 at 15 30 17

When I press ^C it becomes:

screen shot 2015-09-15 at 15 31 04

If I run the tests via Rake, it changes a little bit:

# Rakefile
require 'rake'
require 'rake/testtask'

Rake::TestTask.new do |t|
  t.pattern = '**/*.rb'
  # t.libs    << 'spec'
end

task default: :test
task spec: :test

And then:

bundle exec rake

It behaves exactly the same, BUT when I type any button on the keyboard, it prints a stack trace:

~/Desktop/show-me-the-code:ruby-2.2.3 ➜ bundle exec rakeError: Input/output error - read
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:198:in `readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:198:in `block in input_readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:115:in `call'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:115:in `interruptible_region'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:197:in `input_readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:183:in `block in read_line'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:129:in `handle_read_errors'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:170:in `read_line'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:98:in `read'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:68:in `block in repl'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:67:in `loop'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:67:in `repl'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:38:in `block in start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `call'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:79:in `with_ownership'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:38:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:15:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/pry_class.rb:169:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/core_extensions.rb:43:in `pry'
/Users/luca/Desktop/show-me-the-code/foo.rb:25:in `bar'
/Users/luca/Desktop/show-me-the-code/foo.rb:14:in `bar'
/Users/luca/Desktop/show-me-the-code/foo.rb:31:in `block (2 levels) in <top (required)>'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:108:in `block (3 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:205:in `capture_exceptions'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:105:in `block (2 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:256:in `time_it'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:104:in `block in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:334:in `on_signal'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:276:in `with_info_handler'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:103:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:781:in `run_one_method'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:308:in `run_one_method'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:296:in `block (2 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:295:in `each'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:295:in `block in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:334:in `on_signal'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:321:in `with_info_handler'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:294:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `block in __run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `map'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `__run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:129:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:56:in `block in autorun'
[1] pry(#<Foo>)> Error: Input/output error - read
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:198:in `readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:198:in `block in input_readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:115:in `call'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:115:in `interruptible_region'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:197:in `input_readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:183:in `block in read_line'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:129:in `handle_read_errors'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:170:in `read_line'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:98:in `read'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:68:in `block in repl'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:67:in `loop'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:67:in `repl'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:38:in `block in start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `call'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:79:in `with_ownership'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:38:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:15:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/pry_class.rb:169:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/core_extensions.rb:43:in `pry'
/Users/luca/Desktop/show-me-the-code/foo.rb:25:in `bar'
/Users/luca/Desktop/show-me-the-code/foo.rb:14:in `bar'
/Users/luca/Desktop/show-me-the-code/foo.rb:31:in `block (2 levels) in <top (required)>'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:108:in `block (3 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:205:in `capture_exceptions'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:105:in `block (2 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:256:in `time_it'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:104:in `block in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:334:in `on_signal'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:276:in `with_info_handler'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:103:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:781:in `run_one_method'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:308:in `run_one_method'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:296:in `block (2 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:295:in `each'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:295:in `block in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:334:in `on_signal'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:321:in `with_info_handler'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:294:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `block in __run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `map'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `__run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:129:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:56:in `block in autorun'
[1] pry(#<Foo>)> Error: Input/output error - read
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:198:in `readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:198:in `block in input_readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:115:in `call'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:115:in `interruptible_region'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:197:in `input_readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:183:in `block in read_line'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:129:in `handle_read_errors'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:170:in `read_line'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:98:in `read'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:68:in `block in repl'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:67:in `loop'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:67:in `repl'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:38:in `block in start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `call'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:79:in `with_ownership'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:38:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:15:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/pry_class.rb:169:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/core_extensions.rb:43:in `pry'
/Users/luca/Desktop/show-me-the-code/foo.rb:25:in `bar'
/Users/luca/Desktop/show-me-the-code/foo.rb:14:in `bar'
/Users/luca/Desktop/show-me-the-code/foo.rb:31:in `block (2 levels) in <top (required)>'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:108:in `block (3 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:205:in `capture_exceptions'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:105:in `block (2 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:256:in `time_it'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:104:in `block in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:334:in `on_signal'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:276:in `with_info_handler'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:103:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:781:in `run_one_method'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:308:in `run_one_method'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:296:in `block (2 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:295:in `each'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:295:in `block in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:334:in `on_signal'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:321:in `with_info_handler'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:294:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `block in __run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `map'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `__run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:129:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:56:in `block in autorun'
[1] pry(#<Foo>)> Error: Input/output error - read
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:198:in `readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:198:in `block in input_readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:115:in `call'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:115:in `interruptible_region'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:197:in `input_readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:183:in `block in read_line'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:129:in `handle_read_errors'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:170:in `read_line'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:98:in `read'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:68:in `block in repl'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:67:in `loop'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:67:in `repl'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:38:in `block in start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `call'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:79:in `with_ownership'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:38:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:15:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/pry_class.rb:169:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/core_extensions.rb:43:in `pry'
/Users/luca/Desktop/show-me-the-code/foo.rb:25:in `bar'
/Users/luca/Desktop/show-me-the-code/foo.rb:14:in `bar'
/Users/luca/Desktop/show-me-the-code/foo.rb:31:in `block (2 levels) in <top (required)>'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:108:in `block (3 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:205:in `capture_exceptions'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:105:in `block (2 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:256:in `time_it'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:104:in `block in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:334:in `on_signal'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:276:in `with_info_handler'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:103:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:781:in `run_one_method'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:308:in `run_one_method'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:296:in `block (2 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:295:in `each'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:295:in `block in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:334:in `on_signal'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:321:in `with_info_handler'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:294:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `block in __run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `map'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `__run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:129:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:56:in `block in autorun'
[1] pry(#<Foo>)> Error: Input/output error - read
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:198:in `readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:198:in `block in input_readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:115:in `call'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:115:in `interruptible_region'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:197:in `input_readline'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:183:in `block in read_line'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:129:in `handle_read_errors'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:170:in `read_line'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:98:in `read'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:68:in `block in repl'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:67:in `loop'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:67:in `repl'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:38:in `block in start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `call'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:61:in `__with_ownership'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/input_lock.rb:79:in `with_ownership'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:38:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/repl.rb:15:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/pry_class.rb:169:in `start'
/Users/luca/.gem/ruby/2.2.3/gems/pry-0.10.1/lib/pry/core_extensions.rb:43:in `pry'
/Users/luca/Desktop/show-me-the-code/foo.rb:25:in `bar'
/Users/luca/Desktop/show-me-the-code/foo.rb:14:in `bar'
/Users/luca/Desktop/show-me-the-code/foo.rb:31:in `block (2 levels) in <top (required)>'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:108:in `block (3 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:205:in `capture_exceptions'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:105:in `block (2 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:256:in `time_it'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:104:in `block in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:334:in `on_signal'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:276:in `with_info_handler'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest/test.rb:103:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:781:in `run_one_method'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:308:in `run_one_method'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:296:in `block (2 levels) in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:295:in `each'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:295:in `block in run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:334:in `on_signal'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:321:in `with_info_handler'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:294:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `block in __run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `map'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:155:in `__run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:129:in `run'
/Users/luca/.gem/ruby/2.2.3/gems/minitest-5.8.0/lib/minitest.rb:56:in `block in autorun'
FATAL: Pry failed to get user input using `Readline`.
To fix this you may be able to pass input and output file descriptors to pry directly. e.g.
  Pry.config.input = STDIN
  Pry.config.output = STDOUT
  binding.pry

after
.

Finished in 3.216081s, 0.3109 runs/s, 0.0000 assertions/s.

1 runs, 0 assertions, 0 failures, 0 errors, 0 skips

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions