Friday, May 22, 2009

Bleeding edge smoke testing of perl software

We use CHIMPS for smoking in Best Practical. It's modular client server testing toolkit. One of its parts is smoking client that works with SVN repositories.

It's really simple things, at least it was, you describe projects in repositories, dependencies between them, start smoker and commit to the repos without being affraid you break backwards compatibility.

There are multiple case when it's useful. Sure you just smoke test your projects, but also you can smoke your project against repository of a module you don't control, but depend on heavily.

For example, you use Moose a lot with fancy things, its bleeding edge features and some workarounds. Chimps may be the only way to help you prevent disaster before new broken version of Moose is on the CPAN. To do this you setup smoking your project and describe Moose repository as well, so smoking goes against Moose's HEAD.

You also can test your project with Moose that is installed on the system, with Moose's tag 0.01 and Moose's HEAD. All this in one smoker.


Several days ago I started implementing a new tiny thing in the smoker. This change end up in total refactoring of the module and now we can smoke from git too. Adding additional back end now is easy. You have to implement four methods in a class.

Sadly there were no releases since 2006, so you have to check it out from github. I'm planning on releasing a dev version on the CPAN.

No comments:

Post a Comment