bbtester - Remote Windows/Unix testing platform server daemon for Test::BrewBuild


Start the listener in the background, listening on the default IP and port 7800 (TCP)

    bbtester start

Listen using a different IP/Port pair

    bbtester start -i -p 7789

Stop the service from running

    bbtester stop

Display whether the tester is currently running or not:

    bbtester status

Run the tester in the foreground for testing/debugging/troubleshooting purposes.

    bbtester --fg

Enable debug logging. By default, log entries get returned with the results.

    bbtester [...] -d 0-7

Send the logs to STDOUT directly. Only useful in foreground mode.

    bbtester --fg [...] -d 0-7 --stdout

Send the logs to a log file (~/brewbuild/bbtester_*.log by default).

    bbtester start [...] -d 7 --logfile
    bbtester --fg -d 7 -l

Run in "auto" mode. This feature is only available when running a dispatcher in the same mode.

    bbtester start -a


This script is the listener end of the distributed Test::BrewBuild testing environment.

bbtester daemonizes a Test::BrewBuild::Tester object, and listens for incoming build requests from a test dispatcher.

We then run the appropriate commands, and return the results to the dispatcher for processing.

The default working directory for a Tester is ~/brewbuild on all platforms.



Starts the tester and puts it into the background. Conflicts with --fg.


Stops the tester.

-i, --ip

Set the IP address to listen on. If not set, will check for one in the config file, and if still not found, will default to, ie. all IPs bound on the system.

-p, --port

Same as IP, if not sent in, we'll check the config file, and then default to 7800.

-f, --fg

Instead of using start which puts the service into the background, this option will run the tester in the foreground.

-a, --auto

This mode does some extra work when running the dispatcher in continuous mode. It will skip doing a test run if the local repository's commit checksum matches that of the remote.

-c, --csum

When in auto mode, by default, we only start the unit test run if the local repository commit checksum differs from that at the remote. Set this flag if you want to run tests even if the checksums are the same.

-d, --debug

Pass this option an integer from 0-7, and we'll enable that level of debugging.

If the tester is put into the background with start, or the --stdout option isn't used with the --fg option, we'll return the debug results with the test results.

-s, --stdout

When using --fg to run the tester in the foreground, use this flag to display debug information live time on STDOUT, as opposed to having it collected and returned.

-l, --logfile

Set this argument and we'll write all tester output to a log file. The parent tester server will create a $workdir/bbtester_parent.log file (where $workdir is ~/brewbuild by default), and the children tester runners will all log to $workdir/bbtester_child.log.


Steve Bertrand, <steveb at>


    perldoc brewbuild
    perldoc Test::BrewBuild

    perldoc bbdispatch
    perldoc Test::BrewBuild::Dispatch

    perldoc Test::BrewBuild::brewbuild.conf


Copyright 2017 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 for more information.