Giter Site home page Giter Site logo

cldwalker / bond Goto Github PK

View Code? Open in Web Editor NEW
231.0 9.0 16.0 1.01 MB

Mission: Easy custom autocompletion for arguments, methods and beyond. Accomplished for irb and any other readline-like console environments.

Home Page: http://tagaholic.me/bond/

License: MIT License

Ruby 99.29% C 0.71%

bond's Introduction

Description

Bond is on a mission to improve autocompletion in ruby, especially for irb/ripl. Aside from doing everything irb’s can do and fixing its quirks, Bond can autocomplete argument(s) to methods, uniquely completing per module, per method and per argument. Bond brings ruby autocompletion closer to bash/zsh as it provides a configuration system and a DSL for creating custom completions and completion rules. With this configuration system, users can customize their autocompletions and share it with others. Bond can also load completions that ship with gems. Bond is able to offer more than irb’s completion since it uses the full line of input when completing as opposed to irb’s last-word approach.

Install

Note: Bond is only supported on platforms with make e.g. OSX, Linux and Cygwin Windows. Once 1.8 support is dropped this won’t be an issue.

To use bond with Readline (version >= 5.6 recommended) or JLine for JRuby users, install the gem with:

gem install bond

To use bond with a pure ruby readline i.e. Windows users or users without Readline:

gem install bond rb-readline -- --without-readline

To use bond without readline support (and presumably use your own readline plugin):

gem install bond -- --without-readline

Setup

If you’re using ripl instead of irb, bond is already setup.

To start off, replace irb’s completion (require ‘irb/completion’) with Bond’s enhanced version in your irbrc:

require 'bond'
Bond.start
# For users using a pure ruby readline
Bond.start :readline => :ruby

This setup gives you more consistent method completion on any object, customizable completions and argument completion of some 80+ methods including Hash#[], Kernel#system, Kernel#require and some Rails methods.

Method Argument Completion

By default, Bond autocompletes arguments for a number of core methods:

$ ripl
# require completes gems and anything in $LOAD_PATH
>> require 'rb[TAB]
rbconfig.rb          rbconfig/
>> require 'rbconfig
>> require 'rbconfig.rb'

