【发布时间】:2011-07-29 09:53:42
【问题描述】:
我是 JRuby 新手,我正在尝试让我的测试套件正确运行。我正在使用 minitest,看起来 minitest 需要启用 ObjectSpace。我已经尝试了以下每个命令:
bundle exec jruby -X+O -S rake
jruby -X+O -S bundle exec rake
JRUBY_OPTS="-X+O" bundle exec rake
export JRUBY_OPTS="-X+O" && bundle exec rake
所有这些都会导致以下堆栈跟踪:
RuntimeError: ObjectSpace is disabled; each_object will only work with Class, pass -X+O to enable
each_object at org/jruby/RubyObjectSpace.java:167
each at org/jruby/RubyEnumerator.java:189
to_a at org/jruby/RubyEnumerable.java:375
AWS at /Users/kshipley/.rvm/gems/jruby-1.6.2@split/bundler/gems/papi-38fc7d34a33d/lib/papi/aws.rb:1476
Papi at /Users/kshipley/.rvm/gems/jruby-1.6.2@split/bundler/gems/papi-38fc7d34a33d/lib/papi/aws.rb:6
(root) at /Users/kshipley/.rvm/gems/jruby-1.6.2@split/bundler/gems/papi-38fc7d34a33d/lib/papi/aws.rb:5
require at org/jruby/RubyKernel.java:1038
(root) at /Users/kshipley/.rvm/gems/jruby-1.6.2@split/bundler/gems/papi-38fc7d34a33d/lib/papi/aws.rb:157
require at org/jruby/RubyKernel.java:1038
require at /Users/kshipley/.rvm/gems/jruby-1.6.2@split/bundler/gems/papi-38fc7d34a33d/lib/papi.rb:68
each at org/jruby/RubyArray.java:1602
require at /Users/kshipley/.rvm/gems/jruby-1.6.2@global/gems/bundler-1.0.15/lib/bundler/runtime.rb:66
each at org/jruby/RubyArray.java:1602
require at /Users/kshipley/.rvm/gems/jruby-1.6.2@global/gems/bundler-1.0.15/lib/bundler/runtime.rb:55
require at /Users/kshipley/.rvm/gems/jruby-1.6.2@global/gems/bundler-1.0.15/lib/bundler.rb:120
(root) at /Users/kshipley/work/src/split/config/environment.rb:5
require at org/jruby/RubyKernel.java:1038
(root) at /Users/kshipley/work/src/split/config/environment.rb:3
require at org/jruby/RubyKernel.java:1038
(root) at /Users/kshipley/work/src/split/test/test_helper.rb:1
load at org/jruby/RubyKernel.java:1063
__file__ at /Users/kshipley/.rvm/gems/jruby-1.6.2@split/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5
each at org/jruby/RubyArray.java:1602
(root) at /Users/kshipley/.rvm/gems/jruby-1.6.2@split/gems/rake-0.8.7/lib/rake/rake_test_loader.rb:5
rake aborted!
您知道在运行 rake 时重新启用 ObjectSpace 的正确命令是什么吗?我已经运行了类似的命令
bundle exec jruby -X+O test/functional/my_test.rb
bundle exec jruby -X+O -S irb
没有问题,所以它似乎与 rake 有某种特定的关系。
【问题讨论】:
-
bundle exec jruby -X+O -S rake呢? -
抱歉,我同时编辑了您的评论——那是我实际运行的命令。