Run an individual unit test

This commit is contained in:
Vinnie Falco
2013-07-17 10:28:28 -07:00
parent 159aabd8d9
commit a4c63f4c5d
17 changed files with 24 additions and 38 deletions

View File

@@ -120,6 +120,4 @@
//#define BEAST_BIND_USES_TR1 1
//#define BEAST_BIND_USES_BOOST 1
//#define BEAST_UNIT_TESTS 1
#endif

View File

@@ -120,6 +120,4 @@
//#define BEAST_BIND_USES_TR1 1
//#define BEAST_BIND_USES_BOOST 1
#define BEAST_UNIT_TESTS 1
#endif

View File

@@ -224,6 +224,4 @@ public:
}
};
#if BEAST_UNIT_TESTS
static AbstractFifoTests abstractFifoTests;
#endif

View File

@@ -182,9 +182,9 @@ void UnitTests::beginNewTest (UnitTest* const test, const String& subCategory)
r->passes = 0;
r->failures = 0;
logMessage ("Test: " + r->unitTestName + "/" + subCategory + "...");
logMessage ("Test '" + r->unitTestName + "': " + subCategory);
resultsUpdated();
resultsUpdated ();
}
void UnitTests::endTest()
@@ -241,8 +241,8 @@ void UnitTests::addFail (const String& failureMessage)
r->failures++;
String message ("!!! Test ");
message << (r->failures + r->passes) << " failed";
String message ("Failure, #");
message << (r->failures + r->passes);
if (failureMessage.isNotEmpty())
message << ": " << failureMessage;

View File

@@ -1106,7 +1106,5 @@ public:
}
};
#if BEAST_UNIT_TESTS
static FileTests fileTests;
#endif

View File

@@ -199,16 +199,18 @@ public:
HeapBlock <char> data;
};
void runTest ()
{
RandomAccessFile file;
beginTest ("open");
Result result = file.open (File::createTempFile ("tests"), RandomAccessFile::readWrite);
expect (result.wasOk (), "Should be ok");
}
private:
RandomAccessFile file;
};
static RandomAccessFileTests randomAccessFileTests;

View File

@@ -639,6 +639,4 @@ public:
}
};
#if BEAST_UNIT_TESTS
static JSONTests jsonTests;
#endif

View File

@@ -165,6 +165,4 @@ public:
}
};
#if BEAST_UNIT_TESTS
static RandomTests randomTests;
#endif

View File

@@ -148,6 +148,4 @@ public:
}
};
#if BEAST_UNIT_TESTS
static MemoryStreamTests memoryStreamTests;
#endif

View File

@@ -2402,6 +2402,4 @@ public:
}
};
#if BEAST_UNIT_TESTS
static StringTests stringTests;
#endif

View File

@@ -229,6 +229,4 @@ public:
}
};
#if BEAST_UNIT_TESTS
static DiffTests diffTests;
#endif

View File

@@ -82,6 +82,4 @@ public:
}
};
#if BEAST_UNIT_TESTS
static ChildProcessTests childProcessTests;
#endif

View File

@@ -350,6 +350,4 @@ public:
};
};
#if BEAST_UNIT_TESTS
static AtomicTests atomicTests;
#endif

View File

@@ -205,6 +205,4 @@ public:
}
};
#if BEAST_UNIT_TESTS
static GZIPTests gzipTests;
#endif

View File

@@ -29,7 +29,7 @@ public:
{
String s;
s << "UnsignedInteger <" << String(Bytes) << ">";
s << "Bytes=" << String(Bytes);
beginTest (s);
@@ -82,6 +82,4 @@ public:
private:
};
#if BEAST_UNIT_TESTS
static UnsignedIntegerTests unsignedIntegerTests;
#endif

View File

@@ -619,7 +619,7 @@ public:
typedef UnsignedInteger <KeyBytes> KeyType;
String s;
s << "keyBytes=" << String (KeyBytes);
s << "keyBytes=" << String (KeyBytes) << ", maxItems=" << String (maxItems);
beginTest (s);
// Set up the key and value files and open the db.

View File

@@ -141,14 +141,21 @@ public:
/** Run the Beast unit tests.
*/
static void runBeastUnitTests ()
static void runBeastUnitTests (std::string const& individualTest = "")
{
RippleUnitTests tr;
tr.setAssertOnFailure (false);
tr.setPassesAreLogged (false);
tr.runAllTests ();
if (individualTest.empty ())
{
tr.runAllTests ();
}
else
{
tr.runTest (individualTest.c_str ());
}
// Report
for (int i = 0; i < tr.getNumResults (); ++i)
@@ -232,7 +239,7 @@ int rippleMain (int argc, char** argv)
("standalone,a", "Run with no peers.")
("testnet,t", "Run in test net mode.")
("unittest,u", "Perform unit tests.")
("unittest2", "Perform new unit tests.")
("unittest2", po::value <std::string> ()->implicit_value (""), "Perform new unit tests.")
("parameters", po::value< vector<string> > (), "Specify comma separated parameters.")
("quiet,q", "Reduce diagnotics.")
("verbose,v", "Verbose logging.")
@@ -332,7 +339,10 @@ int rippleMain (int argc, char** argv)
if (vm.count ("unittest2"))
{
runBeastUnitTests ();
std::string const test = vm ["unittest2"].as <std::string> ();
runBeastUnitTests (test);
return 0;
}