mirror of
https://github.com/XRPLF/rippled.git
synced 2025-11-20 19:15:54 +00:00
Run a named unit test
This commit is contained in:
@@ -105,6 +105,33 @@ void UnitTests::resultsUpdated()
|
||||
{
|
||||
}
|
||||
|
||||
void UnitTests::runTest (String const& name)
|
||||
{
|
||||
results.clear();
|
||||
resultsUpdated();
|
||||
|
||||
Array<UnitTest*>& tests = UnitTest::getAllTests ();
|
||||
|
||||
for (int i = 0; i < tests.size(); ++i)
|
||||
{
|
||||
UnitTest& test = *tests [i];
|
||||
|
||||
if (test.getName () == name)
|
||||
{
|
||||
try
|
||||
{
|
||||
test.performTest (this);
|
||||
}
|
||||
catch (...)
|
||||
{
|
||||
addFail ("An unhandled exception was thrown!");
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void UnitTests::runTests (const Array<UnitTest*>& tests)
|
||||
{
|
||||
results.clear();
|
||||
|
||||
@@ -56,9 +56,10 @@ class UnitTests;
|
||||
}
|
||||
};
|
||||
|
||||
// Explicit template instantiation is required to make the unit
|
||||
// test get automatically added to the set of unit tests.
|
||||
template class UnitTestType <MyTest>;
|
||||
// This makes the unit test available in the global list
|
||||
// It doesn't have to be static.
|
||||
//
|
||||
static MyTest myTest;
|
||||
|
||||
@endcode
|
||||
|
||||
@@ -187,6 +188,10 @@ public:
|
||||
/** Destructor. */
|
||||
virtual ~UnitTests();
|
||||
|
||||
/** Run a particular test.
|
||||
*/
|
||||
void runTest (String const& name);
|
||||
|
||||
/** Runs a set of tests.
|
||||
|
||||
The tests are performed in order, and the results are logged. To run all the
|
||||
|
||||
Reference in New Issue
Block a user