Миражные грабли не выполняются, когда мираж не работает - PullRequest
0 голосов
/ 18 января 2012

Добрый день,

У меня есть просто файл Rake:

require 'mirage/client'

namespace :mock_server do
  desc "Checks to see if the mock server is currently running"
  task :running? do
    puts Mirage::Client.new.running? ? 'Yep' : 'Nope'
  end
end

Если Mirage работает, это работает нормально, однако, если Mirage не работает, он не работает с:

$ rake --trace -f test.rb.txt mock_server:running?
** Invoke mock_server:running? (first_time)
** Execute mock_server:running?
rake aborted!
Operation not permitted - connect(2)
/usr/lib/ruby/1.8/net/http.rb:560:in `initialize'
/usr/lib/ruby/1.8/net/http.rb:560:in `open'
/usr/lib/ruby/1.8/net/http.rb:560:in `connect'
/usr/lib/ruby/1.8/timeout.rb:53:in `timeout'
/usr/lib/ruby/1.8/timeout.rb:93:in `timeout'
/usr/lib/ruby/1.8/net/http.rb:560:in `connect'
/usr/lib/ruby/1.8/net/http.rb:553:in `do_start'
/usr/lib/ruby/1.8/net/http.rb:542:in `start'
/usr/lib/ruby/1.8/net/http.rb:1035:in `request'
/usr/lib/ruby/gems/1.8/gems/mirage-2.0.16/lib/mirage/client/web.rb:36:in `http_get'
/usr/lib/ruby/gems/1.8/gems/mirage-2.0.16/lib/mirage/client.rb:135:in `running?'
/cygdrive/c/Code/SocialMedia/tests/features/test.rb.txt:6
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `call'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:205:in `execute'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:200:in `execute'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:158:in `invoke_with_call_chain'
/usr/lib/ruby/1.8/monitor.rb:242:in `synchronize'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:151:in `invoke_with_call_chain'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/task.rb:144:in `invoke'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:116:in `invoke_task'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `each'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:94:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:88:in `top_level'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:66:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:133:in `standard_exception_handling'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/lib/rake/application.rb:63:in `run'
/usr/lib/ruby/gems/1.8/gems/rake-0.9.2.2/bin/rake:33
/usr/bin/rake:19:in `load'
/usr/bin/rake:19
Tasks: TOP => mock_server:running?

Я использую ruby ​​1.8.7, установленный с помощью установщика Cygwin, mirage 2.0.16 через gem в Windows 7. Знаете ли вы, по какой причине это происходит?

Cheers, Mlk

1 Ответ

0 голосов
/ 19 января 2012

Кажется, это версия Ruby. Пробовал с Ruby 1.9 и все хорошо с миром.

...