NAME

Test::BrewBuild::Dispatch - Dispatch Test::BrewBuild test runs to remote test servers.

SYNOPSIS

    use Test::BrewBuild::Dispatch;

    my $d = Test::BrewBuild::Dispatch->new;

    my $return = $d->dispatch(
        cmd => 'brewbuild -r -R',
        testers => [qw(127.0.0.1 10.1.1.1:9999)],
        repo => 'https://github.com/user/repo',
    );

    print $return;

DESCRIPTION

This is the remote dispatching system of Test::BrewBuild.

It dispatches out test runs to Test::BrewBuild::Tester remote test servers to perform, then processes the results returned from those testers.

By default, we try to look up the repository information from your current working directory. If it can't be found, you must supply it on the command line or within the configuration file.

METHODS

new

Returns a new Test::BrewBuild::Dispatch object.

dispatch(cmd => '', repo => '', testers => ['', ''], debug => 0-7)

cmd is the brewbuild command string that will be executed.

repo is the name of the repo to test against, and is optional. If not supplied, we'll attempt to get a repo name from the local working directory you're working in.

testers is manadory unless you've set up a config file, and contains an array reference of IP/Port pairs for remote testers to dispatch to and follow. eg: [qw(10.1.1.5 172.16.5.5:9999)]. If the port portion of the tester is omitted, we'll default to 7800.

By default, the testers run on all IPs and port TCP/7800.

debug optional, set to a level between 0 and 7.

See Test::BrewBuild::Tester for more details on the testers that the dispatcher dispatches to.

AUTHOR

Steve Bertrand, <steveb at cpan.org>

CONTRIBUTING

Any and all feedback and help is appreciated. A Pull Request is the preferred method of receiving changes (https://github.com/stevieb9/p5-test-brewbuild), but regular patches through the bug tracker, or even just email discussions are welcomed.

BUGS

https://github.com/stevieb9/p5-test-brewbuild/issues

LICENSE AND COPYRIGHT

Copyright 2016 Steve Bertrand.

This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.

See http://dev.perl.org/licenses/ for more information.