# hash methods can complete their keys
>> CONFIG::CONFIG[TAB]
>> CONFIG::CONFIG['m[TAB]
>> CONFIG::CONFIG['mandir'
>> CONFIG::CONFIG['mandir']

>> ENV['CO[TAB]
COLUMNS       COMMAND_MODE
>> ENV['COL[TAB]
>> ENV['COLUMNS'
>> ENV['COLUMNS']

# array methods can complete their elements
>> %w{ab bc cd de}.delete '[TAB]
ab  bc  cd  de
>> %w{ab  bc  cd  de}.delete 'a[TAB]
>> %w{ab  bc  cd  de}.delete 'ab'

# system can complete shell commands
>> system 'ec[TAB]
>> system 'echo
>> system 'echo'

Bond also comes with some basic Rails completions, mostly for attributes/columns of models:

$ script/console
>> Url.column_names
=> ["id", "name", "description", "created_at", "updated_at"]
>> Url.create :n[TAB]
>> Url.create :name
...
>> Url.first.update_attribute :d[TAB]
>> Url.first.update_attribute :description
...

To see more methods whose arguments can be completed:

>> puts Bond.list_methods
ActiveRecord::Base#[]
ActiveRecord::Base#attribute_for_inspect
...

Multiple Arguments

Every time a comma appears after a method, Bond starts a new completion. This allows a method to complete multiple arguments. Each argument can be have a unique set of completions since a completion action is aware of what argument it is currently completing. Take for example the completion for Object#send:

>> Bond.send :me[TAB]
>> Bond.send :method
>> Bond.send :method, [TAB]
agent       complete    config      recomplete  spy         start
>> Bond.send :method, :a[TAB]
>> Bond.send :method, :agent
=> #<Method: Module#agent>

Notice the arguments were completed differently: the first completing for Bond.send and the second for Bond.method. The second argument was only able to complete because there’s a completion for Module#method. Using Object#send it’s possible to use completions defined for private methods i.e. Module#remove_const:

>> Bond.send :remove_const, :A[TAB]
:Agent            :AnywhereMission
>> Bond.send :remove_const, :Ag[TAB]
>> Bond.send :remove_const, :Agent

Since Bond uses a comma to delimit completions, methods whose last argument is a hash can have their hash keys autocompleted. Revisiting the above Rails example:

>> Url.create :n[TAB]
>> Url.create :name
>> Url.create :name=>'example.com', :d[TAB]
>> Url.create :name=>'example.com', :description
...
>> Url.first.update_attributes :d[TAB]
>> Url.first.update_attributes :description
>> Url.first.update_attributes :description=>'zzz', :u[TAB]
>> Url.first.update_attributes :description=>'zzz', :updated_at
...

Creating Completions

Bond’s completion resembles bash/zsh’s. When Bond.start is called, Bond looks up completion files in multiple places: ~/.bondrc and ~/.bond/completions/*.rb. Here’s how bash and bond completion definitions compare in their config files:

# Bash
complete -W "one two three" example
complete -F _example example

# Bond
complete(:method=>'example') { %w{one two three} }
complete(:method=>'example', :action=>'_example')

To read up on the wealth of completion types one can make, see the docs for Bond.complete.

Creating Argument Completions for Methods

While the above method completion was a static list, most completions will dynamically generate completions based on the method’s receiver (object). Let’s look at such an example with Hash#[] :

complete(:method=>"Hash#[]") {|e| e.object.keys }

As you can see, the currently typed object is available as the :object attribute of the block’s argument, a Bond::Input object. This object can offer other useful attributes describing what the user has typed. For example, the :argument attribute holds the current argument number being completed. Here’s a completion that uses this attribute to complete differently for the first argument and remaining arguments:

complete(:method=>'example') {|e| e.argument > 1 ? %w{verbose force noop} : %w{one two three} }

Creating Other Completions

First you should know Bond works: A user creates completion missions with Bond.start and its config files (which are just Bond.complete calls). When a user autocompletes, Bond.agent looks up missions in the order they were defined and completes with the first one that matches. The exception to this ordering are :method completions.

To create a completion, Bond.complete needs a regexp to match the user input and an action to generate completions when it matches. If the completion isn’t working, use Bond.spy to see which completion is executing. If a completion needs to be placed before existing completions, use the :place option.

Irb’s Incorrect Completions

There are a number of incorrect completions irb gives for object methods. Bond fixes all of the ones described below.

Irb completes anything surrounded with ‘{}’ the same:

$ irb
>> proc {}.c[TAB]
}.call     }.class    }.clear    }.clone    }.collect
>> %w{ab bc}.c[TAB]
}.call     }.class    }.clear    }.clone    }.collect
>> %r{ab bc}.c[TAB]
}.call     }.class    }.clear    }.clone    }.collect
>> {}.c[TAB]
}.call     }.class    }.clear    }.clone    }.collect
>> {}.call
NoMethodError: undefined method `call' for {}:Hash
        from (irb):1

There are a number of cases where irb gives a default completion because it doesn’t know what else to do.

 # The default completion
 >> self.[TAB]
 Display all 496 possibilities? (y or n)

 # And all of these cases are apparently the same:
 >> nil.[TAB]
 Display all 496 possibilities? (y or n)
 >> false.[TAB]
 Display all 496 possibilities? (y or n)
 >> true.[TAB]
 Display all 496 possibilities? (y or n)
 # Regular expressions with spaces
 >> /man oh man/.[TAB]
 Display all 496 possibilities? (y or n)
 # Grouped expressions
>> (3 + 4).[TAB]
Display all 496 possibilities? (y or n)

# Nested hashes and arrays
>> {:a=>{:a=>1}}.[TAB]
Display all 496 possibilities? (y or n)
>> [[1,2], [3,4]].[TAB]
Display all 496 possibilities? (y or n)

# Any object produced from a method call
>> 'awesome'.to_sym.[TAB]
Display all 496 possibilities? (y or n)
>> :dude.to_s.[TAB]
Display all 496 possibilities? (y or n)

Ranges don’t get much love

>> (2..4).[TAB]
# Nothing happens

Limitations

If on a Mac and using Editline as a Readline replacement (Readline::VERSION =~ /editline/i), Bond will probably not work consistently. I strongly recommend switching to the official Readline. If using rvm, this post has good instructions for reinstalling ruby with the official Readline.

Credits

  • Csaba Hank for providing the C extension which Bond uses to read Readline’s full buffer.

  • Takao Kouji for commiting this Readline enhancement to ruby 1.9.2.

  • pd for compatibility with emacs’ inf-ruby mode.

  • timcharper for improving extconf.rb.

  • headius and rking for jruby help

  • ConradIrwin for 2.0 and other fixes

  • tobias for a java version of the gem

  • havenwood for 2.1 fixes

  • yui-knk, rev112 and dre-hh for bug fixes.

Bugs/Issues

Please report them on github.

Contributing

See here

Todo

  • Make completion actions more synonymous with argument types.

  • Cache expensive completion actions.

  • Ensure completions work when there is additional, unrelated text to the right of a completion.

bond's People

Contributors

cldwalker avatar conradirwin avatar havenwood avatar pd avatar rking avatar timcharper avatar tobias avatar tonyo avatar yui-knk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bond's Issues

"Failed to load readline_line_buffer extension"

Bond looks neat. I'd like to try it out with emacs.

This is what I get when I try to load Bond:

gem install bond
Successfully installed bond-0.2.1
1 gem installed
timcharper@timcharper:~ $ irb
.irbrc completed
irb(main):001:0> require 'bond'
=> true
irb(main):006:0> Bond.start
Bond Error: Failed to load readline_line_buffer extension. Falling back on RubyInline extension.
Bond Error: Completion file '/Users/timcharper/.rvm/gems/ruby-1.8.7-p249/gems/bond-0.2.1/lib/bond/completion.rb' failed to load with:
/Users/timcharper/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- inline
Bond Error: Failed to load readline_line_buffer extension. Falling back on RubyInline extension.
Bond Error: Completion file '/Users/timcharper/.rvm/gems/ruby-1.8.7-p249/gems/bond-0.2.1/lib/bond/completions/activerecord.rb' failed to load with:
/Users/timcharper/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- inline
Bond Error: Failed to load readline_line_buffer extension. Falling back on RubyInline extension.
Bond Error: Completion file '/Users/timcharper/.rvm/gems/ruby-1.8.7-p249/gems/bond-0.2.1/lib/bond/completions/array.rb' failed to load with:
/Users/timcharper/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- inline
Bond Error: Failed to load readline_line_buffer extension. Falling back on RubyInline extension.
Bond Error: Completion file '/Users/timcharper/.rvm/gems/ruby-1.8.7-p249/gems/bond-0.2.1/lib/bond/completions/bond.rb' failed to load with:
/Users/timcharper/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- inline
Bond Error: Failed to load readline_line_buffer extension. Falling back on RubyInline extension.
Bond Error: Completion file '/Users/timcharper/.rvm/gems/ruby-1.8.7-p249/gems/bond-0.2.1/lib/bond/completions/hash.rb' failed to load with:
/Users/timcharper/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- inline
Bond Error: Failed to load readline_line_buffer extension. Falling back on RubyInline extension.
Bond Error: Completion file '/Users/timcharper/.rvm/gems/ruby-1.8.7-p249/gems/bond-0.2.1/lib/bond/completions/kernel.rb' failed to load with:
/Users/timcharper/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- inline
Bond Error: Failed to load readline_line_buffer extension. Falling back on RubyInline extension.
Bond Error: Completion file '/Users/timcharper/.rvm/gems/ruby-1.8.7-p249/gems/bond-0.2.1/lib/bond/completions/module.rb' failed to load with:
/Users/timcharper/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- inline
Bond Error: Failed to load readline_line_buffer extension. Falling back on RubyInline extension.
Bond Error: Completion file '/Users/timcharper/.rvm/gems/ruby-1.8.7-p249/gems/bond-0.2.1/lib/bond/completions/object.rb' failed to load with:
/Users/timcharper/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- inline
Bond Error: Failed to load readline_line_buffer extension. Falling back on RubyInline extension.
Bond Error: Completion file '/Users/timcharper/.rvm/gems/ruby-1.8.7-p249/gems/bond-0.2.1/lib/bond/completions/struct.rb' failed to load with:
/Users/timcharper/.rvm/rubies/ruby-1.8.7-p249/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- inline

It happens with both ruby 1.8.6 (system), 1.8.7 (rvm). It also shows a variant of this error message (as completion text) in the inf-ruby-bond.el emacs integration extension.

Possible to Modify Existing Completion Rules?

Hi, thanks for this great library.

In my .irbrc I add the #r method which allows me to quickly require:

irb [2.4.0] (tmp)$ r:time
=> true
irb [2.4.0] (tmp)$ r"net/http"
=> true

I can reuse Bond's require completion, when using a string argno problem:

Bond.complete(:method => "r", :action => "require")

But, how can I reuse this to complete Symbol arguments?

I've tried:

complete(:on => /\Ar:?/, :search => false, :action => "require")

But that does not complete like require's and r "<TAB> results in an exception:

irb [2.4.0] (tmp)$ r"ne/Users/sshaw/.rvm/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- r"ne (LoadError)
	from /Users/sshaw/.rvm/rubies/ruby-2.4.0/lib/ruby/site_ruby/2.4.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Users/sshaw/.rvm/gems/ruby-2.4.0/gems/bond-0.5.1/lib/bond/mission.rb:96:in `call_action'
	from /Users/sshaw/.rvm/gems/ruby-2.4.0/gems/bond-0.5.1/lib/bond/mission.rb:73:in `execute'
	from /Users/sshaw/.rvm/gems/ruby-2.4.0/gems/bond-0.5.1/lib/bond/agent.rb:46:in `call'
	from /Users/sshaw/.rvm/rubies/ruby-2.4.0/lib/ruby/2.4.0/irb/input-method.rb:151:in `readline'
<snip trace>

Is doing this possible without having to rewrite the completion rule?

Bond Error: Failed during completion action

I have a project called troshka that use bond. It used to work fine but it fails lately. This is the error:

Bond Error: Failed during completion action '/^Object$/+/(\S+|\([^\)]*\)|'[^']*'|"[^"]*"|\/[^\/]*\/|(?:%q|%r|%Q|%w|%s|%)?\[[^\]]*\]|(?:proc|lambda|%q|%r|%Q|%w|%s|%)?\s*\{[^\}]*\})\.(\w*(?:\?|!)?)$/' with 'can't convert nil into String'.
Completion Info: Matches completion for object with ancestor matching /^Object$/.

I'm trying something like this:

Bond.agent.call '"".s'

Thank you for bond.

Autocompletion for first word (not using method names)

Hi, I'm trying to figure out how to make autocompletion for the first word based on a list of stings, and also autocompletion of the first parameter for each word. Let me explain the issue I get.

First, this simple code:

#!/usr/bin/ruby

require "readline"
require "bond"

Bond.start
Bond.complete(:method => "hello") { %w{world universe} }
Bond.complete(:method => "bye")   { %w{forever} }

while line = Readline.readline(">>> ")
  puts "*** introduced line: #{line}"
end

Manually writting the method name and pressing TAB to get the arguments work well:

>>> hello [TAB]
universe world

>>> bye [TAB]
forever 

But just writting half a method doesn't work:

>> he[TAB]
(nothing)

Ok, this makes sense as there is not a method "hello". But I don't want "hello" to be a real method but a custom string from a list/array. So I add Readline completion:

#!/usr/bin/ruby

require "readline"
require "bond"

Bond.start

commands = %w{hello bye}.sort

Readline.completion_append_character = " "
Readline.completion_proc = proc do |s|
  commands.grep( /^#{Regexp.escape(s)}/ )
end

Bond.complete(:method => "hello") { %w{world universe} }
Bond.complete(:method => "bye")   { %w{forever} }

while line = Readline.readline(">>> ")
  puts "*** introduced line: #{line}"
end

In this case using TAB to complete the first word (hello or bye) works:

>>> he[TAB]
hello

but autocompletion of the argument fails:

>>> hello [TAB]
bye hello

If I move "Bond.start" after "Readline.completion_xxxxx" then it works as in first example code (this is, no autocompletion for the first word as there are no methods named "hello" and "bye").
I expect that "Bond.start" changes Readline autocompletion settings.

So my question is, how to make Bond to do autocompletion on the first word searching such words in a custom array I provide (rather than searching through existing methods)?

Thanks a lot.

Consider publishing a -java version of the gem

The extconf dummy Makefile works great under JRuby unless the user does not have make installed, which is commonly the case for folks using Windows. Would you consider publishing a -java variant of the gem? If so, I'd be happy to provide the gemspec/Rakefile changes to support that.

Ctrl-z not working?

Hi there,

I am using bond on Lion, with Ruby 1.9.2-p290 installed with RVM and with readline. The auto completion etc works fine, but I cannot suspend / send the Rails console to background by pressing Ctrl-Z. If I disable bond, it works OK.

Any idea?

problem installing bond on windows

Copied from private message:

Hi, i tried to install bond on windows vista and this is what I got(i'm using ruby 1.8.6). What's going on here?:

Building native extensions. This could take a while...
ERROR: Error installing bond:

ERROR: Failed to build gem native extension.

C:/Users/reg/Desktop/InstantRails/ruby/bin/ruby.exe extconf.rb
checking for readline/readline.h... no
creating Makefile

nmake
'nmake' is not recognized as an internal or external command, operable program or batch file.

Gem files will remain installed in C:/Users/reg/Desktop/InstantRails/ruby/lib/ruby/gems/1.8/gems/bond-0.2.0 for inspecti
on.
Results logged to C:/Users/reg/Desktop/InstantRails/ruby/lib/ruby/gems/1.8/gems/bond-0.2.0/ext/readline_line_buffer/gem_
make.out

Calling Bond.start in .irbrc in ruby-1.8.7 puts Bond into a "Dormant" state

I had the following in my .irbrc, which works with ruby-1.9.2:

begin
  require 'bond'
  Bond.start
  puts "Bond activated"
rescue LoadError
end

In ruby-1.8.7, this succeeded without any errors (it outputted "Bond activated", and the Bond class existed in the Object namespace), however, it put Bond into a dormant state which were unresolved by subsequent manual invocations of "Bond.start".

To test if Bond is active or not, I typed ENV["HO<tab> (where <tab> is a literal tab key press). In the dormant state, no completion would be suggested. In the active state, it would complete to ENV["HOME"

If I comment out Bond.start in my .irbrc, but leave the require 'bond', and then manually type Bond.start, then bond completion is active (it passes the test described above).

The following workaround is a little unorthodox, but effective:

begin
  require 'bond'
  Thread.new { sleep 0.5; Bond.start }
  puts "Bond activated"
rescue LoadError
end

The sleep is actually important, for who knows what reason. I wonder if it's because readline needs to be required first? I'll do some more investigation.

Jruby-1.6.0.RC3

I don't know why, but this has stopped working on the newly released JRuby-1.6.0.RC3. It worked fine on RC2 however.

Possible detect and support pure-ruby Readline?

Hello,

First thank you for creating Bond and Ripl, been using it on Linux and OSX with extreme joy.

However, nothing is perfect, and Bond experience in Windows is not the best.

Under Windows, we replaced GNU Readline dependency by a pure-ruby readline named rb-readline:

http://github.com/luislavena/rb-readline

It tries to provide all the functionality from readline using pure Ruby, removing the need of a binary/compiler/C dependency.

Since the extension included in Bond just adds a missing element to the Ruby readline library, was wondering what about support RbReadline directly?

Having ripl and Bond work under Windows with rb-readline will make more life of lot of people better.

Thank you

Bond Errors under Ruby 2.0.0-preview1

Got this when testing Ripl under Ruby 2.0.0-preview1:

$ ripl
Bond Error: Invalid :action for completion with options: {:object=>"Object", :action=>nil, :on=>/(\S+|\([^\)]*\)|'[^']*'|"[^"]*"|\/[^\/]*\/|(?:%q|%r|%Q|%w|%s|%)?\[[^\]]*\]|(?:proc|lambda|%q|%r|%Q|%w|%s|%)?\s*\{[^\}]*\})\.(\w*(?:\?|!)?)$/}
Bond Error: Invalid :action for completion with options: {:all_methods=>true, :action=>nil}
Bond Error: Invalid :action for completion with options: {:all_operator_methods=>true, :action=>nil}
>> 

Warning on Windows

Windows Vista
ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32]

When I fire up ripl on Vista I see this:

Bond Error: Failed to load readline_line_buffer.bundle. Ensure that it exists and was built correctly.

I'm guessing there's some sort of "win" vs "darwin" mistake happening somewhere based on the ".bundle" extension, since that's a Darwin shared object extension.

Regards,

Dan

Test suite errors

When attempting to build the latest v0.5.1 release, I encounter the following errors:

 guix build --check -K ruby-bond
The following derivation will be built:
   /gnu/store/j462q0ahc12saf9v1y0lwrv5w0cd7m1a-ruby-bond-0.5.1.drv
building /gnu/store/j462q0ahc12saf9v1y0lwrv5w0cd7m1a-ruby-bond-0.5.1.drv...
starting phase `set-SOURCE-DATE-EPOCH'
phase `set-SOURCE-DATE-EPOCH' succeeded after 0.0 seconds
starting phase `set-paths'
environment variable `PATH' set to `/gnu/store/8ql9jjzl8q291ghsxlkm1wn5bpdvgcqw-ruby-2.6.5/bin:/gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin:/gnu/store/v6f44zccwh9z5zk3pjlywjybbi8n2hjh-tar-1.32/bin:/gnu/store/ncydgq2znms5n1d2k5yqshhf58nsixwv-gzip-1.10/bin:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/bin:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/bin:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/bin:/gnu/store/n4n560pfvvw50a9369axw5vj5rrqfj1n-diffutils-3.7/bin:/gnu/store/cd5qf3kcnlq35p9k392pjdpdzpsnds70-patch-2.7.6/bin:/gnu/store/hic7snhayfl7m6cpfqqr73nmm19bpqkg-findutils-4.7.0/bin:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/bin:/gnu/store/ishk7fswcs4gkwcp8mh788z4mvvl9bxh-sed-4.8/bin:/gnu/store/bhs4rj58v8j1narb2454raan2ps38xd8-grep-3.4/bin:/gnu/store/57xj5gcy1jbl9ai2lnrqnpr0dald9i65-coreutils-8.32/bin:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/bin:/gnu/store/pwcp239kjf7lnj5i4lkdzcfcxwcfyk72-bash-minimal-5.0.16/bin:/gnu/store/mpa04aq8lblbcviyxywxcsb1zbi0mf39-ld-wrapper-0/bin:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/bin:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/bin:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/sbin'
environment variable `GEM_PATH' set to `/gnu/store/8ql9jjzl8q291ghsxlkm1wn5bpdvgcqw-ruby-2.6.5/lib/ruby/vendor_ruby:/gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/lib/ruby/vendor_ruby:/gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby:/gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby:/gnu/store/f15i3bn5cdbkgn1pmb5dlqn3nmkhqwny-ruby-mocha-1.11.2/lib/ruby/vendor_ruby'
environment variable `BASH_LOADABLES_PATH' unset
environment variable `C_INCLUDE_PATH' set to `/gnu/store/8ql9jjzl8q291ghsxlkm1wn5bpdvgcqw-ruby-2.6.5/include:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/rykm237xkmq7rl1p0nwass01p090p88x-zlib-1.2.11/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include'
environment variable `CPLUS_INCLUDE_PATH' set to `/gnu/store/8ql9jjzl8q291ghsxlkm1wn5bpdvgcqw-ruby-2.6.5/include:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/include:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/include:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/include:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/include:/gnu/store/hm40bxnv8jxmbc1lpb7zfimii4xm9m81-make-4.3/include:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/include:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include/c++:/gnu/store/rn75fm7adgx3pw5j8pg3bczfqq1y17lk-gcc-7.5.0/include:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/include:/gnu/store/rykm237xkmq7rl1p0nwass01p090p88x-zlib-1.2.11/include:/gnu/store/gfapkk5c6hvl1d94m4sqnhn7f9l5gqyh-linux-libre-headers-5.4.20/include'
environment variable `LIBRARY_PATH' set to `/gnu/store/8ql9jjzl8q291ghsxlkm1wn5bpdvgcqw-ruby-2.6.5/lib:/gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/lib:/gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib:/gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib:/gnu/store/i8h2pcxqdq07ijm3ibkka8f4smn1w48v-bzip2-1.0.8/lib:/gnu/store/9860f1abqj8wjjnwl8a9v54pdcc3bhgf-xz-5.2.4/lib:/gnu/store/60g7r3l01fd7c58yjbm6krgcwj1jkpwg-file-5.38/lib:/gnu/store/swqdvwri9dbv6zssg6v0by7l05hd6wxp-gawk-5.0.1/lib:/gnu/store/m1z7cdbqsqyp9xnjw5cvlb4a7gkcg3m4-binutils-2.34/lib:/gnu/store/fa6wj5bxkj5ll1d7292a70knmyl7a0cr-glibc-2.31/lib:/gnu/store/s3dcqzwqaakv1yx37by9chksdbkgih17-glibc-2.31-static/lib:/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib:/gnu/store/rykm237xkmq7rl1p0nwass01p090p88x-zlib-1.2.11/lib:/gnu/store/f15i3bn5cdbkgn1pmb5dlqn3nmkhqwny-ruby-mocha-1.11.2/lib'
environment variable `GUIX_LOCPATH' set to `/gnu/store/hwcky7446s952w0mwchhmm211ll07zrq-glibc-utf8-locales-2.31/lib/locale'
phase `set-paths' succeeded after 0.3 seconds
starting phase `install-locale'
using 'en_US.utf8' locale for category "LC_ALL"
phase `install-locale' succeeded after 0.0 seconds
starting phase `unpack'
Unpacked gem: '/tmp/guix-build-ruby-bond-0.5.1.drv-0/i3q6qq85p7q7m2sallzf2wfvblljg3w2-bond-0.5.1'
phase `unpack' succeeded after 3.9 seconds
starting phase `patch-usr-bin-file'
phase `patch-usr-bin-file' succeeded after 0.0 seconds
starting phase `patch-source-shebangs'
phase `patch-source-shebangs' succeeded after 0.0 seconds
starting phase `patch-generated-file-shebangs'
phase `patch-generated-file-shebangs' succeeded after 0.0 seconds
starting phase `extract-gemspec'
phase `extract-gemspec' succeeded after 0.3 seconds
starting phase `replace-git-ls-files'
phase `replace-git-ls-files' succeeded after 0.0 seconds
starting phase `build'
WARNING:  open-ended dependency on bacon (>= 1.1.0, development) is not recommended
  if bacon is semantically versioned, use:
    add_development_dependency 'bacon', '~> 1.1', '>= 1.1.0'
WARNING:  open-ended dependency on bacon-bits (>= 0, development) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  See http://guides.rubygems.org/specification-reference/ for help
  Successfully built RubyGem
  Name: bond
  Version: 0.5.1
  File: bond-0.5.1.gem
phase `build' succeeded after 0.4 seconds
starting phase `check'
bacon -q -Ilib -I. test/*_test.rb
..........................................EEEEEEEEEEEEEE................................/tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/completion_test.rb:107: warning: constant ::Fixnum is deprecated
/tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/completion_test.rb:107: warning: constant ::Fixnum is deprecated
/tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/completion_test.rb:107: warning: constant ::Fixnum is deprecated
/tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/method_mission_test.rb:79: warning: constant ::Fixnum is deprecated
............................................................Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc6bf8> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
Mocha deprecation warning at /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/lib/bond/mission.rb:35:in `eval_binding': #<Mock:0xdc7e18> was instantiated in one test but it is receiving invocations within another test. This can lead to unintended interactions between tests and hence unexpected test failures. Ensure that every test correctly cleans up any state that it introduces. A Mocha::StubbingError will be raised in this scenario in the future.
..................................................................................
Finished in 0.526874471 seconds.
Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:9:in `block (3 levels) in <top (required)>': start - prints error if readline doesn't have all required methods
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:10:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:4:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:9:in `block (3 levels) in <top (required)>': start - prints error if readline symbol is invalid
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:16:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:4:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:9:in `block (3 levels) in <top (required)>': start - prints no error if valid readline
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:22:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:4:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:9:in `block (3 levels) in <top (required)>': start - prints no error if valid readline symbol
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:26:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:4:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:9:in `block (3 levels) in <top (required)>': start - sets default mission
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:31:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:4:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:9:in `block (3 levels) in <top (required)>': start - sets default search
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:36:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:4:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:9:in `block (3 levels) in <top (required)>': start - defines completion in block
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:42:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:4:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:9:in `block (3 levels) in <top (required)>': start - sets proc eval_binding
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:47:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:4:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:9:in `block (3 levels) in <top (required)>': start - status can be checked with started?
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:54:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:4:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:65:in `block (3 levels) in <top (required)>': start with :gems - attempts to load gem
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:69:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:63:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:65:in `block (3 levels) in <top (required)>': start with :gems - rescues nonexistent gem
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:75:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:63:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:65:in `block (3 levels) in <top (required)>': start with :gems - rescues nonexistent method 'gem'
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:81:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:63:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:65:in `block (3 levels) in <top (required)>': start with :gems - prints error if gem completion not found
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:87:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:63:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

Mocha::NotInitializedError: Mocha methods cannot be used outside the context of a test
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:65:in `block (3 levels) in <top (required)>': start with :gems - loads gem completion file
        /gnu/store/8ix4l5r1nch14xb1fiy9pp7px144llj7-ruby-mocha-on-bacon-0.2.3/lib/ruby/vendor_ruby/gems/mocha-on-bacon-0.2.3/lib/mocha-on-bacon.rb:54:in `it'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:93:in `block (2 levels) in <top (required)>'
        /gnu/store/ch5i4pvyx1mfywpnby5xd7w0qs9qnvsm-ruby-bacon-bits-0.1.0/lib/ruby/vendor_ruby/gems/bacon-bits-0.1.0/lib/bacon/bits.rb:20:in `describe'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:63:in `block in <top (required)>'
        /tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/test/bond_test.rb:3:in `<top (required)>'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `load'
        /gnu/store/cnwb1jaj8imfqwkw047jc20kh7vw3lwk-ruby-bacon-1.2.0/bin/.real/bacon:23:in `<top (required)>'

230 tests, 476 assertions, 0 failures, 14 errors
rake aborted!
Command failed with status (1): [bacon -q -Ilib -I. test/*_test.rb...]
/tmp/guix-build-ruby-bond-0.5.1.drv-0/gem/Rakefile:44:in `block in <top (required)>'
Tasks: TOP => test
(See full trace by running task with --trace)
command "rake" "test" failed with status 1

Any idea of what could be wrong ?

Thanks!

Autocompletion with quote does not work properly

To reproduce (Ubuntu 12.04, ruby-2.0.0-p0, ripl-0.7.0, bond-0.4.3):

$ ripl
>> "A".inspec<TAB>
>> "A".inspect" 

Please notice the trailing "
Similar with ' case. I remove ' and " from DefaultBreakCharacters at lib/bond/readline.rb:4 and it work as expected however unsure if it would break other parts.

JRuby Setup Failure due to missing Readline Class

I'm trying to use pry in JRuby 1.7.3, on both Mac OS and Linux Mint 14 (based on Ubuntu 12.10), and get this error when I run it:

Bond Error: Failed Jruby setup with 'missing class or uppercase package name (`org.jruby.ext.Readline')'

This error does not occur at first when I installed the pry gem. It was only when I did a bundle install on the pry source code, and that installed bond.

Bond error with Readline (WindowsXP)

I installed both the rb-readline (0.4.0) and bond (0.4.0) gems, and here's my output when trying tab completion from require ':

PS C:\mydocs> irb
>> require 'readline'
=> false
>> require 'bond'
=> true
>> Bond.start
=> true
>> Bond.config[:debug] = true
=> true
>> require '
Bond Error: Failed internally with 'undefined method `line_buffer' for Readline:Module'.
Please report this issue with debug on: Bond.config[:debug] = true.
Stack Trace: ["C:/Ruby187/lib/ruby/gems/1.8/gems/bond-0.4.0/lib/bond/readline.rb:36:in `line_buffer'",
"C:/Ruby187/lib/ruby/gems/1.8/gems/bond-0.4.0/lib/bond/agent.rb:44:in `call'", "C:/Ruby187/lib/ruby/site_ruby/1.8/readline.rb:114:in
`readline_attempted_completion_function'", "C:/Ruby187/lib/ruby/site_ruby/1.8/rbreadline.rb:6177:in `send'",
"C:/Ruby187/lib/ruby/site_ruby/1.8/rbreadline.rb:6177:in `gen_completion_matches'", "C:/Ruby187/lib/ruby/site_ruby/1.8/rbreadline.rb:6662:in
`rl_complete_internal'", "C:/Ruby187/lib/ruby/site_ruby/1.8/rbreadline.rb:6746:in `rl_complete'", "C:/Ruby187/lib/ruby/site_ruby/1.8/rbreadline.rb:4232:in
`send'", "C:/Ruby187/lib/ruby/site_ruby/1.8/rbreadline.rb:4232:in `_rl_dispatch_subseq'", "C:/Ruby187/lib/ruby/site_ruby/1.8/rbreadline.rb:4221:in
`_rl_dispatch'", "C:/Ruby187/lib/ruby/site_ruby/1.8/rbreadline.rb:4631:in `readline_internal_charloop'",
"C:/Ruby187/lib/ruby/site_ruby/1.8/rbreadline.rb:4705:in `readline_internal'", "C:/Ruby187/lib/ruby/site_ruby/1.8/rbreadline.rb:4727:in `readline'",
"C:/Ruby187/lib/ruby/site_ruby/1.8/readline.rb:40:in `readline'", "C:/Ruby187/lib/ruby/1.8/irb/input-method.rb:97:in `gets'",
"C:/Ruby187/lib/ruby/1.8/irb.rb:140:in `eval_input'", "C:/Ruby187/lib/ruby/1.8/irb.rb:271:in `signal_status'", "C:/Ruby187/lib/ruby/1.8/irb.rb:139:in
`eval_input'", "C:/Ruby187/lib/ruby/1.8/irb/ruby-lex.rb:189:in `call'", "C:/Ruby187/lib/ruby/1.8/irb/ruby-lex.rb:189:in `buf_input'",
"C:/Ruby187/lib/ruby/1.8/irb/ruby-lex.rb:104:in `getc'", "C:/Ruby187/lib/ruby/1.8/irb/slex.rb:206:in `match_io'", "C:/Ruby187/lib/ruby/1.8/irb/slex.rb:76:in
`match'", "C:/Ruby187/lib/ruby/1.8/irb/ruby-lex.rb:287:in `token'", "C:/Ruby187/lib/ruby/1.8/irb/ruby-lex.rb:263:in `lex'",
"C:/Ruby187/lib/ruby/1.8/irb/ruby-lex.rb:234:in `each_top_level_statement'", "C:/Ruby187/lib/ruby/1.8/irb/ruby-lex.rb:230:in `loop'",
"C:/Ruby187/lib/ruby/1.8/irb/ruby-lex.rb:230:in `each_top_level_statement'", "C:/Ruby187/lib/ruby/1.8/irb/ruby-lex.rb:229:in `catch'",
"C:/Ruby187/lib/ruby/1.8/irb/ruby-lex.rb:229:in `each_top_level_statement'", "C:/Ruby187/lib/ruby/1.8/irb.rb:154:in `eval_input'",
"C:/Ruby187/lib/ruby/1.8/irb.rb:71:in `start'", "C:/Ruby187/lib/ruby/1.8/irb.rb:70:in `catch'", "C:/Ruby187/lib/ruby/1.8/irb.rb:70:in `start'",
"C:/Ruby187/bin/irb:13"]

Installation details:

Ruby 1.8.7p330, Windows XP (SP3)

c-ext under Rubinius

It compiles but doesn't load under Rubinius 1.1.0

If you add:

$libs = "-lreadline"

before the "create_makefile" line in the extconf.rb, it will compile and load w/ Rubinius. This seems to work just fine with MRI 1.8.6, 1.8.7, 1.9.1, 1.9.2 as well. That is, I can do some autocompletes. However, I get two test failures with 1.9.2.

4 tests fail under rubinius

Tried it with jruby-head but it falls short. That c-ext implementation is a little immature at this point. 2 test fail.

Can't get bond to use Homebrew readline

$ brew --prefix readline
/usr/local/opt/readline

$ gem install bond -- --with-readline-dir=`brew --prefix readline`  
Fetching: bond-0.5.1.gem (100%)
Building native extensions with: '--with-readline-dir=/usr/local/opt/readline'
This could take a while...
Successfully installed bond-0.5.1
1 gem installed

$ rib      
Bond has detected EditLine and may not work with it. See the README's Limitations section.
>> 

Pounding my head against the wall... :finnadie:

Bacon-bits

Hi,

Do you really use bacon-bits for something? It is defined as a dependency but I coudn't find it being used anywhere!

NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement.

Hi,

with latest Rails 6 i got this message:

NOTE: Gem::Specification#has_rdoc= is deprecated with no replacement. It will be removed on or after 2018-12-01.
Gem::Specification#has_rdoc= called from /home/wellington/.rbenv/versions/2.6.0-preview2/lib/ruby/gems/2.6.0/bundler/gems/bond-19b0a9af11c5/.gemspec:15.

Just reporting to maybe help...

Thanks..

Is it possible Readline not to order the options alphabetically?

Hi, in this simple code:

Bond.start :default_mission => proc { %w{ ccc aaa bbb } }

when pressing TAB with empty buffer I get:

aaa bbb ccc

In some cases I prefer keeping the original order if the array. Is it possible with Bond? I've tryed it directly with Readline and seems not possible at all.

Thanks a lot.

support: bond from application without readline

Hi,
I am working on a remote autocompletion demon for bond (to be used in IDEs). How can i access the bond autocomplete API directly without the readline. i tried both the with and without readline options.

This call

Bond.agent.call("require 'JS") 

always end up in this error

"Bond Error: Failed internally with 'undefined method `line_buffer' for nil:NilClass'.", 

My environment is

  • OSX
  • Ruby 2.1.2
  • Bond 0.5.1

any pointer would be really helpful.

Thanks

History malfunctioning in Windows with Cygwin

Bond tab completion and history work great in different OS's and environments, even in Command Prompt :)

However, in Git Bash, a form of msysgit / MSYS / Cygwin, pressing up/down fails to clear the line first, resulting in the history being appended to the current line rather than replacing it.

System:

$ specs ruby bash git os
Specs:

specs 0.2
https://github.com/mcandre/specs#readme

gem --version
2.0.0

ruby --version
ruby 1.9.3p374 (2013-01-15) [i386-mingw32]

bash --version
GNU bash, version 3.1.0(1)-release (i686-pc-msys)
Copyright (C) 2005 Free Software Foundation, Inc.

git --version
git version 1.8.0.msysgit.0

systeminfo | findstr /B /C:"OS Name" /C:"OS Version"
OS Name:                   Microsoft Windows XP Professional
OS Version:                5.1.2600 Service Pack 3 Build 2600

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.