public function __construct()
{
// define our name, and our description
$this->setName('json');
$this->setShortDescription('output a test report in JSON format');
$this->setLongDesc("Use this switch to generate a test report file in JSON format." . PHP_EOL . PHP_EOL . "JSON - the JavaScript Object Notation - is a very well-supported format" . " for exchanging data between computer programs and services. We've added" . " JSON as a reporting option in case you want to write your own software" . " to parse the results and act on them." . PHP_EOL . PHP_EOL . "We're not aware of any spec for JSON-format test reports, so we've implemented" . " the same format that PHPUnit generates. See http://phpunit.de/manual/current/en/logging.html#logging.json.");
// what are the long switches?
$this->addLongSwitch('log-json');
// what is our parameter?
$this->setRequiredArg('<file>', "the file to write the report to");
$this->setArgValidator(new File_MustBeFileOrHaveValidParent());
// all done
}