Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

autotest wont stop after a test fails?

Here is my gemfile

source 'http://rubygems.org'

gem 'rails', '3.0.9'
gem 'mysql2', '~> 0.2.6'

group :development do
  gem 'rspec-rails'
end

group :test do
  gem 'rspec'
end

Fairly straightforward and nothing unusual. On a passing test the autotest works great and stops like it should

Finished in 0.1158 seconds
4 examples, 0 failures
/Users/alex/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -rrubygems -S /Users/alex/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rspec-core-2.6.4/bin/rspec --tty '/Users/alex/Sites/slacklog/spec/controllers/pages_controller_spec.rb'

but when a test fails its an endless loop that keeps failing

Failures:

  1) PagesController GET 'contact' Should have the proper title for the contact page
     Failure/Error: response.should have_selector( "contact",
       expected following output to contain a <contact>Contact us</contact> tag:
       <!DOCTYPE html>
       <html>
       <head>
       <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
       <title>Slacklog</title>
       <script src="/javascripts/jquery.js" type="text/javascript"></script><script src="/javascripts/jquery_ujs.js" type="text/javascript"></script><script src="/javascripts/application.js?1309037322" type="text/javascript"></script>
       </head>
       <body>

       <h1>Pages#contact</h1>
       <p>Find me in app/views/pages/contact.html.erb</p>


       </body>
       </html>
     # ./spec/controllers/pages_controller_spec.rb:32:in `block (3 levels) in <top (required)>'

Finished in 0.16647 seconds
5 examples, 1 failure

Failed examples:

rspec ./spec/controllers/pages_controller_spec.rb:30 # PagesController GET 'contact' Should have the proper title for the contact page
/Users/alex/.rvm/rubies/ruby-1.9.2-p180/bin/ruby -rrubygems -S /Users/alex/.rvm/gems/ruby-1.9.2-p180@rails3/gems/rspec-core-2.6.4/bin/rspec --tty '/Users/alex/Sites/slacklog/spec/controllers/pages_controller_spec.rb'
...F.

Failures:

It keeps repeating

how do i stop this behavior

like image 846
Matt Elhotiby Avatar asked Jun 26 '11 20:06

Matt Elhotiby


2 Answers

There is a duplicate question that has the proper fix: Autotest inifinitely looping

The answer didn't fix it for me either, but it was because I was using webrat and webrat.log was being created, causing the tests to restart. So I modified their answer to include webrat.log

Here is the modified solution:

I found the solution. Probably has to do with OSX (running this on Leopard) changing the .DS_Store file in the folder or another temp file. Adding the following to my .autotest did the trick (this also prevents autotest looking at the index folder generated by Ferret).

Autotest.add_hook :initialize do |at|
  %w{.git webrat.log vendor index .DS_Store ._}.each {|exception| at.add_exception(exception)}
end
like image 195
staackuser2 Avatar answered Sep 22 '22 21:09

staackuser2


I had the same problem. Try to uninstall your ZenTest gem and reinstall it via dependencies as:

sudo gem install autotest-rails
sudo gem install rspec-rails
like image 20
Sergey Avatar answered Sep 25 '22 21:09

Sergey