Turn 0.9.3 causes all tests in suite to be run rather than only changed files #72

Open
mikehoward opened this Issue Feb 8, 2012 · 5 comments

Projects

None yet

3 participants

@mikehoward

Rails 3.2.1, turn 0.9.3 (from repo), rails-autotest 4.1.0 and 4.1.1, minitest 2.6.2, autotest-fsevent 0.2.7

(color and formatting are back and working)

in test_helper.rb - do NOT have 'require turn/autorun' - but have tried it both ways. Did have Turn.config.ansi = true

Any time any file is changed, entire suite of tests run.

Also, errors dump the entire stack trace - which again defeats pretty printing.

Have reverted to turn 0.8.3.

BTW - I like the PASS/FAIL/SKIP on the left rather than the right because I use really long test names, which makes a
very ragged right edge. If that is configurable, please add a couple of notes to the README

Thanks,
Mike

@trans
Contributor
trans commented Feb 8, 2012

So it happens for 0.9.3 but not 0.8.3?

I don't see how turn has anything to do with deciding what autotest runs. What is the command line autotest is invoking?

@mikehoward

I fire it up via 'bundle exec autotest'. The test case I sent you should exhibit the same behavior if you add a couple of more tests. I'll leave that repo thru the rest of the week.

@trans
Contributor
trans commented Feb 17, 2012

I looked at this some more, and really have no idea why it's including all files in the same directory and not just the changed file. As previously mentioned, I don't know how Turn can even effect this. So I need something more to go on.

As for full stack trace. I am not seeing that. If $DEBUG is set to true it will dump a full trace instead of a filtered trace though.

I am going to go ahead and release 0.9.3 and then we can go from there and see if we can track these issue down further.

@tdak
tdak commented Mar 23, 2012

Same issue here

@tdak
tdak commented Mar 23, 2012

Did some digging around, for me all 0.9.x version run all tests all the time. I ran the autotest in verbose mode and it clearly sees that only one files is changed, but for whatever reason it proceeds to run the whole suite.

This is the command that autotest is invoking

/Users/tdanylak/.rvm/rubies/ruby-1.9.3-p0/bin/ruby -I.:lib:test -rubygems -e "%w[test/unit test/unit/cache_test.rb test/functional/services_controller_test.rb test/unit/service_test.rb test/unit/wordpress_tags_test.rb test/unit/tagged_url_test.rb test/unit/lib_guides_test.rb test/functional/tagged_urls_controller_test.rb].each { |f| require f }"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment