[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: test/unit and puke method



On Sun, Mar 31, 2013 at 10:02 AM, Antonio Terceiro <terceiro@debian.org> wrote:
On Sun, Mar 31, 2013 at 03:18:59PM +0530, Praveen A wrote:
> Is it obvious that test-unit gem has
> more priority than bundled gems? (may be this is a stupid questions I'm a
> newbie to ruby).

Any third-party library has priority over the libraries that come with the
interpreter, because they are installed to directories that come before in the
$LOAD_PATH than the path for interpreter libraries:

$ ruby -e 'puts RUBY_VERSION; puts $LOAD_PATH'
1.9.3
/usr/local/lib/site_ruby/1.9.1
/usr/local/lib/site_ruby/1.9.1/x86_64-linux
/usr/local/lib/site_ruby
/usr/lib/ruby/vendor_ruby/1.9.1
/usr/lib/ruby/vendor_ruby/1.9.1/x86_64-linux
/usr/lib/ruby/vendor_ruby
/usr/lib/ruby/1.9.1
/usr/lib/ruby/1.9.1/x86_64-linux

Libraries bundled with the interpreter get installed in the last 2 directories,
which have the lowest priority.

You will have to find a way to avoid that or ask the author to fix the problem by switching to minitest because Test::Unit inside of Stdlib (prior to 2.0 which extracted it entirely) you have a cross-breeding of Minitest and Test::Unit, a case in which (if I remember right) does not exist in the gem itself making it so that the #puke method (which belongs to Minitest) does not exist even though it *should* in theory exist.   This is an unfortanate case of using a stdlib that is no longer on-top of it's game compared to Gems (by it's own right considering it's stdlib.)


Reply to: