Path: csiph.com!x330-a1.tempe.blueboxinc.net!usenet.pasdenom.info!aioe.org!feeder.news-service.com!news2.euro.net!novso.com!news.skynet.be!talisker.lacave.net!lacave.net!not-for-mail From: Suraj Kurapati Newsgroups: comp.lang.ruby Subject: [ANN] test-loop 12.0.0 Date: Wed, 20 Apr 2011 01:28:54 -0500 Organization: Service de news de lacave.net Lines: 73 Message-ID: <4eee0092bc2f2a80320bb943297f8fc3@ruby-forum.com> NNTP-Posting-Host: bristol.highgroove.com Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: talisker.lacave.net 1303280961 43161 65.111.164.187 (20 Apr 2011 06:29:21 GMT) X-Complaints-To: abuse@lacave.net NNTP-Posting-Date: Wed, 20 Apr 2011 06:29:21 +0000 (UTC) X-Received-From: This message has been automatically forwarded from the ruby-talk mailing list by a gateway at comp.lang.ruby. If it is SPAM, it did not originate at comp.lang.ruby. Please report the original sender, and not us. Thanks! For more details about this gateway, please visit: http://blog.grayproductions.net/categories/the_gateway X-Mail-Count: 381892 X-Ml-Name: ruby-talk X-Rubymirror: Yes X-Ruby-Talk: <4eee0092bc2f2a80320bb943297f8fc3@ruby-forum.com> Xref: x330-a1.tempe.blueboxinc.net comp.lang.ruby:3211 test-loop - Continuous testing for Ruby with fork/eval https://github.com/sunaku/test-loop#readme What is it? ----------- test-loop is a fast continuous testing tool for Ruby that automatically detects and tests changes in your application in an efficient manner: 1. Absorbs the test execution overhead into the main Ruby process. 2. Forks to run your test files without overhead and in parallel. 3. Avoids running unchanged test blocks inside changed test files. What is new? ------------ Incompatible changes: * You must now explicitly `require 'test/loop/rails'` for Rails support because we can only *automatically* apply our Railtie (to disable class caching) after the overhead has been loaded, and by then it's too late: your models are already loaded & cached by the Rails environment. * Your tests can no longer read from the user's terminal (master's STDIN); instead they will read from an empty stream (the reading end of IO.popen). Bug fixes: * Replace threads with SIGCHLD for reporting test results. This fixes deadlock errors that sometimes occurred when the user's chosen test library tried to print something to STDOUT/STDERR (even though those streams were redirected to a log file in the worker process). Thanks to Brian D. Burns for suggesting and verifying that the use of threads to monitor workers was the culprit behind the deadlocks errors. * Ctrl-C did not raise Interrupt in my Rails 3 test suite. Housekeeping: * Ensure a clean ENV when reabsorbing overhead. Environment variables set by your test execution overhead are not propagated to subsequent reabsorptions. (Brian D. Burns) * Call `setsid()` to detach worker from master's terminal. * Mutex is not needed since we only use GIL'ed array methods. * Remove redundant STDOUT coercion after loading user's testing library. * Further simplify `Test::Loop.run()` by higher-order programming. Documentation: * Add prerequisites section about POSIX environment. * Add tip about annihilating test-loop processes. * Fix markdown formatting. -- Posted via http://www.ruby-forum.com/.