Michael G Schwern > Devel-Tinderbox-Reporter-0.10 > Devel::Tinderbox::Reporter

Download:
Devel-Tinderbox-Reporter-0.10.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.10   Source  

NAME ^

Devel::Tinderbox::Reporter - Client to send reports to Tinderbox

SYNOPSIS ^

    use Devel::Tinderbox::Reporter;

    my $report = Devel::Tinderbox::Reporter->new;

    $report->from('your@mail.address.com');
    $report->to('tinderbox@their.address.com');
    $report->project('the_project');
    $report->boxname('your.machine.name');
    $report->style('unix');
    $report->start;

    ...go and test your project...

    $report->log($build_log);
    $report->end($status);

DESCRIPTION ^

Tinderbox collects and summaries build and test reports from many developers on many machines. This is a simple client for testers to make reports to Tinderbox servers.

Starting off

First thing, you need a Devel::Tinderbox::Reporter object.

new
  my $report = Devel::Tinderbox::Reporter->new;

Creates a new reporter representing this testing session.

Tell us a little about yourself

You then have to tell it about yourself and what you're testing. Fill in each of these blanks. You can either call these methods individually or pass each to new().

from
  $report->from($my_email);

Email address you wish to report as.

to
  $report->to($their_email);

Email address you're sending reports to.

project
  $report->project($project_name);

Name of the Tinderbox project you're reporting about.

boxname
  $report->boxname($box_name);

Name of the machine this is being built on. This is a unique id for your build. Maybe something like your machine's name, your name and OS. "Schwern blackrider Debian-Linux/PowerPC-testing"

style
  $report->style($build_style);

This corresponds to the style of building you're doing, cluing Tinderbox how to parse your build and test output. For example, "unix" might indicate normal make and cc output. "mac" might indicate that Macintosh build tools were used.

Let Tinderbox know you're starting a build.

start
  $report->start;

Sends off an email to the Tinderbox server (ie. to()) letting them know you've started a build and test cycle.

Report on the build.

Run your build and tests and such. Capture the output, then tell Tinderbox about it with these methods.

end
  $report->end($status, $log);

Sends off an email to the Tinderbox server. Did it work? $status can be one of:

    success         built and tested 100% succesfully
    testfailed      built ok, but testing failed.
    busted          failed during build

The $log is the complete output of your build and test run.

EXAMPLE ^

  use Devel::Tinderbox::Reporter;

  my $report = Devel::Tinderbox::Reporter->new({
                          from => 'schwern@pobox.com',
                          to   => 'tinderbox@onion.perl.org',
                          project => 'perl6',
                          boxname => 'Schwern blackrider Debian/PowerPC',
                          style   => 'unix/perl'
                         });

  $report->start;

  my($build_exit, $make_out) = run_make;
  my($test_exit,  $test_out) = run_tests if $build_exit == 0;

  my $status = $build_exit != 0 ? 'busted'     :
               $test_exit  != 0 ? 'testfailed' :
                                  'success';
  $report->end($status, "$make_out\n$test_out");

AUTHOR ^

Original concept by Zach Lipton, code by Michael G Schwern.

SEE ALSO ^

http://tinderbox.mozilla.org/

syntax highlighting: