Using JRuby 1.3.1 to run the RubyGems 1.3.1 test suite, I get an exception
midway but no visible exception message. I used this to run the tests, just
to simplify things (given the RubyGems-1_3_1-test directory contains the
RubyGems test directory). MRI and IronRuby run this to completion:
test_dir = File.expand_path "RubyGems-1_3_1-test"
$: << test_dir
Dir["#{test_dir}/test_*.rb"].each { |f| require f }
Here's the JRuby output:
JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL
Loaded suite RubyGemsTests
Started
.F.FFF..F...F.FF...F.F............FFF.....F..F..........................EEEEEEE..................F.............................F....F....................EE.....FF..F................................E....EE.E.F..EF..EE.........E..E.................EE.FE.EEF..RubyString.java:3893:in
`oct': java.lang.ArrayIndexOutOfBoundsException: 8
from org/jruby/RubyString$i_method_0_0$RUBYINVOKER$oct.gen:-1:in
`call'
from CachingCallSite.java:75:in `call'
from tar_header.rb:108:in `__file__'
from JittedMethod.java:145:in `call'
from DefaultMethod.java:154:in `call'
from CachingCallSite.java:115:in `call'
from tar_reader.rb:59:in `block_0$RUBY$__block__'
from null:-1:in `call'
from CompiledBlock.java:102:in `yield'
from Block.java:194:in `yield'
from RubyKernel.java:1147:in `loop'
from
org/jruby/RubyKernel$s_method_0_0$RUBYFRAMEDINVOKER$loop.gen:-1:in `call'
from CachingCallSite.java:84:in `callBlock'
from CachingCallSite.java:101:in `callIter'
from tar_reader.rb:56:in `__file__'
from JittedMethod.java:128:in `call'
from DefaultMethod.java:146:in `call'
from CachingCallSite.java:84:in `callBlock'
from CachingCallSite.java:101:in `callIter'
from tar_input.rb:33:in `__file__'
from AbstractScript.java:53:in `__file__'
from JittedMethod.java:196:in `call'
from DefaultMethod.java:178:in `call'
from CachingCallSite.java:164:in `callBlock'
from CachingCallSite.java:171:in `call'
from RubyClass.java:622:in `call'
from DynamicMethod.java:172:in `call'
from WrapperMethod.java:62:in `call'
from CachingCallSite.java:155:in `call'
from tar_input.rb:18:in `ensure_1$RUBY$__ensure___0'
from tar_input.rb:-1:in `__file__'
from AbstractScript.java:53:in `__file__'
from JittedMethod.java:196:in `call'
from DefaultMethod.java:178:in `call'
from CachingCallSite.java:164:in `callBlock'
from CachingCallSite.java:171:in `call'
from package.rb:56:in `__file__'
from AbstractScript.java:57:in `__file__'
from JittedMethod.java:230:in `call'
from DefaultMethod.java:194:in `call'
from CachingCallSite.java:204:in `callBlock'
from CachingCallSite.java:221:in `callIter'
from format.rb:67:in `__file__'
from AbstractScript.java:49:in `__file__'
from JittedMethod.java:145:in `call'
from DefaultMethod.java:154:in `call'
from CachingCallSite.java:278:in `cacheAndCall'
from CachingCallSite.java:117:in `call'
from CallOneArgNode.java:57:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:218:in `evalBlockBody'
from InterpretedBlock.java:169:in `yield'
from Block.java:194:in `yield'
from YieldNode.java:143:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from RescueNode.java:225:in `executeBody'
from RescueNode.java:147:in `interpretWithJavaExceptions'
from RescueNode.java:110:in `interpret'
from BeginNode.java:83:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:192:in `call'
from DefaultMethod.java:159:in `call'
from CachingCallSite.java:288:in `cacheAndCall'
from CachingCallSite.java:126:in `callBlock'
from CachingCallSite.java:141:in `callIter'
from FCallOneArgBlockNode.java:34:in `interpret'
from LocalAsgnNode.java:123:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:155:in `call'
from DefaultMethod.java:143:in `call'
from RubyClass.java:394:in `finvoke'
from RubyObject.java:1413:in `send'
from org/jruby/RubyObject$i_method_multi$RUBYINVOKER$send.gen:-1:in
`call'
from JavaMethod.java:259:in `call'
from CachingCallSite.java:278:in `cacheAndCall'
from CachingCallSite.java:117:in `call'
from unit.rb:443:in `rescue_1$RUBY$__rescue___1'
from unit.rb:-1:in `ensure_1$RUBY$__ensure___0'
from unit.rb:440:in `__file__'
from JittedMethod.java:145:in `call'
from DefaultMethod.java:154:in `call'
from CachingCallSite.java:278:in `cacheAndCall'
from CachingCallSite.java:117:in `call'
from CallOneArgNode.java:57:in `interpret'
from DAsgnNode.java:110:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedBlock.java:218:in `evalBlockBody'
from InterpretedBlock.java:169:in `yield'
from Block.java:194:in `yield'
from RubyArray.java:1562:in `each'
from
org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'
from CachingCallSite.java:84:in `callBlock'
from CachingCallSite.java:91:in `call'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from InterpretedBlock.java:218:in `evalBlockBody'
from InterpretedBlock.java:169:in `yield'
from Block.java:194:in `yield'
from RubyArray.java:1562:in `each'
from
org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'
from CachingCallSite.java:268:in `cacheAndCall'
from CachingCallSite.java:86:in `callBlock'
from CachingCallSite.java:91:in `call'
from CallNoArgBlockNode.java:64:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:151:in `call'
from CachingCallSite.java:278:in `cacheAndCall'
from CachingCallSite.java:117:in `call'
from FCallOneArgNode.java:36:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedMethod.java:173:in `call'
from DefaultMethod.java:151:in `call'
from CachingCallSite.java:278:in `cacheAndCall'
from CachingCallSite.java:117:in `call'
from CallOneArgNode.java:57:in `interpret'
from DAsgnNode.java:110:in `interpret'
from NewlineNode.java:104:in `interpret'
from BlockNode.java:71:in `interpret'
from InterpretedBlock.java:218:in `evalBlockBody'
from InterpretedBlock.java:206:in `yield'
from BlockBody.java:72:in `call'
from BlockBody.java:78:in `call'
from Block.java:89:in `call'
from RubyProc.java:221:in `call'
from RubyProc.java:204:in `call'
from Ruby.java:2580:in `tearDown'
from Main.java:270:in `run'
from Main.java:113:in `run'
from Main.java:97:in `main'
Is it know to work currently and I'm just overlooking something?
~js