|
|
A helper class for test programs.
This class is used to parse the command line arguments and return the exit status from the test functions/methods. An example of how to use this class can be found in test_test_main.cc.
TestMain (int argc, char * const argv[])
| TestMain |
Start the parsing of command line arguments.
string
get_optional_args (const string &short_form, const string &long_form,
const string &description)
| get_optional_args |
Get an optional argument from the command line.
Parameters:
short_form | The short form of the argument e.g. "-t". |
long_form | The long form of the argument e.g. "--testing". |
description | The description of this argument that will be used in the usage message. |
Returns: the argument or "" if not found or an error occured in previous parsing of the arguments.
bool
get_optional_flag (const string &short_form, const string &long_form,
const string &description)
| get_optional_flag |
Get an optional flag from the command line.
Parameters:
short_form | The short form of the argument e.g. "-t". |
long_form | The long form of the argument e.g. "--testing". |
description | The description of this argument that will be used in the usage message. |
Returns: true if the flag is present or false found or an error occured in previous parsing of the arguments.
void
complete_args_parsing ()
| complete_args_parsing |
Complete parsing the arguments.
Process generic arguments and verify that there are no arguments left unprocessed.
bool get_verbose ()
| get_verbose |
[const]
Get the state of the verbose flag. Used by test programs that don't use the run method to run tests.
int get_verbose_level ()
| get_verbose_level |
[const]
Get the the verbose level, should only be used if get_verbose() is true. Used by test programs that don't use the run method to run the tests.
void
run (string test_name, XorpCallback1<bool, TestInfo&>::RefPtr cb)
| run |
Run a test function/method. The test function/method is passed a TestInfo. The test function/method should return true for success and "false for failure.
To run a function call "test": run("test", callback(test));
Parameters:
test_name | The name of the test. |
cb | Callback object. |
const string
usage ()
| usage |
Returns: The usage string.
void
failed (string error)
| failed |
Mark the tests as having failed. Used for setting an error condition from outside a test.
Parameters:
error | Error string. |
int
exit ()
| exit |
Must be called at the end of the tests.
Returns: The status of the tests. Should be passed to exit().