Rails 3.1 rake test: предупреждение об устаревании профиля и пустые выходные файлы

#ruby-on-rails #ruby #ruby-on-rails-3 #profiling

#ruby-on-rails #ruby #ruby-on-rails-3 #профилирование

Вопрос:

При запуске runnign rake test: profile я получаю:

ПРЕДУПРЕЖДЕНИЕ ОБ УСТАРЕВАНИИ: read_csv_fixture_files устарело и будет удалено из Rails 3.2. (вызывается из блока автозапуска в /Users/hade/.rvm/rubies/ruby-1.9.2-p290-perf/lib/ruby/1.9.1/minitest/unit.rb:508)

Unit.rb вокруг строки 508:

   def self.autorun
  at_exit {
    next if $! # don't run if there was an exception

    # the order here is important. The at_exit handler must be
    # installed before anyone else gets a chance to install their
    # own, that way we can be assured that our exit will be last
    # to run (at_exit stacks).
    exit_code = nil

    at_exit { exit false if exit_code amp;amp; exit_code != 0 }
    exit_code = MiniTest::Unit.new.run(ARGV)   <------ LINE 508
  } unless @@installed_at_exit
  @@installed_at_exit = true
end
  

Вызывает ли MiniTest этот метод read_csv_fixture_files? Это нормальное поведение при моей настройке? Как я могу это удалить?

Моя среда:

  • Rails 3.1.0
  • Ruby 1.9.2-p290 с GC-patch

Мои тесты, похоже, работают нормально, но мои выходные файлы бесполезны. В моих выходных файлах у меня есть только эта строка:

 ActiveSupport::Testing::Performance::Profiler#run
  

Но когда я запускаю профилировщик rails ‘User.all’, я получаю хороший вывод на консоль и выходные файлы с некоторым содержимым.

Любая помощь будет очень признательна. Я пробовал разные версии Ruby с GC-patch, но это не помогло.

Комментарии:

1. У вас это получилось? У меня точно такая же проблема, и я пытаюсь разобраться в ней уже два дня.

2. К сожалению, я этого не сделал. Я смог определить задержку в своем приложении другим способом и на этот раз не использовал профилировщик.