The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.


Test::Chimps - Collaborative Heterogeneous Infinite Monkey Perfectionification Service


Version 0.07


Why run tests yourself? Let an infinite number of monkeys do it for you! Take the monkey work out of testing! Remove the monkey wrench from your development process! Alright, I'm done. Sorry about that. I got a little carried away...

The Collaborative Heterogeneous Infinite Monkey Perfectionification Service (CHIMPS) is a generalized testing framework designed to make integration testing easy. You use Test::Chimps::Server to create your CGI script for viewing and submitting reports, and you use Test::Chimps::Client for submitting reports. You will find some scripts in the examples directory which should get you started.


Tests are good. Testing is easy thanks to modules like Test::Simple and Test::More. However, it's easy to forget to run make test every time you commit. Worse, you might have forgotten to add a file that will cause tests to fail on a freshly checked out copy. Additionally, your tests might only pass on your version of perl or with specific module versions.

Chimps aims to solve these problems. However, it tries to make as few assumptions about how your integration testing architecture should work as possible. Want to allow anyone to submit smoke reports? Just write a wrapper around Test::Chimps::Client. Want to have dedicated build hosts that continuously check out and test projects? Just use Test::Chimps::Client::Poller. Whatever your integration testing architecture, you can probably use Chimps to simplify the process.


Chimps does not make any assumptions about what kind of data is carried in your smoke reports. These data are called report variables. When creating a server with Test::Chimps::Server, you can specify which variables must be submitted with each report. Unfortunately, if we never made any assumptions, it would be hard to write any utility code. Therefore, several Chimps modules have documentation sections describing variables that it assumes are passed to the server. These are probably pretty reasonable assumptions for most set ups. However, if they do not meet your needs, it should be fairly easy to subclass the appropriate classes and add the functionality and variables you require.


Zev Benjamin, <zev at>


Please report any bugs or feature requests to bug-test-chimps at, or through the web interface at I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.


You can find documentation for this module with the perldoc command.

    perldoc Test::Chimps

You can also look for information at:


Copyright 2006 Best Practical Solutions.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.