logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Test::Reporter::Transport - base class for Test::Reporter transports

Authors

       •   Adam J. Foxson <afoxson@pobox.com>

       •   David Golden <dagolden@cpan.org>

       •   Kirrily "Skud" Robert <skud@cpan.org>

       •   Ricardo Signes <rjbs@cpan.org>

       •   Richard Soderberg <rsod@cpan.org>

       •   Kurt Starsinic <Kurt.Starsinic@isinet.com>

Description

       Transport subclasses provide the means by which CPAN Testers reports are transmitted to the CPAN Testers
       mailing list.

       This module is an abstract base class that define an API for Test::Reporter::Transport subclasses.
       Individual subclasses MUST implement the methods described below.

Methods

       The terms 'may', 'must', 'should', etc. used below have their usual RFC meanings.

   new
           my $sender = $subclass->new( @args );

       The "new" method is the object constructor.  It MAY take a list of any necessary configuration options.
       It MUST return a transport object if one is successfully created or undef if the object can not be
       created.

   send
           $sender->send( $report );

       The "send" method MUST take a Test::Reporter object as its only argument.  It MUST return true if the
       report is successfully sent.  It SHOULD die with a message describing the failure if a report cannot be
       sent.  It MUST NOT return a true value if the report cannot be sent.

Name

       Test::Reporter::Transport - base class for Test::Reporter transports

Synopsis

           # Defines API that must be implemented by subclasses

           my $sender = Test::Reporter::Transport::Subclass->new( @args );

           $sender->send( $report )

Usage

       A transport method is specified to Test::Reporter using the "transport" option.  The "transport" option
       expects just the module "suffix" that follows "Test::Reporter::Transport".  For example:

           # use Test::Reporter::Transport::Null for transport
           my $report = Test::Reporter->new(
               transport => 'Null'
           );

       Configuration of the transport is specified with the "transport_args" option:

           my $report = Test::Reporter->new(
               transport => 'File',
               transport_args => [ dir => '/tmp' ],
           );

       These may also be specified with the "transport" or "transport_args" methods:

           $report->transport_args( dir => '/tmp' );

       These may also be combined in the "transport" method itself:

           $report->transport( 'File', dir => '/tmp' );

Version

       version 1.62

See Also