Seattle.rb: December 2006 Archives

Three releases today:

sudo gem install -y heckle

Also coming soon: a post on how heckle beats the crap out misleading metrics like coverage.

ParseTree version 1.6.3

ParseTree is a C extension (using RubyInline) that extracts the parse tree for an entire class or a specific method and returns it as a s-expression (aka sexp) using ruby's arrays, strings, symbols, and integers.

Changes:

  • 1 bug fix:
    • ParseTree::translate was trying to translate inherited class methods.

ruby2ruby version 1.1.3

ruby2ruby provides a means of generating pure ruby code easily from ParseTree's Sexps. This makes making dynamic language processors much easier in ruby than ever before.

Changes:

  • 1 minor enhancement
    • Unit tests do self-translation and retesting for 3 generations! Solid. BAM!
  • 1 bug fixes
    • iasgn inside masgn was totally borked in ruby2ruby.

heckle version 1.1.1

Heckle is a mutation tester. It modifies your code and runs your tests to make sure they fail. The idea is that if code can be changed and your tests don't notice, either that code isn't being covered or it doesn't do anything.

Changes:

  • 3 bug fixes:
    • Load tests properly when supplying method name.
    • Make sure random symbols have at least one character.
    • Removed all extra warnings from the unit tests. Consolidated and cleaned.

Heckle version 1.1.0 has been released!

http://www.rubyforge.org/projects/seattlerb by Ryan Davis and Kevin Clark

From http://glu.ttono.us/articles/2006/12/19/tormenting-your-tests-with-heckle :

Heckle is a mutation tester. It modifies your code and runs your tests to make sure they fail. The idea is that if code can be changed and your tests don’t notice, either that code isn’t being covered or it doesn’t do anything.

It’s a little weird, I know, but I like to think about it as pen-testing. It’s like hiring a white-hat hacker to try to break into your server and making sure you detect it. You learn the most by trying to break things and watching the outcome.

Anyway, Heckle was inspired by Jester, and Ryan Davis wrote a proof of concept at RubyConf. As he notes, I went a little nuts and much of the current implementation I rewrote that night or on the plane home.

Changes:

1.1.0 / 2006-12-19

  • 12 major enhancements:
    • Able to roll back original method after processing.
    • Can mutate numeric literals.
    • Can mutate strings.
    • Can mutate a node at a time.
    • Can mutate if/unless
    • Decoupled from Test::Unit
    • Cleaner output
    • Can mutate true and false.
    • Can mutate while and until.
    • Can mutate regexes, ranges, symbols
    • Can run against entire classes
    • Command line options!

http://www.rubyforge.org/projects/seattlerb by Ryan Davis and Kevin Clark

ruby2ruby 1.1.2 Released

| | Comments (0)

ruby2ruby version 1.1.2 has been released!

sudo gem install ruby2ruby

ruby2ruby provides a means of generating pure ruby code easily from ParseTree's Sexps. This makes making dynamic language processors much easier in ruby than ever before.

Changes:

1.1.2 / 2006-12-19

  • 2 minor enhancements
    • Improved []= and [] to be more idiomatic.
    • Support for nested whens (from when case has no expression).
  • 3 bug fixes
    • Fixed case output when there is no case expression.
    • NEARLY have RubyToRuby self-cloning and passing tests again.
    • Minor cleanup

image_science version 1.0.0 has been released!

http://rubyforge.org/projects/seattlerb

ImageScience is a clean and happy Ruby library that generates thumbnails -- and kicks the living crap out of RMagick. Oh, and it doesn't leak memory like a sieve. :)

For more information including build steps, see our project page.

Changes:

1.0.0 / 2006-12-01

  • 1 major enhancement
    • Birthday!

About this Archive

This page is a archive of entries in the Seattle.rb category from December 2006.

Seattle.rb: November 2006 is the previous archive.

Seattle.rb: January 2007 is the next archive.

Find recent content on the main index or look in the archives to find all content.

Pages

Powered by Movable Type 4.1