activerecord-jdbc-adapter 测试因 rake 调用的参数数量错误而失败

发布于 2024-12-11 11:32:06 字数 4757 浏览 0 评论 0原文

这很可能是我的设置问题。

我正在尝试运行 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文