many errors running prawns tests with --fast option
---------------------------------------------------
Key: JRUBY-3354
URL: http://jira.codehaus.org/browse/JRUBY-3354
Project: JRuby
Issue Type: Bug
Components: Core Classes/Modules
Affects Versions: JRuby 1.2
Environment: Mac OS X, Java 1.5, 1.6, and 1.7, JRuby r8964
Reporter: Stephen Bannasch
Setup the prawn environment:
{code}
jruby -S gem install test-spec pdf-reader mocha
git clone git://github.com/sandal/prawn.git
cd prawn
git submodule init
git submodule update
{code}
Running the tests with plain JRuby (only 1 error):
{code}
jruby -S rake
(in /Users/stephen/dev/ruby/src/gems/prawn.git)
/Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/gempackagetask.rb:13:Warning:
Gem::manage_gems is deprecated and will be removed on or after March 2009.
/Users/stephen/dev/ruby/src/jruby.git/bin/jruby -Ilib:spec
"/Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader.rb"
"spec/annotations_spec.rb" "spec/bounding_box_spec.rb"
"spec/destinations_spec.rb" "spec/document_spec.rb" "spec/font_spec.rb"
"spec/graphics_spec.rb" "spec/images_spec.rb" "spec/jpg_spec.rb"
"spec/measurement_units_spec.rb" "spec/name_tree_spec.rb"
"spec/pdf_object_spec.rb" "spec/png_spec.rb" "spec/reference_spec.rb"
"spec/text_spec.rb"
Prawn specs: Running on Ruby Version: 1.8.6
Loaded suite
/Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader
Started
....................................E................................................................................................................................................
Finished in 13.016763 seconds.
1) Error:
test_spec {When ending each page} 003 [should result in a smaller file size
when compressed](When ending each page):
NoMethodError: undefined method `strip_extended' for nil:NilClass
./lib/../vendor/ttfunk/lib/ttfunk/table/name.rb:109:in `parse!'
./lib/../vendor/ttfunk/lib/ttfunk/table.rb:20:in `initialize'
./lib/../vendor/ttfunk/lib/ttfunk/reader.rb:23:in `parse_from'
./lib/../vendor/ttfunk/lib/ttfunk/table.rb:20:in `initialize'
./lib/../vendor/ttfunk/lib/ttfunk.rb:70:in `name'
./lib/prawn/font/ttf.rb:235:in `embed'
./lib/prawn/font/ttf.rb:222:in `register'
./lib/prawn/reference.rb:27:in `call'
./lib/prawn/reference.rb:27:in `object'
./lib/prawn/document/internals.rb:95:in `render_body'
./lib/prawn/document/internals.rb:93:in `each'
./lib/prawn/document/internals.rb:93:in `render_body'
./lib/prawn/document.rb:175:in `render'
spec/document_spec.rb:103:in `test_spec {When ending each page} 003 [should
result in a smaller file size when compressed]'
/Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/mocha-0.9.4/lib/mocha/test_case_adapter.rb:69:in
`run'
181 tests, 288 assertions, 0 failures, 1 errors
{code}
Running the tests with --fast JRuby:
{code}
jruby --fast -S rake
181 tests, 60 assertions, 0 failures, 146 errors
{code}
Here are two of the 146 errors:
{code}
(in /Users/stephen/dev/ruby/src/gems/prawn.git)
Prawn specs: Running on Ruby Version: 1.8.6
Loaded suite
/Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake/rake_test_loader
Started
...............................EEE..EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE..EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
Finished in 12.022013 seconds.
1) Error:
test_spec {When creating multi-page documents} 002 [should provide an accurate
page_count](When creating multi-page documents):
ArgumentError: wrong number of arguments(1 for 0)
Thread.java:-2:in `dumpThreads'
Thread.java:1401:in `getStackTrace'
RubyException.java:139:in `setBacktraceFrames'
RaiseException.java:149:in `setException'
RaiseException.java:70:in `<init>'
Ruby.java:2884:in `newRaiseException'
Ruby.java:2636:in `newArgumentError'
Arity.java:201:in `checkArity'
JittedMethod.java:243:in `pre'
JittedMethod.java:143:in `call'
DefaultMethod.java:147:in `call'
CachingCallSite.java:273:in `cacheAndCall'
CachingCallSite.java:112:in `call'
spec.rb:52:in `__file__'
JittedMethod.java:111:in `call'
DefaultMethod.java:126:in `call'
CachingCallSite.java:70:in `call'
assertions.rb:494:in `ensure_1$RUBY$__ensure___0'
assertions.rb:493:in `__file__'
JittedMethod.java:128:in `call'
DefaultMethod.java:138:in `call'
CachingCallSite.java:79:in `callBlock'
CachingCallSite.java:96:in `callIter'
assertions.rb:46:in `__file__'
AbstractScript.java:41:in `__file__'
JittedMethod.java:162:in `call'
DefaultMethod.java:156:in `call'
CachingCallSite.java:119:in `callBlock'
CachingCallSite.java:136:in `callIter'
FCallOneArgBlockNode.java:34:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:239:in `call'
DefaultMethod.java:180:in `call'
CachingCallSite.java:190:in `call'
FCallThreeArgNode.java:40:in `interpret'
NewlineNode.java:104:in `interpret'
InterpretedMethod.java:163:in `call'
DefaultMethod.java:144:in `call'
AliasMethod.java:64:in `call'
CachingCallSite.java:273:in `cacheAndCall'
CachingCallSite.java:112:in `call'
CallOneArgNode.java:57:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedBlock.java:218:in `evalBlockBody'
InterpretedBlock.java:206:in `yield'
BlockBody.java:65:in `call'
BlockBody.java:71:in `call'
Block.java:80:in `call'
RubyProc.java:204:in `call'
ProcMethod.java:64:in `call'
DynamicMethod.java:226:in `call'
RubyClass.java:332:in `finvoke'
RubyObject.java:1357:in `send'
org/jruby/RubyObject$i_method_multi$RUBYINVOKER$send.gen:-1:in `call'
JavaMethod.java:244:in `call'
CachingCallSite.java:273:in `cacheAndCall'
CachingCallSite.java:112:in `call'
FCallOneArgNode.java:36:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
RescueNode.java:225:in `executeBody'
RescueNode.java:147:in `interpretWithJavaExceptions'
RescueNode.java:110:in `interpret'
EnsureNode.java:96:in `interpret'
BeginNode.java:83:in `interpret'
NewlineNode.java:104:in `interpret'
EnsureNode.java:96:in `interpret'
BeginNode.java:83:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:182:in `call'
DefaultMethod.java:153:in `call'
CachingCallSite.java:119:in `callBlock'
CachingCallSite.java:126:in `call'
CallOneArgBlockPassNode.java:60:in `interpret'
NewlineNode.java:104:in `interpret'
InterpretedBlock.java:218:in `evalBlockBody'
InterpretedBlock.java:169:in `yield'
Block.java:100:in `yield'
RubyArray.java:1565:in `each'
org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'
CachingCallSite.java:79:in `callBlock'
CachingCallSite.java:86:in `call'
CallNoArgBlockNode.java:64:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:182:in `call'
DefaultMethod.java:153:in `call'
CachingCallSite.java:283:in `cacheAndCall'
CachingCallSite.java:121:in `callBlock'
CachingCallSite.java:126:in `call'
CallOneArgBlockPassNode.java:60:in `interpret'
NewlineNode.java:104:in `interpret'
InterpretedBlock.java:218:in `evalBlockBody'
InterpretedBlock.java:169:in `yield'
Block.java:100:in `yield'
RubyArray.java:1565:in `each'
org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'
CachingCallSite.java:263:in `cacheAndCall'
CachingCallSite.java:81:in `callBlock'
CachingCallSite.java:86:in `call'
CallNoArgBlockNode.java:64:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:182:in `call'
DefaultMethod.java:153:in `call'
CachingCallSite.java:283:in `cacheAndCall'
CachingCallSite.java:121:in `callBlock'
CachingCallSite.java:126:in `call'
CallOneArgBlockNode.java:60:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:125:in `call'
DefaultMethod.java:126:in `call'
CachingCallSite.java:253:in `cacheAndCall'
CachingCallSite.java:72:in `call'
CallNoArgNode.java:61:in `interpret'
ReturnNode.java:88:in `interpret'
NewlineNode.java:104:in `interpret'
InterpretedMethod.java:125:in `call'
DefaultMethod.java:126:in `call'
CachingCallSite.java:253:in `cacheAndCall'
CachingCallSite.java:72:in `call'
VCallNode.java:85:in `interpret'
ReturnNode.java:88:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:125:in `call'
DefaultMethod.java:126:in `call'
CachingCallSite.java:253:in `cacheAndCall'
CachingCallSite.java:72:in `call'
CallNoArgNode.java:61:in `interpret'
ReturnNode.java:88:in `interpret'
NewlineNode.java:104:in `interpret'
InterpretedMethod.java:201:in `call'
DefaultMethod.java:162:in `call'
CachingCallSite.java:293:in `cacheAndCall'
CachingCallSite.java:152:in `call'
CallTwoArgNode.java:59:in `interpret'
CallNoArgNode.java:61:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:125:in `call'
DefaultMethod.java:126:in `call'
CachingCallSite.java:253:in `cacheAndCall'
CachingCallSite.java:72:in `call'
CallNoArgNode.java:61:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:125:in `call'
DefaultMethod.java:126:in `call'
CachingCallSite.java:253:in `cacheAndCall'
CachingCallSite.java:72:in `call'
CallNoArgNode.java:61:in `interpret'
FCallOneArgNode.java:36:in `interpret'
NewlineNode.java:104:in `interpret'
IfNode.java:114:in `interpret'
NewlineNode.java:104:in `interpret'
InterpretedBlock.java:218:in `evalBlockBody'
InterpretedBlock.java:206:in `yield'
BlockBody.java:65:in `call'
BlockBody.java:71:in `call'
Block.java:80:in `call'
RubyProc.java:204:in `call'
RubyProc.java:187:in `call'
Ruby.java:2435:in `tearDown'
Main.java:216:in `run'
Main.java:100:in `run'
ShellLauncher.java:102:in `run'
Thread.java:613:in `run'
2) Error:
test_spec {When beginning each new page Background template feature} 001
[should place a background image if it is in options block](When beginning each
new page Background template feature):
ArgumentError: wrong number of arguments(1 for 0)
Thread.java:-2:in `dumpThreads'
Thread.java:1401:in `getStackTrace'
RubyException.java:139:in `setBacktraceFrames'
RaiseException.java:149:in `setException'
RaiseException.java:70:in `<init>'
Ruby.java:2884:in `newRaiseException'
Ruby.java:2636:in `newArgumentError'
Arity.java:201:in `checkArity'
JittedMethod.java:243:in `pre'
JittedMethod.java:143:in `call'
DefaultMethod.java:147:in `call'
CachingCallSite.java:273:in `cacheAndCall'
CachingCallSite.java:112:in `call'
spec.rb:52:in `__file__'
JittedMethod.java:111:in `call'
DefaultMethod.java:129:in `call'
CachingCallSite.java:70:in `call'
assertions.rb:494:in `ensure_1$RUBY$__ensure___0'
assertions.rb:493:in `__file__'
JittedMethod.java:128:in `call'
DefaultMethod.java:138:in `call'
CachingCallSite.java:79:in `callBlock'
CachingCallSite.java:96:in `callIter'
assertions.rb:46:in `__file__'
AbstractScript.java:41:in `__file__'
JittedMethod.java:162:in `call'
DefaultMethod.java:156:in `call'
CachingCallSite.java:283:in `cacheAndCall'
CachingCallSite.java:121:in `callBlock'
CachingCallSite.java:136:in `callIter'
assertions.rb:83:in `__file__'
AbstractScript.java:49:in `__file__'
JittedMethod.java:213:in `call'
DefaultMethod.java:180:in `call'
CachingCallSite.java:313:in `cacheAndCall'
CachingCallSite.java:192:in `call'
spec.rb:88:in `__file__'
JittedMethod.java:145:in `call'
DefaultMethod.java:144:in `call'
AliasMethod.java:64:in `call'
CachingCallSite.java:273:in `cacheAndCall'
CachingCallSite.java:112:in `call'
CallOneArgNode.java:57:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedBlock.java:218:in `evalBlockBody'
InterpretedBlock.java:206:in `yield'
BlockBody.java:65:in `call'
BlockBody.java:71:in `call'
Block.java:80:in `call'
RubyProc.java:204:in `call'
ProcMethod.java:64:in `call'
DynamicMethod.java:226:in `call'
RubyClass.java:332:in `finvoke'
RubyObject.java:1357:in `send'
org/jruby/RubyObject$i_method_multi$RUBYINVOKER$send.gen:-1:in `call'
JavaMethod.java:244:in `call'
CachingCallSite.java:273:in `cacheAndCall'
CachingCallSite.java:112:in `call'
FCallOneArgNode.java:36:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
RescueNode.java:225:in `executeBody'
RescueNode.java:147:in `interpretWithJavaExceptions'
RescueNode.java:110:in `interpret'
EnsureNode.java:96:in `interpret'
BeginNode.java:83:in `interpret'
NewlineNode.java:104:in `interpret'
EnsureNode.java:96:in `interpret'
BeginNode.java:83:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:182:in `call'
DefaultMethod.java:153:in `call'
CachingCallSite.java:283:in `cacheAndCall'
CachingCallSite.java:121:in `callBlock'
CachingCallSite.java:126:in `call'
CallOneArgBlockPassNode.java:60:in `interpret'
NewlineNode.java:104:in `interpret'
InterpretedBlock.java:218:in `evalBlockBody'
InterpretedBlock.java:169:in `yield'
Block.java:100:in `yield'
RubyArray.java:1565:in `each'
org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'
CachingCallSite.java:79:in `callBlock'
CachingCallSite.java:86:in `call'
CallNoArgBlockNode.java:64:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:182:in `call'
DefaultMethod.java:153:in `call'
CachingCallSite.java:283:in `cacheAndCall'
CachingCallSite.java:121:in `callBlock'
CachingCallSite.java:126:in `call'
CallOneArgBlockPassNode.java:60:in `interpret'
NewlineNode.java:104:in `interpret'
InterpretedBlock.java:218:in `evalBlockBody'
InterpretedBlock.java:169:in `yield'
Block.java:100:in `yield'
RubyArray.java:1565:in `each'
org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen:-1:in `call'
CachingCallSite.java:263:in `cacheAndCall'
CachingCallSite.java:81:in `callBlock'
CachingCallSite.java:86:in `call'
CallNoArgBlockNode.java:64:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:182:in `call'
DefaultMethod.java:153:in `call'
CachingCallSite.java:283:in `cacheAndCall'
CachingCallSite.java:121:in `callBlock'
CachingCallSite.java:126:in `call'
CallOneArgBlockNode.java:60:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:125:in `call'
DefaultMethod.java:126:in `call'
CachingCallSite.java:253:in `cacheAndCall'
CachingCallSite.java:72:in `call'
CallNoArgNode.java:61:in `interpret'
ReturnNode.java:88:in `interpret'
NewlineNode.java:104:in `interpret'
InterpretedMethod.java:125:in `call'
DefaultMethod.java:126:in `call'
CachingCallSite.java:253:in `cacheAndCall'
CachingCallSite.java:72:in `call'
VCallNode.java:85:in `interpret'
ReturnNode.java:88:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:125:in `call'
DefaultMethod.java:126:in `call'
CachingCallSite.java:253:in `cacheAndCall'
CachingCallSite.java:72:in `call'
CallNoArgNode.java:61:in `interpret'
ReturnNode.java:88:in `interpret'
NewlineNode.java:104:in `interpret'
InterpretedMethod.java:201:in `call'
DefaultMethod.java:162:in `call'
CachingCallSite.java:293:in `cacheAndCall'
CachingCallSite.java:152:in `call'
CallTwoArgNode.java:59:in `interpret'
CallNoArgNode.java:61:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:125:in `call'
DefaultMethod.java:126:in `call'
CachingCallSite.java:253:in `cacheAndCall'
CachingCallSite.java:72:in `call'
CallNoArgNode.java:61:in `interpret'
NewlineNode.java:104:in `interpret'
BlockNode.java:71:in `interpret'
InterpretedMethod.java:125:in `call'
DefaultMethod.java:126:in `call'
CachingCallSite.java:253:in `cacheAndCall'
CachingCallSite.java:72:in `call'
CallNoArgNode.java:61:in `interpret'
FCallOneArgNode.java:36:in `interpret'
NewlineNode.java:104:in `interpret'
IfNode.java:114:in `interpret'
NewlineNode.java:104:in `interpret'
InterpretedBlock.java:218:in `evalBlockBody'
InterpretedBlock.java:206:in `yield'
BlockBody.java:65:in `call'
BlockBody.java:71:in `call'
Block.java:80:in `call'
RubyProc.java:204:in `call'
RubyProc.java:187:in `call'
Ruby.java:2435:in `tearDown'
Main.java:216:in `run'
Main.java:100:in `run'
ShellLauncher.java:102:in `run'
Thread.java:613:in `run'
{code}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email