2009-09-22 12 views
5

Właśnie zaktualizowałem do Ruby 1.9.1 i prawie wszystkie moje rspec są zepsute, dając mi "nie można zmodyfikować zamrożonego obiektu". Nawet przykładowy kod Rspec z generatora rspec_controller kończy się niepowodzeniem.Ruby 1.9.1 z rspec "nie można zmodyfikować zamrożonego obiektu"

RuntimeError in 'DownloadsController should use DownloadsController' 
can't modify frozen object                                       
/usr/local/lib/ruby19/1.9.1/timeout.rb:44:in `timeout' 


Generated by the following code: 

it "should use DownloadsController" do 
    controller.should be_an_instance_of(DownloadsController) 
end 

Czy ktoś może pomóc?

+0

Czy masz ślad stosu, który możesz publikować? –

+0

Niestety, nie mogę uzyskać żadnego śladu poza tym, co powyżej ... Nawet z --trace – xto

Odpowiedz

0

otwarcie Spróbuj /usr/local/lib/ruby19/1.9.1/timeout.rb i zastąpić linię 44 z:

begin 
    return yield(sec) if sec == nil or sec.zero? 
rescue => e 
    puts e.backtrace.join("\n") 
    raise e 
end 

Choć wydaje się to dziwne, w niektórych przypadkach, odkryłem, że to daje mi więcej szczegółowych informacji na temat rzeczywistego źródła problemu. Jeśli nadal nie wiesz, jak rozwiązać problem, wklej tutaj swoje wyniki i być może pomoże nam to namierzyć problem.

6

Czy używasz, nie próbujesz odgryźć czegoś, co jest zerowe.

W 1,8 zero nie zamarzło. Jest on jednak zamrożony w rubinach 1.9.

+0

Thhanks dla danych wejściowych. Spróbuję to może w ten weekend. Zostałem wysłany na kontrakt i zdjęty z mojego projektu Rails. – xto

+0

to powinna być zaakceptowana odpowiedź. – professormeowingtons

Powiązane problemy