Want to stay on top? Ruby Weekly is a once-weekly e-mail newsletter covering the latest Ruby and Rails news.
     Feed Icon

Infinity Test: Flexible Continuous Testing with Multiple Ruby Implementations

By Peter Cooper / September 29, 2010

Infinity Test is a new library by Tomas D'Stefano that pitches itself as a "flexible alternative to Autotest." If you want your project's tests (both RSpec or Test::Unit are supported) to be automatically run when changes are made, this is a great place to start.

The big benefit of Infinity Test is the support for testing across multiple Ruby implementations, powered by RVM (a candidate for Ruby project of the year, if ever there were one). For example, if you have some Test::Unit tests that you want to be run on Ruby 1.8.7, JRuby, Ruby Enterprise Edition, and Ruby 1.9.2, you could run:

infinity_test --test-unit --rubies=1.8.7,jruby,ree,1.9.2

There's also a configuration file system with its own DSL to build more complex automated testing systems with customized notification systems and callbacks.

[ad] Ruby Inside's newest sponsor is Recurly, a recurring billing service. They promise "subscription billing in 3 easy steps" and you can start a free trial right now. Their API is Ruby friendly and on GitHub!

Comments

  1. Andrew Grimm says:

    Interesting project.

    About the image: does the facial expression in the "Bush infinity" photoshop look like the same one as in the Bush Special Olympics photoshop?

  2. Mike Bethany says:

    It's a shame it uses RVM. Apparently many people have had nothing but success with RVM but I can only speak to my own experience with RVM; for me it has been an unequivocally failure. I've only tried it in OS X though, possibly it's much better in a more straight Unix distro like Ubuntu. When I use Linux I use virtual machines trimmed down to only the software needed for the server so I don't need 4 versions of Ruby.

    I love the concept it's just the execution that is lacking, it needs a lot more work before it's actually usable. I've had it delete gem libraries, corrupt Ruby installs, and other odd little issues that make using it, for me, a lot like playing hot potato with a hand grenade.

    I truly hate to be so negative, I desperately hope it becomes usable soon. Even with all the problems I still always suggest it when someone asks, "How can I test multiple versions of Ruby on one machine?" but I also add, "Back up your system first and be prepared for it to hose your Ruby install's at least once or twice."

    Two of the major problems are a lack of up-to-date and a usable forum for discussion. The "we want features" forum is not a good place for discussing fixes and work arounds. You have to Google any bugs you come up with and hope the fixes are still relevant.

    It's a shame because the one of the major features of Infinity Test, auto-testing multiple Ruby versions, sounds fantastically useful.

  3. Peter Cooper says:

    Posting this on Wayne's behalf:

    Mike,

    Forums and blog posts are not the place to discuss features and bugs, but rather by joining #rvm in irc.freenode.net during the daytime EDT and work it out with me in *real time*.

    Yes this is in opposition to some time lagged forum / email thread that will be outdated and mislead users in the future who think it is the most recent on the topic (There IS a community google group for the community by the community for RVM, however IRC is the proper means of communication for RVM).

    If it is something that should be noted for future use then it should go in the documentation on the website (for which anyone can clone and contribute on github).

    For everyone reading this, be sure to read the RVM installer output for information on getting started with IRC and ask questions in #rvm on irc.freenode.net before googling for outdated and potentially misleading and/or simply incorrect information (be sure to stick around on IRC, I WILL respond, or at least check back later as I do leave messages for people as well).

    ~Wayne

Other Posts to Enjoy

Twitter Mentions