activerecord-jdbc-adapter 测试因 rake 调用的参数数量错误而失败
这很可能是我的设置问题。
我正在尝试运行 activerecord-jdbc-adapter 的测试,但是他们失败了,请参阅下面的日志。
我正在使用 JRuby 1.6.4,在 OSX 和 Ubuntu 上都尝试过。
使用 Rails trunk 源进行 activerecord。
相信我的mysql和postgres数据库设置正确...
在rails.rake中,这个调用给了rake 2个参数:
Dir.chdir(activerecord) do
rake "RUBYLIB=#{rubylib}", "#{_target(driver)}"
end
但是Rakefile中的rake方法需要1个参数:
def rake(args)
ruby "-S", "rake", *args
end
我可能错过了一些基本的东西。
预先感谢您提供任何提示/技巧。
日志:
$ rake rails:test DRIVER=mysql RAILS=../rails --trace
** Invoke rails:test (first_time)
** Invoke java_compile (first_time)
** Execute java_compile
mkdir -p pkg/classes
javac -target 1.5 -source 1.5 -d pkg/classes -cp "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Resources/Java/JavaRuntimeSupport.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jce.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar:/Users/kimptoc/.rvm/rubies/jruby-1.6.4/lib/jruby.jar" src/java/arjdbc/db2/DB2RubyJdbcConnection.java src/java/arjdbc/derby/DerbyModule.java src/java/arjdbc/h2/H2RubyJdbcConnection.java src/java/arjdbc/informix/InformixRubyJdbcConnection.java src/java/arjdbc/jdbc/AdapterJavaService.java src/java/arjdbc/jdbc/JdbcConnectionFactory.java src/java/arjdbc/jdbc/RubyJdbcConnection.java src/java/arjdbc/jdbc/SQLBlock.java src/java/arjdbc/mssql/MssqlRubyJdbcConnection.java src/java/arjdbc/mysql/MySQLModule.java src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java src/java/arjdbc/oracle/OracleRubyJdbcConnection.java src/java/arjdbc/postgresql/PostgresqlRubyJdbcConnection.java src/java/arjdbc/sqlite3/Sqlite3RubyJdbcConnection.java
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: src/java/arjdbc/jdbc/RubyJdbcConnection.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
jar cf lib/arjdbc/jdbc/adapter_java.jar -C pkg/classes .
** Execute rails:test
rake aborted!
wrong number of arguments (2 for 1)
/Users/kimptoc/Documents/ruby/libs/activerecord-jdbc-adapter.kimptoc/rakelib/rails.rake:38:in `(root)'
org/jruby/RubyDir.java:335:in `chdir'
/Users/kimptoc/Documents/ruby/libs/activerecord-jdbc-adapter.kimptoc/rakelib/rails.rake:37:in `(root)'
org/jruby/RubyProc.java:274:in `call'
org/jruby/RubyProc.java:229:in `call'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/task.rb:205:in `execute'
org/jruby/RubyArray.java:1603:in `each'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/task.rb:158:in `invoke_with_call_chain'
/Users/kimptoc/.rvm/rubies/jruby-1.6.4/lib/ruby/1.8/monitor.rb:191:in `mon_synchronize'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:112:in `invoke_task'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level'
org/jruby/RubyArray.java:1603:in `each'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:84:in `top_level'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:62:in `run'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/bin/rake:32:in `(root)'
org/jruby/RubyKernel.java:1063:in `load'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/bin/rake:19:in `(root)'
Tasks: TOP => rails:test
This very likely a setup issue on my part.
I am trying to run the tests for the activerecord-jdbc-adapter but they are failing, see log below.
I am using JRuby 1.6.4, tried on both OSX and Ubuntu.
Using the Rails trunk source for activerecord.
Believe I have the mysql and postgres databases setup correctly...
In rails.rake, this call is giving rake 2 params:
Dir.chdir(activerecord) do
rake "RUBYLIB=#{rubylib}", "#{_target(driver)}"
end
But the rake method in Rakefile takes 1 param:
def rake(args)
ruby "-S", "rake", *args
end
I am probably missing something basic.
Thanks in advance for any tips/tricks.
Log:
$ rake rails:test DRIVER=mysql RAILS=../rails --trace
** Invoke rails:test (first_time)
** Invoke java_compile (first_time)
** Execute java_compile
mkdir -p pkg/classes
javac -target 1.5 -source 1.5 -d pkg/classes -cp "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsfd.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/classes.jar:/System/Library/Frameworks/JavaVM.framework/Frameworks/JavaRuntimeSupport.framework/Resources/Java/JavaRuntimeSupport.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/ui.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/laf.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/sunrsasign.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jsse.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/jce.jar:/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Classes/charsets.jar:/Users/kimptoc/.rvm/rubies/jruby-1.6.4/lib/jruby.jar" src/java/arjdbc/db2/DB2RubyJdbcConnection.java src/java/arjdbc/derby/DerbyModule.java src/java/arjdbc/h2/H2RubyJdbcConnection.java src/java/arjdbc/informix/InformixRubyJdbcConnection.java src/java/arjdbc/jdbc/AdapterJavaService.java src/java/arjdbc/jdbc/JdbcConnectionFactory.java src/java/arjdbc/jdbc/RubyJdbcConnection.java src/java/arjdbc/jdbc/SQLBlock.java src/java/arjdbc/mssql/MssqlRubyJdbcConnection.java src/java/arjdbc/mysql/MySQLModule.java src/java/arjdbc/mysql/MySQLRubyJdbcConnection.java src/java/arjdbc/oracle/OracleRubyJdbcConnection.java src/java/arjdbc/postgresql/PostgresqlRubyJdbcConnection.java src/java/arjdbc/sqlite3/Sqlite3RubyJdbcConnection.java
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: src/java/arjdbc/jdbc/RubyJdbcConnection.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
jar cf lib/arjdbc/jdbc/adapter_java.jar -C pkg/classes .
** Execute rails:test
rake aborted!
wrong number of arguments (2 for 1)
/Users/kimptoc/Documents/ruby/libs/activerecord-jdbc-adapter.kimptoc/rakelib/rails.rake:38:in `(root)'
org/jruby/RubyDir.java:335:in `chdir'
/Users/kimptoc/Documents/ruby/libs/activerecord-jdbc-adapter.kimptoc/rakelib/rails.rake:37:in `(root)'
org/jruby/RubyProc.java:274:in `call'
org/jruby/RubyProc.java:229:in `call'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/task.rb:205:in `execute'
org/jruby/RubyArray.java:1603:in `each'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/task.rb:200:in `execute'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/task.rb:158:in `invoke_with_call_chain'
/Users/kimptoc/.rvm/rubies/jruby-1.6.4/lib/ruby/1.8/monitor.rb:191:in `mon_synchronize'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/task.rb:144:in `invoke'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:112:in `invoke_task'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level'
org/jruby/RubyArray.java:1603:in `each'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:90:in `top_level'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:84:in `top_level'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:62:in `run'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:129:in `standard_exception_handling'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/lib/rake/application.rb:59:in `run'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/gems/rake-0.9.2/bin/rake:32:in `(root)'
org/jruby/RubyKernel.java:1063:in `load'
/Users/kimptoc/.rvm/gems/jruby-1.6.4@global/bin/rake:19:in `(root)'
Tasks: TOP => rails:test
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
此提交解决了错误
https://github.com/jruby/activerecord-jdbc-adapter/commit/b76f828ecbd2733bdbacdd571f67959235de96be
This commit has resolved the bug
https://github.com/jruby/activerecord-jdbc-adapter/commit/b76f828ecbd2733bdbacdd571f67959235de96be