# qbt

`qbt` is a command to execute test-patch without a patch. It uses the same plug-ins and the same options as test-patch. The only difference is that no patch file, location, etc should be supplied. It is meant to be a way to easily get test-patch’s output on your current source tree. It is suitable to be run as a regularly scheduled build as part of your overall development strategy.

# Reporting

When using an automation tool, it may be useful to use the `--console-report-file` option to send the summary email to a file. This can then be used with systems like Jenkin’s email-ext plug-in to send the output as an emailed report:

    ${FILE,path="<report-file-path>"}

For something a bit more structured, there is also the `--html-report-file` option. Using this output, again with Jenkins’ email-ext plug-in, it is possible to build some very nice looking output that is easily customized:

    <html>
    <head>
    <style>
    table {
        border-collapse: collapse;
    }
    table, th, td {
       border: 1px solid black;
    }
    tr:nth-child(even){background-color: #f2f2f2}
    </style>
    </head>
    <body>
    <p>See the <a href="${BUILD_URL}">Jenkins Build</a> for more information.</p>
    <p>${CHANGES, format="<div>[%d] (%a) %m</div>"}</p>
    <p></p>
    ${FILE,path="<report-file-path>"}
    </body></html>

If your mailing lists do not allow HTML-formatted email, then the `--brief-report-file` provides a solution. This option creates a very plain, reduced content text file suitable for email. It contains just the barebones information needed to get information on failures: what voted -1, what tests failed, what subsystems are long running (configurable with the `--brief-report-long` opton), and a list of any attached log files.

NOTE: Be aware that ASF mailing lists do not allow HTML formatted email.

# Archiving

It may be useful to save off certain files while qbt is running for more post-processing by another utility. If the `rsync` command is available, then the archiving functionality may be used.

The `--archive-list` option takes a comma separated list of `find -name` patterns and copies them to the patch directory’s archiver subdirectory. It will preserve the directory structure of the source tree so that multiple matching file names will be preserved.