* fix gcc4 build of cppunit library by explicitly spelling out std:: in
the headers and importing the required classes in the implementation files * automatic whitespace cleanup git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30586 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -9,30 +9,30 @@
|
||||
//! Base class for single threaded unit tests
|
||||
class CPPUNIT_API BTestCase : public CppUnit::TestCase {
|
||||
public:
|
||||
BTestCase(string Name = "");
|
||||
|
||||
BTestCase(std::string Name = "");
|
||||
|
||||
//! Displays the next sub test progress indicator (i.e. [0][1][2][3]...).
|
||||
virtual void NextSubTest();
|
||||
|
||||
|
||||
//! Starts a new sub test block (i.e. prints a newline :-)
|
||||
virtual void NextSubTestBlock();
|
||||
|
||||
|
||||
/*! \brief Prints to standard out just like printf, except shell verbosity
|
||||
settings are honored.
|
||||
*/
|
||||
virtual void Outputf(const char *str, ...);
|
||||
|
||||
//! Saves the location of the current working directory.
|
||||
|
||||
//! Saves the location of the current working directory.
|
||||
void SaveCWD();
|
||||
|
||||
|
||||
virtual void tearDown();
|
||||
|
||||
//! Restores the current working directory to last directory saved by a call to SaveCWD().
|
||||
|
||||
//! Restores the current working directory to last directory saved by a call to SaveCWD().
|
||||
void RestoreCWD(const char *alternate = NULL);
|
||||
protected:
|
||||
bool fValidCWD;
|
||||
char fCurrentWorkingDir[B_PATH_NAME_LENGTH+1];
|
||||
int32 fSubTestNum;
|
||||
char fCurrentWorkingDir[B_PATH_NAME_LENGTH+1];
|
||||
int32 fSubTestNum;
|
||||
};
|
||||
|
||||
#endif // _beos_test_case_h_
|
||||
|
||||
@@ -4,15 +4,17 @@
|
||||
#include <cppunit/TestListener.h>
|
||||
#include <SupportDefs.h>
|
||||
|
||||
class CppUnit::Test;
|
||||
class CppUnit::TestFailure;
|
||||
class CppUnit::Exception;
|
||||
namespace CppUnit {
|
||||
class Test;
|
||||
class TestFailure;
|
||||
class Exception;
|
||||
}
|
||||
|
||||
//! Handles printing of test information
|
||||
/*! Receives notification of the beginning and end of each test,
|
||||
and notification of all failures and errors. Prints out said
|
||||
information in a standard format to standard output.
|
||||
|
||||
|
||||
You should not need to explicitly use this class in any
|
||||
of your tests.
|
||||
*/
|
||||
|
||||
@@ -48,9 +48,9 @@ typedef CppUnit::SynchronizedObject::SynchronizationObject SyncObject;
|
||||
*/
|
||||
class CPPUNIT_API BTestShell {
|
||||
public:
|
||||
BTestShell(const string &description = "", SyncObject *syncObject = 0);
|
||||
BTestShell(const std::string &description = "", SyncObject *syncObject = 0);
|
||||
virtual ~BTestShell();
|
||||
|
||||
|
||||
// This function is used to add the tests for a given kit (as contained
|
||||
// in a BTestSuite object) to the list of available tests. The shell assumes
|
||||
// ownership of the BTestSuite object. Each test in the kit is added to
|
||||
@@ -64,7 +64,7 @@ public:
|
||||
// when the program is run with "--list" as an argument. Usually the
|
||||
// given suite would be a test suite for an entire class, but that's
|
||||
// not a requirement.
|
||||
void AddTest(const string &name, CppUnit::Test* test);
|
||||
void AddTest(const std::string &name, CppUnit::Test* test);
|
||||
|
||||
// This function loads all the test addons it finds in the given
|
||||
// directory, returning the number of tests actually loaded.
|
||||
@@ -75,7 +75,7 @@ public:
|
||||
// help, or lists installed tests, or whatever, depending on the
|
||||
// command-line arguments passed in.
|
||||
int Run(int argc, char *argv[]);
|
||||
|
||||
|
||||
// Verbosity Level enumeration and accessor function
|
||||
enum VerbosityLevel { v0, v1, v2, v3, v4 };
|
||||
VerbosityLevel Verbosity() const;
|
||||
@@ -92,9 +92,9 @@ public:
|
||||
// have to (and always make sure the pointer it returns isn't NULL
|
||||
// before you try to use it :-).
|
||||
static BTestShell* GlobalShell() { return fGlobalShell; };
|
||||
|
||||
|
||||
// Sets the global BTestShell pointer. The BTestShell class does
|
||||
// not assume ownership of the object.
|
||||
// not assume ownership of the object.
|
||||
static void SetGlobalShell(BTestShell *shell) { fGlobalShell = shell; };
|
||||
|
||||
const char* TestDir() const;
|
||||
@@ -104,18 +104,18 @@ public:
|
||||
bool WasDebuggerCalled();
|
||||
|
||||
protected:
|
||||
typedef map<string, CppUnit::Test*> TestMap;
|
||||
typedef map<string, BTestSuite*> SuiteMap;
|
||||
typedef std::map<std::string, CppUnit::Test*> TestMap;
|
||||
typedef std::map<std::string, BTestSuite*> SuiteMap;
|
||||
|
||||
VerbosityLevel fVerbosityLevel;
|
||||
set<string> fTestsToRun;
|
||||
set<string> fSuitesToRun;
|
||||
std::set<std::string> fTestsToRun;
|
||||
std::set<std::string> fSuitesToRun;
|
||||
TestMap fTests;
|
||||
SuiteMap fSuites;
|
||||
set<string> fLibDirs;
|
||||
std::set<std::string> fLibDirs;
|
||||
CppUnit::TestResult fTestResults;
|
||||
CppUnit::TestResultCollector fResultsCollector;
|
||||
string fDescription;
|
||||
std::string fDescription;
|
||||
static BTestShell* fGlobalShell;
|
||||
static const char indent[];
|
||||
bool fListTestsAndExit;
|
||||
@@ -134,7 +134,7 @@ protected:
|
||||
|
||||
//! Prints out command line argument instructions
|
||||
void PrintHelp();
|
||||
|
||||
|
||||
/*! \brief Prints out the list of valid command line arguments.
|
||||
Called by PrintHelp().
|
||||
*/
|
||||
@@ -142,15 +142,15 @@ protected:
|
||||
|
||||
//! Prints out a list of all the currently available tests
|
||||
void PrintInstalledTests();
|
||||
|
||||
|
||||
/*! \brief Handles command line arguments; returns true if everything goes
|
||||
okay, false if not (or if the program just needs to terminate without
|
||||
running any tests). Modifies settings in "settings" as necessary.
|
||||
*/
|
||||
bool ProcessArguments(int argc, char *argv[]);
|
||||
|
||||
|
||||
//! Processes a single argument, given by the \c arg parameter.
|
||||
virtual bool ProcessArgument(string arg, int argc, char *argv[]);
|
||||
virtual bool ProcessArgument(std::string arg, int argc, char *argv[]);
|
||||
|
||||
//! Makes any necessary pre-test preparations
|
||||
void InitOutput();
|
||||
@@ -159,12 +159,12 @@ protected:
|
||||
the specified verbosity level.
|
||||
*/
|
||||
void PrintResults();
|
||||
|
||||
|
||||
/*! \brief Searches all the paths in \c fLibDirs, loading any dynamically
|
||||
loadable suites it finds.
|
||||
*/
|
||||
virtual void LoadDynamicSuites();
|
||||
|
||||
|
||||
//! Sets the current test directory.
|
||||
void UpdateTestDir(char *argv[]);
|
||||
|
||||
@@ -187,7 +187,7 @@ private:
|
||||
static image_id _LoadAddOnHook(const char* path);
|
||||
static status_t _UnloadAddOnHook(image_id image);
|
||||
#endif // ! NO_ELF_SYMBOL_PATCHING
|
||||
|
||||
|
||||
}; // class BTestShell
|
||||
|
||||
#endif // _beos_test_shell_h_
|
||||
|
||||
@@ -6,31 +6,33 @@
|
||||
#include <map>
|
||||
#include <string>
|
||||
|
||||
class CppUnit::TestResult;
|
||||
namespace CppUnit {
|
||||
class TestResult;
|
||||
}
|
||||
|
||||
//! Groups together a set of tests for a given kit.
|
||||
class CPPUNIT_API BTestSuite : public CppUnit::Test {
|
||||
public:
|
||||
BTestSuite( string name = "" );
|
||||
BTestSuite(std::string name = "");
|
||||
virtual ~BTestSuite();
|
||||
|
||||
virtual void run( CppUnit::TestResult *result );
|
||||
virtual void run(CppUnit::TestResult *result);
|
||||
virtual int countTestCases() const;
|
||||
virtual string getName() const;
|
||||
virtual string toString() const;
|
||||
virtual std::string getName() const;
|
||||
virtual std::string toString() const;
|
||||
|
||||
virtual void addTest(string name, CppUnit::Test *test);
|
||||
virtual void addTest(std::string name, CppUnit::Test *test);
|
||||
virtual void deleteContents();
|
||||
|
||||
const map<string, CppUnit::Test*> &getTests() const;
|
||||
const std::map<std::string, CppUnit::Test*> &getTests() const;
|
||||
|
||||
protected:
|
||||
map<string, CppUnit::Test*> fTests;
|
||||
const string fName;
|
||||
std::map<std::string, CppUnit::Test*> fTests;
|
||||
const std::string fName;
|
||||
|
||||
private:
|
||||
BTestSuite(const BTestSuite &other);
|
||||
BTestSuite& operator=(const BTestSuite &other);
|
||||
BTestSuite& operator=(const BTestSuite &other);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -28,7 +28,7 @@ Equals(const A &a, const B &b, const C &c)
|
||||
}
|
||||
|
||||
// Returns a string version of the given integer
|
||||
extern CPPUNIT_API string IntToStr(int i);
|
||||
extern CPPUNIT_API std::string IntToStr(int i);
|
||||
|
||||
// Calls system() with the concatenated string of command and parameter.
|
||||
extern CPPUNIT_API void ExecCommand(const char *command, const char *parameter);
|
||||
@@ -40,5 +40,5 @@ extern CPPUNIT_API void ExecCommand(const char *command, const char *parameter1,
|
||||
|
||||
// Calls system() with the given command (kind of silly, but it's consistent :-)
|
||||
extern CPPUNIT_API void ExecCommand(const char *command);
|
||||
|
||||
|
||||
#endif // __beos_test_utils_h__
|
||||
|
||||
@@ -14,23 +14,23 @@
|
||||
class TestResult;
|
||||
|
||||
template <class TestClass, class ExpectedException = CppUnit::NoExceptionExpected>
|
||||
class CPPUNIT_API BThreadedTestCaller : public CppUnit::TestCase {
|
||||
class CPPUNIT_API BThreadedTestCaller : public CppUnit::TestCase {
|
||||
public:
|
||||
/*! \brief Pointer to a test function in the given class.
|
||||
Each ThreadMethod added with addThread() is run in its own thread.
|
||||
*/
|
||||
typedef void (TestClass::*ThreadMethod)();
|
||||
|
||||
BThreadedTestCaller(std::string name);
|
||||
BThreadedTestCaller(std::string name, TestClass &object);
|
||||
BThreadedTestCaller(std::string name, TestClass *object);
|
||||
BThreadedTestCaller(std::string name);
|
||||
BThreadedTestCaller(std::string name, TestClass &object);
|
||||
BThreadedTestCaller(std::string name, TestClass *object);
|
||||
virtual ~BThreadedTestCaller();
|
||||
|
||||
|
||||
virtual CppUnit::TestResult *run();
|
||||
virtual void run(CppUnit::TestResult *result);
|
||||
|
||||
//! Adds a thread to the test. \c threadName must be unique to this BThreadedTestCaller.
|
||||
void addThread(std::string threadName, ThreadMethod method);
|
||||
void addThread(std::string threadName, ThreadMethod method);
|
||||
|
||||
protected:
|
||||
virtual void setUp();
|
||||
@@ -42,9 +42,9 @@ protected:
|
||||
bool fOwnObject;
|
||||
TestClass *fObject;
|
||||
ThreadManagerMap fThreads;
|
||||
|
||||
|
||||
sem_id fThreadSem;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
@@ -78,19 +78,19 @@ BThreadedTestCaller<TestClass, ExpectedException>::BThreadedTestCaller(std::stri
|
||||
template <class TestClass, class ExpectedException>
|
||||
BThreadedTestCaller<TestClass, ExpectedException>::~BThreadedTestCaller() {
|
||||
if (fOwnObject)
|
||||
delete fObject;
|
||||
for (ThreadManagerMap::iterator it = fThreads.begin(); it != fThreads.end (); ++it) {
|
||||
delete fObject;
|
||||
for (typename ThreadManagerMap::iterator it = fThreads.begin(); it != fThreads.end (); ++it) {
|
||||
delete it->second;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
template <class TestClass, class ExpectedException>
|
||||
void
|
||||
BThreadedTestCaller<TestClass, ExpectedException>::addThread(std::string threadName, ThreadMethod method) {
|
||||
if (fThreads.find(threadName) == fThreads.end()) {
|
||||
// Unused name, go ahead and add
|
||||
fThreads[threadName] = new BThreadManager<TestClass, ExpectedException>(threadName, fObject, method, fThreadSem);
|
||||
fThreads[threadName] = new BThreadManager<TestClass, ExpectedException>(threadName, fObject, method, fThreadSem);
|
||||
} else {
|
||||
// Duplicate name, throw an exception
|
||||
throw CppUnit::Exception("BThreadedTestCaller::addThread() - Attempt to add thread under duplicated name ('"
|
||||
@@ -110,11 +110,11 @@ template <class TestClass, class ExpectedException>
|
||||
void
|
||||
BThreadedTestCaller<TestClass, ExpectedException>::run(CppUnit::TestResult *result) {
|
||||
result->startTest(this);
|
||||
|
||||
|
||||
if (fThreads.size() <= 0)
|
||||
throw CppUnit::Exception("BThreadedTestCaller::run() -- No threads added to BThreadedTestCaller()");
|
||||
|
||||
try {
|
||||
try {
|
||||
setUp();
|
||||
|
||||
// This try/catch block should never actually have to catch
|
||||
@@ -131,13 +131,13 @@ BThreadedTestCaller<TestClass, ExpectedException>::run(CppUnit::TestResult *resu
|
||||
// blocked; their output appears later...).
|
||||
//
|
||||
// Each thread will acquire the semaphore once when launched,
|
||||
// thus the initial thread count is equal the number of threads.
|
||||
// thus the initial thread count is equal the number of threads.
|
||||
fThreadSem = create_sem(fThreads.size(), "ThreadSem");
|
||||
if (fThreadSem < B_OK)
|
||||
throw CppUnit::Exception("BThreadedTestCaller::run() -- Error creating fThreadSem");
|
||||
throw CppUnit::Exception("BThreadedTestCaller::run() -- Error creating fThreadSem");
|
||||
|
||||
// Launch all the threads.
|
||||
for (ThreadManagerMap::iterator i = fThreads.begin();
|
||||
for (typename ThreadManagerMap::iterator i = fThreads.begin();
|
||||
i != fThreads.end ();
|
||||
++i)
|
||||
{
|
||||
@@ -146,7 +146,7 @@ BThreadedTestCaller<TestClass, ExpectedException>::run(CppUnit::TestResult *resu
|
||||
result->addError(this, new CppUnit::Exception("Error launching thread '" + i->second->getName() + "'"));
|
||||
// printf("Launch(%s)\n", i->second->getName().c_str());
|
||||
}
|
||||
|
||||
|
||||
// Now we loop. Before you faint, there is a reason for this:
|
||||
// Calls to NextSubTest() from other threads don't actually
|
||||
// print anything while the main thread is blocked waiting
|
||||
@@ -158,13 +158,13 @@ BThreadedTestCaller<TestClass, ExpectedException>::run(CppUnit::TestResult *resu
|
||||
// any pending updates, and tries to acquire the semaphore
|
||||
// again. When it finally manages to acquire it, all the
|
||||
// test threads have terminated, and it's safe to clean up.
|
||||
|
||||
|
||||
status_t err;
|
||||
do {
|
||||
// Try to acquire the semaphore
|
||||
err = acquire_sem_etc(fThreadSem, fThreads.size(), B_RELATIVE_TIMEOUT, 500000);
|
||||
|
||||
// Empty the UpdateList
|
||||
|
||||
// Empty the UpdateList
|
||||
std::vector<std::string> &list = fObject->AcquireUpdateList();
|
||||
for (std::vector<std::string>::iterator i = list.begin();
|
||||
i != list.end();
|
||||
@@ -172,16 +172,16 @@ BThreadedTestCaller<TestClass, ExpectedException>::run(CppUnit::TestResult *resu
|
||||
{
|
||||
// Only print to standard out if the current global shell
|
||||
// lets us (or if no global shell is designated).
|
||||
if (BTestShell::GlobalBeVerbose()) {
|
||||
if (BTestShell::GlobalBeVerbose()) {
|
||||
printf("%s", (*i).c_str());
|
||||
fflush(stdout);
|
||||
}
|
||||
}
|
||||
list.clear();
|
||||
fObject->ReleaseUpdateList();
|
||||
|
||||
fObject->ReleaseUpdateList();
|
||||
|
||||
} while (err != B_OK);
|
||||
|
||||
|
||||
// If we get this far, we actually managed to acquire the semaphore,
|
||||
// so we should release it now.
|
||||
release_sem_etc(fThreadSem, fThreads.size(), 0);
|
||||
@@ -189,9 +189,9 @@ BThreadedTestCaller<TestClass, ExpectedException>::run(CppUnit::TestResult *resu
|
||||
// Print out a newline for asthetics :-)
|
||||
printf("\n");
|
||||
|
||||
/*
|
||||
|
||||
|
||||
/*
|
||||
|
||||
|
||||
// Wait for them all to finish, then clean up
|
||||
for (ThreadManagerMap::iterator i = fThreads.begin();
|
||||
i != fThreads.end ();
|
||||
@@ -206,21 +206,21 @@ BThreadedTestCaller<TestClass, ExpectedException>::run(CppUnit::TestResult *resu
|
||||
*/
|
||||
|
||||
fThreads.clear();
|
||||
|
||||
|
||||
} catch ( CppUnit::Exception &e ) {
|
||||
// Add on the a note that this exception was caught by the
|
||||
// thread caller (which is a bad thing), then note the exception
|
||||
CppUnit::Exception *threadException = new CppUnit::Exception(
|
||||
std::string(e.what()) + " (NOTE: caught by BThreadedTestCaller)",
|
||||
e.sourceLine()
|
||||
);
|
||||
);
|
||||
result->addFailure( fObject, threadException );
|
||||
}
|
||||
catch ( std::exception &e ) {
|
||||
// Add on the thread name, then note the exception
|
||||
CppUnit::Exception *threadException = new CppUnit::Exception(
|
||||
std::string(e.what()) + " (NOTE: caught by BThreadedTestCaller)"
|
||||
);
|
||||
);
|
||||
result->addError( fObject, threadException );
|
||||
}
|
||||
catch (...) {
|
||||
@@ -237,7 +237,7 @@ BThreadedTestCaller<TestClass, ExpectedException>::run(CppUnit::TestResult *resu
|
||||
tearDown();
|
||||
} catch (...) {
|
||||
result->addError(this, new CppUnit::Exception("tearDown() failed"));
|
||||
}
|
||||
}
|
||||
} catch (...) {
|
||||
result->addError(this, new CppUnit::Exception("setUp() failed"));
|
||||
} // setUp() try/catch block
|
||||
@@ -253,7 +253,7 @@ BThreadedTestCaller<TestClass, ExpectedException>::setUp() {
|
||||
throw CppUnit::Exception("BThreadedTestCaller::runTest() -- NULL fObject pointer");
|
||||
if (!fObject->RegisterForUse())
|
||||
throw CppUnit::Exception("BThreadedTestCaller::runTest() -- Attempt to reuse ThreadedTestCase object already in use");
|
||||
|
||||
|
||||
fObject->setUp();
|
||||
}
|
||||
|
||||
@@ -265,8 +265,8 @@ BThreadedTestCaller<TestClass, ExpectedException>::tearDown() {
|
||||
|
||||
template <class TestClass, class ExpectedException>
|
||||
std::string
|
||||
BThreadedTestCaller<TestClass, ExpectedException>::toString() const {
|
||||
return std::string("BThreadedTestCaller for ") + getName();
|
||||
BThreadedTestCaller<TestClass, ExpectedException>::toString() const {
|
||||
return std::string("BThreadedTestCaller for ") + getName();
|
||||
}
|
||||
|
||||
#endif // _beos_threaded_test_caller_h_
|
||||
|
||||
@@ -11,46 +11,46 @@
|
||||
//! Base class for single threaded unit tests
|
||||
class CPPUNIT_API BThreadedTestCase : public BTestCase {
|
||||
public:
|
||||
BThreadedTestCase(string Name = "", string progressSeparator = ".");
|
||||
BThreadedTestCase(std::string Name = "", std::string progressSeparator = ".");
|
||||
virtual ~BThreadedTestCase();
|
||||
|
||||
|
||||
/*! \brief Displays the next sub test progress indicator for the
|
||||
thread in which it's called (i.e. [A.0][B.0][A.1][A.2][B.1]...). */
|
||||
virtual void NextSubTest();
|
||||
|
||||
|
||||
/*! \brief Prints to standard out just like printf, except shell verbosity
|
||||
settings are honored, and output from threads other than the main thread
|
||||
happens before the test is over.
|
||||
|
||||
|
||||
\note Currently your output is limited to a length of 1024 characters. If
|
||||
you really need to print a single string that's long than that, fix the
|
||||
function yourself :-).
|
||||
*/
|
||||
virtual void Outputf(const char *str, ...);
|
||||
|
||||
//! Saves the location of the current working directory.
|
||||
|
||||
//! Saves the location of the current working directory.
|
||||
void SaveCWD();
|
||||
|
||||
//! Restores the current working directory to last directory saved by a call to SaveCWD().
|
||||
|
||||
//! Restores the current working directory to last directory saved by a call to SaveCWD().
|
||||
void RestoreCWD(const char *alternate = NULL);
|
||||
void InitThreadInfo(thread_id id, string threadName);
|
||||
void InitThreadInfo(thread_id id, std::string threadName);
|
||||
bool RegisterForUse();
|
||||
void UnregisterForUse();
|
||||
|
||||
vector<string>& AcquireUpdateList();
|
||||
|
||||
std::vector<std::string>& AcquireUpdateList();
|
||||
void ReleaseUpdateList();
|
||||
protected:
|
||||
bool fInUse;
|
||||
|
||||
// friend class ThreadManager<BThreadedTestCase>;
|
||||
string fProgressSeparator;
|
||||
std::string fProgressSeparator;
|
||||
|
||||
struct ThreadSubTestInfo {
|
||||
string name;
|
||||
int32 subTestNum;
|
||||
std::string name;
|
||||
int32 subTestNum;
|
||||
};
|
||||
map<thread_id, ThreadSubTestInfo*> fNumberMap;
|
||||
vector<string> fUpdateList;
|
||||
std::map<thread_id, ThreadSubTestInfo*> fNumberMap;
|
||||
std::vector<std::string> fUpdateList;
|
||||
BLocker *fUpdateLock;
|
||||
|
||||
};
|
||||
|
||||
@@ -16,23 +16,23 @@ namespace CppUnit
|
||||
* \code
|
||||
* #include <cppunit/SourceLine.h>
|
||||
* #include <cppunit/TestAssert.h>
|
||||
*
|
||||
* void
|
||||
*
|
||||
* void
|
||||
* checkXmlEqual( string expectedXml,
|
||||
* string actualXml,
|
||||
* CppUnit::SourceLine sourceLine )
|
||||
* {
|
||||
* string expected = XmlUniformiser( expectedXml ).stripped();
|
||||
* string actual = XmlUniformiser( actualXml ).stripped();
|
||||
*
|
||||
*
|
||||
* if ( expected == actual )
|
||||
* return;
|
||||
*
|
||||
*
|
||||
* ::CppUnit::Asserter::failNotEqual( expected,
|
||||
* actual,
|
||||
* sourceLine );
|
||||
* }
|
||||
*
|
||||
*
|
||||
* /// Asserts that two XML strings are equivalent.
|
||||
* #define CPPUNITTEST_ASSERT_XML_EQUAL( expected, actual ) \
|
||||
* checkXmlEqual( expected, actual, \
|
||||
@@ -44,7 +44,7 @@ namespace Asserter
|
||||
|
||||
/*! Throws a Exception with the specified message and location.
|
||||
*/
|
||||
void CPPUNIT_API fail( string message,
|
||||
void CPPUNIT_API fail( std::string message,
|
||||
SourceLine sourceLine = SourceLine() );
|
||||
|
||||
/*! Throws a Exception with the specified message and location.
|
||||
@@ -53,8 +53,8 @@ namespace Asserter
|
||||
* \param message Message explaining the assertion failiure.
|
||||
* \param sourceLine Location of the assertion.
|
||||
*/
|
||||
void CPPUNIT_API failIf( bool shouldFail,
|
||||
string message,
|
||||
void CPPUNIT_API failIf( bool shouldFail,
|
||||
std::string message,
|
||||
SourceLine sourceLine = SourceLine() );
|
||||
|
||||
/*! Throws a NotEqualException with the specified message and location.
|
||||
@@ -64,10 +64,10 @@ namespace Asserter
|
||||
* where the "difference" is located.
|
||||
* \param sourceLine Location of the assertion.
|
||||
*/
|
||||
void CPPUNIT_API failNotEqual( string expected,
|
||||
string actual,
|
||||
void CPPUNIT_API failNotEqual( std::string expected,
|
||||
std::string actual,
|
||||
SourceLine sourceLine = SourceLine(),
|
||||
string additionalMessage ="" );
|
||||
std::string additionalMessage ="" );
|
||||
|
||||
/*! Throws a NotEqualException with the specified message and location.
|
||||
* \param shouldFail if \c true then the exception is thrown. Otherwise
|
||||
@@ -79,10 +79,10 @@ namespace Asserter
|
||||
* \param sourceLine Location of the assertion.
|
||||
*/
|
||||
void CPPUNIT_API failNotEqualIf( bool shouldFail,
|
||||
string expected,
|
||||
string actual,
|
||||
std::string expected,
|
||||
std::string actual,
|
||||
SourceLine sourceLine = SourceLine(),
|
||||
string additionalMessage ="" );
|
||||
std::string additionalMessage ="" );
|
||||
|
||||
} // namespace Asserter
|
||||
} // namespace CppUnit
|
||||
|
||||
@@ -15,7 +15,7 @@ class Test;
|
||||
class TestFailure;
|
||||
class TestResultCollector;
|
||||
|
||||
/*!
|
||||
/*!
|
||||
* \brief Outputs a TestResultCollector in a compiler compatible format.
|
||||
* \ingroup WritingTestResult
|
||||
*
|
||||
@@ -33,23 +33,23 @@ class TestResultCollector;
|
||||
* int main( int argc, char* argv[] ) {
|
||||
* // if command line contains "-selftest" then this is the post build check
|
||||
* // => the output must be in the compiler error format.
|
||||
* bool selfTest = (argc > 1) &&
|
||||
* bool selfTest = (argc > 1) &&
|
||||
* (string("-selftest") == argv[1]);
|
||||
*
|
||||
* CppUnit::TextUi::TestRunner runner;
|
||||
* runner.addTest( CppUnitTest::suite() ); // Add the top suite to the test runner
|
||||
*
|
||||
*
|
||||
* if ( selfTest )
|
||||
* { // Change the default outputter to a compiler error format outputter
|
||||
* // The test runner owns the new outputter.
|
||||
* runner.setOutputter( CppUnit::CompilerOutputter::defaultOutputter(
|
||||
* runner.setOutputter( CppUnit::CompilerOutputter::defaultOutputter(
|
||||
* &runner.result(),
|
||||
* cerr ) );
|
||||
* }
|
||||
*
|
||||
*
|
||||
* // Run the test and don't wait a key if post build check.
|
||||
* bool wasSucessful = runner.run( "", !selfTest );
|
||||
*
|
||||
*
|
||||
* // Return error code 1 if the one of test failed.
|
||||
* return wasSucessful ? 0 : 1;
|
||||
* }
|
||||
@@ -61,7 +61,7 @@ public:
|
||||
/*! Constructs a CompilerOutputter object.
|
||||
*/
|
||||
CompilerOutputter( TestResultCollector *result,
|
||||
ostream &stream );
|
||||
std::ostream &stream );
|
||||
|
||||
/// Destructor.
|
||||
virtual ~CompilerOutputter();
|
||||
@@ -69,7 +69,7 @@ public:
|
||||
/*! Creates an instance of an outputter that matches your current compiler.
|
||||
*/
|
||||
static CompilerOutputter *defaultOutputter( TestResultCollector *result,
|
||||
ostream &stream );
|
||||
std::ostream &stream );
|
||||
|
||||
void write();
|
||||
|
||||
@@ -84,7 +84,7 @@ public:
|
||||
virtual void printFailureMessage( TestFailure *failure );
|
||||
virtual void printNotEqualMessage( Exception *thrownException );
|
||||
virtual void printDefaultMessage( Exception *thrownException );
|
||||
virtual string wrap( string message );
|
||||
virtual std::string wrap( std::string message );
|
||||
|
||||
private:
|
||||
/// Prevents the use of the copy constructor.
|
||||
@@ -93,12 +93,12 @@ private:
|
||||
/// Prevents the use of the copy operator.
|
||||
void operator =( const CompilerOutputter © );
|
||||
|
||||
typedef vector<string> Lines;
|
||||
static Lines splitMessageIntoLines( string message );
|
||||
typedef std::vector<std::string> Lines;
|
||||
static Lines splitMessageIntoLines( std::string message );
|
||||
|
||||
private:
|
||||
TestResultCollector *m_result;
|
||||
ostream &m_stream;
|
||||
std::ostream &m_stream;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -14,31 +14,31 @@ namespace CppUnit {
|
||||
* Exception is an exception that serves
|
||||
* descriptive strings through its what() method
|
||||
*/
|
||||
class CPPUNIT_API Exception : public exception
|
||||
class CPPUNIT_API Exception : public std::exception
|
||||
{
|
||||
public:
|
||||
|
||||
class Type
|
||||
{
|
||||
public:
|
||||
Type( string type ) : m_type ( type ) {}
|
||||
Type( std::string type ) : m_type ( type ) {}
|
||||
|
||||
bool operator ==( const Type &other ) const
|
||||
{
|
||||
return m_type == other.m_type;
|
||||
}
|
||||
private:
|
||||
const string m_type;
|
||||
const std::string m_type;
|
||||
};
|
||||
|
||||
|
||||
Exception( string message = "",
|
||||
Exception( std::string message = "",
|
||||
SourceLine sourceLine = SourceLine() );
|
||||
|
||||
#ifdef CPPUNIT_ENABLE_SOURCELINE_DEPRECATED
|
||||
Exception( string message,
|
||||
long lineNumber,
|
||||
string fileName );
|
||||
Exception( std::string message,
|
||||
long lineNumber,
|
||||
std::string fileName );
|
||||
#endif
|
||||
|
||||
Exception (const Exception& other);
|
||||
@@ -55,12 +55,12 @@ public:
|
||||
long lineNumber() const;
|
||||
string fileName() const;
|
||||
|
||||
static const string UNKNOWNFILENAME;
|
||||
static const std::string UNKNOWNFILENAME;
|
||||
static const long UNKNOWNLINENUMBER;
|
||||
#endif
|
||||
|
||||
virtual Exception *clone() const;
|
||||
|
||||
|
||||
virtual bool isInstanceOf( const Type &type ) const;
|
||||
|
||||
static Type type();
|
||||
@@ -68,9 +68,9 @@ public:
|
||||
private:
|
||||
// VC++ does not recognize call to parent class when prefixed
|
||||
// with a namespace. This is a workaround.
|
||||
typedef exception SuperClass;
|
||||
typedef std::exception SuperClass;
|
||||
|
||||
string m_message;
|
||||
std::string m_message;
|
||||
SourceLine m_sourceLine;
|
||||
};
|
||||
|
||||
|
||||
@@ -19,16 +19,16 @@ public:
|
||||
* \param additionalMessage Additionnal information provided to further qualify
|
||||
* the inequality.
|
||||
*/
|
||||
NotEqualException( string expected,
|
||||
string actual,
|
||||
NotEqualException( std::string expected,
|
||||
std::string actual,
|
||||
SourceLine sourceLine = SourceLine(),
|
||||
string additionalMessage = "" );
|
||||
std::string additionalMessage = "" );
|
||||
|
||||
#ifdef CPPUNIT_ENABLE_SOURCELINE_DEPRECATED
|
||||
NotEqualException( string expected,
|
||||
string actual,
|
||||
long lineNumber,
|
||||
string fileName );
|
||||
NotEqualException( std::string expected,
|
||||
std::string actual,
|
||||
long lineNumber,
|
||||
std::string fileName );
|
||||
#endif
|
||||
|
||||
NotEqualException( const NotEqualException &other );
|
||||
@@ -36,11 +36,11 @@ public:
|
||||
|
||||
virtual ~NotEqualException() throw();
|
||||
|
||||
string expectedValue() const;
|
||||
std::string expectedValue() const;
|
||||
|
||||
string actualValue() const;
|
||||
std::string actualValue() const;
|
||||
|
||||
string additionalMessage() const;
|
||||
std::string additionalMessage() const;
|
||||
|
||||
/*! Copy operator.
|
||||
* @param other Object to copy.
|
||||
@@ -55,9 +55,9 @@ public:
|
||||
static Type type();
|
||||
|
||||
private:
|
||||
string m_expected;
|
||||
string m_actual;
|
||||
string m_additionalMessage;
|
||||
std::string m_expected;
|
||||
std::string m_actual;
|
||||
std::string m_additionalMessage;
|
||||
};
|
||||
|
||||
} // namespace CppUnit
|
||||
|
||||
@@ -21,6 +21,10 @@
|
||||
#undef CPPUNIT_FUNC_STRING_COMPARE_STRING_FIRST
|
||||
#endif
|
||||
|
||||
#if __GNUC__ > 2
|
||||
#undef CPPUNIT_FUNC_STRING_COMPARE_STRING_FIRST
|
||||
#endif
|
||||
|
||||
/* Define to 1 if you wish to have the old-style macros
|
||||
assert(), assertEqual(), assertDoublesEqual(), and assertLongsEqual() */
|
||||
#ifndef CPPUNIT_ENABLE_NAKED_ASSERT
|
||||
@@ -33,7 +37,7 @@
|
||||
#define CPPUNIT_ENABLE_CU_TEST_MACROS 0
|
||||
#endif
|
||||
|
||||
/* Define to 1 if the preprocessor expands (#foo) to "foo" (quotes incl.)
|
||||
/* Define to 1 if the preprocessor expands (#foo) to "foo" (quotes incl.)
|
||||
I don't think there is any C preprocess that does NOT support this! */
|
||||
#ifndef CPPUNIT_HAVE_CPP_SOURCE_ANNOTATION
|
||||
#define CPPUNIT_HAVE_CPP_SOURCE_ANNOTATION 1
|
||||
@@ -60,11 +64,11 @@
|
||||
#if CPPUNIT_HAVE_SSTREAM
|
||||
# include <sstream>
|
||||
namespace CppUnit {
|
||||
class OStringStream : public ostringstream
|
||||
class OStringStream : public ostringstream
|
||||
{
|
||||
};
|
||||
}
|
||||
#else
|
||||
#else
|
||||
#if CPPUNIT_HAVE_CLASS_STRSTREAM
|
||||
# include <string>
|
||||
# if CPPUNIT_HAVE_STRSTREAM
|
||||
@@ -74,14 +78,14 @@
|
||||
# endif
|
||||
|
||||
namespace CppUnit {
|
||||
class OStringStream : public ostrstream
|
||||
class OStringStream : public std::ostrstream
|
||||
{
|
||||
public:
|
||||
string str()
|
||||
std::string str()
|
||||
{
|
||||
(*this) << '\0';
|
||||
string msg(ostrstream::str());
|
||||
ostrstream::freeze(false);
|
||||
std::string msg(std::ostrstream::str());
|
||||
std::ostrstream::freeze(false);
|
||||
return msg;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace CppUnit
|
||||
* \ingroup BrowsingCollectedTestResult
|
||||
*
|
||||
* Used to capture the failure location in assertion.
|
||||
*
|
||||
*
|
||||
* Use the CPPUNIT_SOURCELINE() macro to construct that object. Typically used when
|
||||
* writing an assertion macro in association with Asserter.
|
||||
*
|
||||
@@ -32,7 +32,7 @@ class CPPUNIT_API SourceLine
|
||||
public:
|
||||
SourceLine();
|
||||
|
||||
SourceLine( const string &fileName,
|
||||
SourceLine( const std::string &fileName,
|
||||
int lineNumber );
|
||||
|
||||
/// Destructor.
|
||||
@@ -42,13 +42,13 @@ public:
|
||||
|
||||
int lineNumber() const;
|
||||
|
||||
string fileName() const;
|
||||
std::string fileName() const;
|
||||
|
||||
bool operator ==( const SourceLine &other ) const;
|
||||
bool operator !=( const SourceLine &other ) const;
|
||||
|
||||
private:
|
||||
string m_fileName;
|
||||
std::string m_fileName;
|
||||
int m_lineNumber;
|
||||
};
|
||||
|
||||
|
||||
@@ -13,7 +13,7 @@ class TestResult;
|
||||
*
|
||||
* All test objects should be a subclass of Test. Some test objects,
|
||||
* TestCase for example, represent one individual test. Other test
|
||||
* objects, such as TestSuite, are comprised of several tests.
|
||||
* objects, such as TestSuite, are comprised of several tests.
|
||||
*
|
||||
* When a Test is run, the result is collected by a TestResult object.
|
||||
*
|
||||
@@ -38,20 +38,20 @@ public:
|
||||
virtual int countTestCases () const = 0;
|
||||
|
||||
/*! \brief Returns the test name.
|
||||
*
|
||||
*
|
||||
* Each test has a name. This name may be used to find the
|
||||
* test in a suite or registry of tests.
|
||||
*/
|
||||
virtual string getName () const = 0;
|
||||
virtual std::string getName () const = 0;
|
||||
|
||||
/*! \brief Description of the test, for diagnostic output.
|
||||
*
|
||||
* The test description will typically include the test name,
|
||||
* but may have additional description. For example, a test
|
||||
* suite named <tt>complex_add</tt> may be described as
|
||||
* suite named <tt>complex_add</tt> may be described as
|
||||
* <tt>suite complex_add</tt>.
|
||||
*/
|
||||
virtual string toString () const = 0;
|
||||
virtual std::string toString () const = 0;
|
||||
|
||||
|
||||
};
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace CppUnit {
|
||||
* {
|
||||
* return x == y;
|
||||
* }
|
||||
*
|
||||
*
|
||||
* static string toString( const string& x )
|
||||
* {
|
||||
* string text = '"' + x + '"'; // adds quote around the string to see whitespace
|
||||
@@ -32,14 +32,14 @@ namespace CppUnit {
|
||||
* \endcode
|
||||
*/
|
||||
template <class T>
|
||||
struct assertion_traits
|
||||
{
|
||||
struct assertion_traits
|
||||
{
|
||||
static bool equal( const T& x, const T& y )
|
||||
{
|
||||
return x == y;
|
||||
}
|
||||
|
||||
static string toString( const T& x )
|
||||
static std::string toString( const T& x )
|
||||
{
|
||||
OStringStream ost;
|
||||
ost << x;
|
||||
@@ -51,37 +51,37 @@ namespace CppUnit {
|
||||
namespace TestAssert
|
||||
{
|
||||
#ifdef CPPUNIT_ENABLE_SOURCELINE_DEPRECATED
|
||||
void CPPUNIT_API assertImplementation( bool condition,
|
||||
string conditionExpression = "",
|
||||
void CPPUNIT_API assertImplementation( bool condition,
|
||||
std::string conditionExpression = "",
|
||||
long lineNumber,
|
||||
string fileName );
|
||||
std::string fileName );
|
||||
|
||||
void CPPUNIT_API assertNotEqualImplementation( string expected,
|
||||
string actual,
|
||||
void CPPUNIT_API assertNotEqualImplementation( std::string expected,
|
||||
std::string actual,
|
||||
long lineNumber,
|
||||
string fileName );
|
||||
|
||||
std::string fileName );
|
||||
|
||||
|
||||
template <class T>
|
||||
void assertEquals( const T& expected,
|
||||
const T& actual,
|
||||
long lineNumber,
|
||||
string fileName )
|
||||
std::string fileName )
|
||||
{
|
||||
if ( !assertion_traits<T>::equal(expected,actual) ) // lazy toString conversion...
|
||||
{
|
||||
assertNotEqualImplementation( assertion_traits<T>::toString(expected),
|
||||
assertion_traits<T>::toString(actual),
|
||||
lineNumber,
|
||||
lineNumber,
|
||||
fileName );
|
||||
}
|
||||
}
|
||||
|
||||
void CPPUNIT_API assertEquals( double expected,
|
||||
double actual,
|
||||
double delta,
|
||||
void CPPUNIT_API assertEquals( double expected,
|
||||
double actual,
|
||||
double delta,
|
||||
long lineNumber,
|
||||
string fileName );
|
||||
std::string fileName );
|
||||
|
||||
#else // using SourceLine
|
||||
|
||||
@@ -89,7 +89,7 @@ namespace CppUnit {
|
||||
void assertEquals( const T& expected,
|
||||
const T& actual,
|
||||
SourceLine sourceLine,
|
||||
const string &message ="" )
|
||||
const std::string &message ="" )
|
||||
{
|
||||
if ( !assertion_traits<T>::equal(expected,actual) ) // lazy toString conversion...
|
||||
{
|
||||
@@ -167,7 +167,7 @@ namespace CppUnit {
|
||||
* Requirement for \a expected and \a actual parameters:
|
||||
* - They are exactly of the same type
|
||||
* - They are serializable into a strstream using operator <<.
|
||||
* - They can be compared using operator ==.
|
||||
* - They can be compared using operator ==.
|
||||
*
|
||||
* The last two requirements (serialization and comparison) can be
|
||||
* removed by specializing the CppUnit::assertion_traits.
|
||||
@@ -190,7 +190,7 @@ namespace CppUnit {
|
||||
* Requirement for \a expected and \a actual parameters:
|
||||
* - They are exactly of the same type
|
||||
* - They are serializable into a strstream using operator <<.
|
||||
* - They can be compared using operator ==.
|
||||
* - They can be compared using operator ==.
|
||||
*
|
||||
* The last two requirements (serialization and comparison) can be
|
||||
* removed by specializing the CppUnit::assertion_traits.
|
||||
|
||||
@@ -33,18 +33,18 @@ struct ExpectedExceptionTraits
|
||||
static void expectedException()
|
||||
{
|
||||
#if CPPUNIT_USE_TYPEINFO_NAME
|
||||
string message( "Expected exception of type " );
|
||||
std::string message( "Expected exception of type " );
|
||||
message += TypeInfoHelper::getClassName( typeid( ExceptionType ) );
|
||||
message += ", but got none";
|
||||
#else
|
||||
string message( "Expected exception but got none" );
|
||||
std::string message( "Expected exception but got none" );
|
||||
#endif
|
||||
throw Exception( message );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/*! \brief (Implementation) Traits specialization used by TestCaller to
|
||||
/*! \brief (Implementation) Traits specialization used by TestCaller to
|
||||
* expect no exception.
|
||||
*
|
||||
* This class is an implementation detail. You should never use this class directly.
|
||||
@@ -65,13 +65,13 @@ struct ExpectedExceptionTraits<NoExceptionExpected>
|
||||
/*! \brief Generate a test case from a fixture method.
|
||||
* \ingroup WritingTestFixture
|
||||
*
|
||||
* A test caller provides access to a test case method
|
||||
* on a test fixture class. Test callers are useful when
|
||||
* you want to run an individual test or add it to a
|
||||
* A test caller provides access to a test case method
|
||||
* on a test fixture class. Test callers are useful when
|
||||
* you want to run an individual test or add it to a
|
||||
* suite.
|
||||
* Test Callers invoke only one Test (i.e. test method) on one
|
||||
* Test Callers invoke only one Test (i.e. test method) on one
|
||||
* Fixture of a TestFixture.
|
||||
*
|
||||
*
|
||||
* Here is an example:
|
||||
* \code
|
||||
* class MathTest : public CppUnit::TestFixture {
|
||||
@@ -94,16 +94,16 @@ struct ExpectedExceptionTraits<NoExceptionExpected>
|
||||
*
|
||||
* You can use a TestCaller to bind any test method on a TestFixture
|
||||
* class, as long as it accepts void and returns void.
|
||||
*
|
||||
*
|
||||
* \see TestCase
|
||||
*/
|
||||
|
||||
template <typename Fixture,
|
||||
template <typename Fixture,
|
||||
typename ExpectedException = NoExceptionExpected>
|
||||
class TestCaller : public TestCase
|
||||
{
|
||||
{
|
||||
typedef void (Fixture::*TestMethod)();
|
||||
|
||||
|
||||
public:
|
||||
/*!
|
||||
* Constructor for TestCaller. This constructor builds a new Fixture
|
||||
@@ -111,8 +111,8 @@ public:
|
||||
* \param name name of this TestCaller
|
||||
* \param test the method this TestCaller calls in runTest()
|
||||
*/
|
||||
TestCaller( string name, TestMethod test ) :
|
||||
TestCase( name ),
|
||||
TestCaller( std::string name, TestMethod test ) :
|
||||
TestCase( name ),
|
||||
m_ownFixture( true ),
|
||||
m_fixture( new Fixture() ),
|
||||
m_test( test )
|
||||
@@ -120,7 +120,7 @@ public:
|
||||
}
|
||||
|
||||
/*!
|
||||
* Constructor for TestCaller.
|
||||
* Constructor for TestCaller.
|
||||
* This constructor does not create a new Fixture instance but accepts
|
||||
* an existing one as parameter. The TestCaller will not own the
|
||||
* Fixture object.
|
||||
@@ -128,16 +128,16 @@ public:
|
||||
* \param test the method this TestCaller calls in runTest()
|
||||
* \param fixture the Fixture to invoke the test method on.
|
||||
*/
|
||||
TestCaller(string name, TestMethod test, Fixture& fixture) :
|
||||
TestCase( name ),
|
||||
TestCaller(std::string name, TestMethod test, Fixture& fixture) :
|
||||
TestCase( name ),
|
||||
m_ownFixture( false ),
|
||||
m_fixture( &fixture ),
|
||||
m_test( test )
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/*!
|
||||
* Constructor for TestCaller.
|
||||
* Constructor for TestCaller.
|
||||
* This constructor does not create a new Fixture instance but accepts
|
||||
* an existing one as parameter. The TestCaller will own the
|
||||
* Fixture object and delete it in its destructor.
|
||||
@@ -145,15 +145,15 @@ public:
|
||||
* \param test the method this TestCaller calls in runTest()
|
||||
* \param fixture the Fixture to invoke the test method on.
|
||||
*/
|
||||
TestCaller(string name, TestMethod test, Fixture* fixture) :
|
||||
TestCase( name ),
|
||||
TestCaller(std::string name, TestMethod test, Fixture* fixture) :
|
||||
TestCase( name ),
|
||||
m_ownFixture( true ),
|
||||
m_fixture( fixture ),
|
||||
m_test( test )
|
||||
{
|
||||
}
|
||||
|
||||
~TestCaller()
|
||||
|
||||
~TestCaller()
|
||||
{
|
||||
if (m_ownFixture)
|
||||
delete m_fixture;
|
||||
@@ -161,7 +161,7 @@ public:
|
||||
|
||||
protected:
|
||||
void runTest()
|
||||
{
|
||||
{
|
||||
try {
|
||||
(m_fixture->*m_test)();
|
||||
}
|
||||
@@ -170,25 +170,25 @@ protected:
|
||||
}
|
||||
|
||||
ExpectedExceptionTraits<ExpectedException>::expectedException();
|
||||
}
|
||||
}
|
||||
|
||||
void setUp()
|
||||
{
|
||||
m_fixture->setUp ();
|
||||
{
|
||||
m_fixture->setUp ();
|
||||
}
|
||||
|
||||
void tearDown()
|
||||
{
|
||||
m_fixture->tearDown ();
|
||||
{
|
||||
m_fixture->tearDown ();
|
||||
}
|
||||
|
||||
string toString() const
|
||||
{
|
||||
return "TestCaller " + getName();
|
||||
std::string toString() const
|
||||
{
|
||||
return "TestCaller " + getName();
|
||||
}
|
||||
|
||||
private:
|
||||
TestCaller( const TestCaller &other );
|
||||
private:
|
||||
TestCaller( const TestCaller &other );
|
||||
TestCaller &operator =( const TestCaller &other );
|
||||
|
||||
private:
|
||||
|
||||
@@ -28,34 +28,34 @@ class CPPUNIT_API TestCase : public Test,
|
||||
{
|
||||
public:
|
||||
|
||||
TestCase( string Name );
|
||||
TestCase( std::string Name );
|
||||
//! \internal
|
||||
TestCase();
|
||||
~TestCase();
|
||||
|
||||
|
||||
virtual void run(TestResult *result);
|
||||
virtual int countTestCases() const;
|
||||
string getName() const;
|
||||
string toString() const;
|
||||
std::string getName() const;
|
||||
std::string toString() const;
|
||||
|
||||
//! FIXME: what is this for?
|
||||
virtual TestResult *run();
|
||||
|
||||
|
||||
protected:
|
||||
//! FIXME: this should probably be pure virtual.
|
||||
virtual void runTest();
|
||||
|
||||
//! Create TestResult for the run(void) method.
|
||||
TestResult *defaultResult();
|
||||
|
||||
|
||||
private:
|
||||
TestCase( const TestCase &other );
|
||||
TestCase &operator=( const TestCase &other );
|
||||
|
||||
TestCase( const TestCase &other );
|
||||
TestCase &operator=( const TestCase &other );
|
||||
|
||||
private:
|
||||
const string m_name;
|
||||
const std::string m_name;
|
||||
};
|
||||
|
||||
} // namespace CppUnit
|
||||
|
||||
#endif // CPPUNIT_TESTCASE_H
|
||||
#endif // CPPUNIT_TESTCASE_H
|
||||
|
||||
@@ -20,7 +20,7 @@ class Test;
|
||||
* TestFailure assumes lifetime control for any exception
|
||||
* passed to it.
|
||||
*/
|
||||
class CPPUNIT_API TestFailure
|
||||
class CPPUNIT_API TestFailure
|
||||
{
|
||||
public:
|
||||
TestFailure( Test *failedTest,
|
||||
@@ -37,9 +37,9 @@ public:
|
||||
|
||||
virtual bool isError() const;
|
||||
|
||||
virtual string failedTestName() const;
|
||||
|
||||
virtual string toString() const;
|
||||
virtual std::string failedTestName() const;
|
||||
|
||||
virtual std::string toString() const;
|
||||
|
||||
virtual TestFailure *clone() const;
|
||||
|
||||
@@ -48,9 +48,9 @@ protected:
|
||||
Exception *m_thrownException;
|
||||
bool m_isError;
|
||||
|
||||
private:
|
||||
TestFailure( const TestFailure &other );
|
||||
TestFailure &operator =( const TestFailure& other );
|
||||
private:
|
||||
TestFailure( const TestFailure &other );
|
||||
TestFailure &operator =( const TestFailure& other );
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -35,9 +35,9 @@ class TestListener;
|
||||
* TestResult supplies a template method 'setSynchronizationObject()'
|
||||
* so that subclasses can provide mutual exclusion in the face of multiple
|
||||
* threads. This can be useful when tests execute in one thread and
|
||||
* they fill a subclass of TestResult which effects change in another
|
||||
* they fill a subclass of TestResult which effects change in another
|
||||
* thread. To have mutual exclusion, override setSynchronizationObject()
|
||||
* and make sure that you create an instance of ExclusiveZone at the
|
||||
* and make sure that you create an instance of ExclusiveZone at the
|
||||
* beginning of each method.
|
||||
*
|
||||
* \see Test, TestListener, TestResultCollector, Outputter.
|
||||
@@ -63,13 +63,13 @@ public:
|
||||
|
||||
protected:
|
||||
void addFailure( const TestFailure &failure );
|
||||
|
||||
|
||||
protected:
|
||||
typedef deque<TestListener *> TestListeners;
|
||||
typedef std::deque<TestListener *> TestListeners;
|
||||
TestListeners m_listeners;
|
||||
bool m_stop;
|
||||
|
||||
private:
|
||||
private:
|
||||
TestResult( const TestResult &other );
|
||||
TestResult &operator =( const TestResult &other );
|
||||
};
|
||||
|
||||
@@ -25,8 +25,8 @@ namespace CppUnit
|
||||
/*! \brief Collects test result.
|
||||
* \ingroup WritingTestResult
|
||||
* \ingroup BrowsingCollectedTestResult
|
||||
*
|
||||
* A TestResultCollector is a TestListener which collects the results of executing
|
||||
*
|
||||
* A TestResultCollector is a TestListener which collects the results of executing
|
||||
* a test case. It is an instance of the Collecting Parameter pattern.
|
||||
*
|
||||
* The test framework distinguishes between failures and errors.
|
||||
@@ -38,8 +38,8 @@ namespace CppUnit
|
||||
class CPPUNIT_API TestResultCollector : public TestSucessListener
|
||||
{
|
||||
public:
|
||||
typedef deque<TestFailure *> TestFailures;
|
||||
typedef deque<Test *> Tests;
|
||||
typedef std::deque<TestFailure *> TestFailures;
|
||||
typedef std::deque<Test *> Tests;
|
||||
|
||||
|
||||
/*! Constructs a TestResultCollector object.
|
||||
|
||||
@@ -12,6 +12,9 @@
|
||||
#include <vector>
|
||||
#include <string>
|
||||
|
||||
using std::string;
|
||||
using std::vector;
|
||||
|
||||
namespace CppUnit {
|
||||
|
||||
class TestResult;
|
||||
@@ -36,7 +39,7 @@ class TestResult;
|
||||
* control for any tests added to them.
|
||||
*
|
||||
* TestSuites do not register themselves in the TestRegistry.
|
||||
* \see Test
|
||||
* \see Test
|
||||
* \see TestCaller
|
||||
*/
|
||||
|
||||
@@ -59,7 +62,7 @@ public:
|
||||
|
||||
private:
|
||||
TestSuite( const TestSuite &other );
|
||||
TestSuite &operator =( const TestSuite &other );
|
||||
TestSuite &operator =( const TestSuite &other );
|
||||
|
||||
private:
|
||||
vector<Test *> m_tests;
|
||||
|
||||
@@ -21,7 +21,7 @@ class CPPUNIT_API TextOutputter : public Outputter
|
||||
{
|
||||
public:
|
||||
TextOutputter( TestResultCollector *result,
|
||||
ostream &stream );
|
||||
std::ostream &stream );
|
||||
|
||||
/// Destructor.
|
||||
virtual ~TextOutputter();
|
||||
@@ -42,7 +42,7 @@ public:
|
||||
|
||||
protected:
|
||||
TestResultCollector *m_result;
|
||||
ostream &m_stream;
|
||||
std::ostream &m_stream;
|
||||
|
||||
private:
|
||||
/// Prevents the use of the copy constructor.
|
||||
|
||||
@@ -13,7 +13,7 @@ class Test;
|
||||
|
||||
/*! \brief Holds printable test result (DEPRECATED).
|
||||
* \ingroup TrackingTestExecution
|
||||
*
|
||||
*
|
||||
* deprecated Use class TextTestProgressListener and TextOutputter instead.
|
||||
*/
|
||||
class CPPUNIT_API TextTestResult : public TestResult,
|
||||
@@ -25,29 +25,29 @@ public:
|
||||
virtual void addFailure( Test *test, Exception *e );
|
||||
virtual void addFailure( const TestFailure &failure );
|
||||
virtual void startTest( Test *test );
|
||||
virtual void print( ostream &stream );
|
||||
virtual void printFailures( ostream &stream );
|
||||
virtual void printHeader( ostream &stream );
|
||||
virtual void print( std::ostream &stream );
|
||||
virtual void printFailures( std::ostream &stream );
|
||||
virtual void printHeader( std::ostream &stream );
|
||||
|
||||
virtual void printFailure( TestFailure *failure,
|
||||
int failureNumber,
|
||||
ostream &stream );
|
||||
std::ostream &stream );
|
||||
virtual void printFailureListMark( int failureNumber,
|
||||
ostream &stream );
|
||||
std::ostream &stream );
|
||||
virtual void printFailureTestName( TestFailure *failure,
|
||||
ostream &stream );
|
||||
std::ostream &stream );
|
||||
virtual void printFailureType( TestFailure *failure,
|
||||
ostream &stream );
|
||||
std::ostream &stream );
|
||||
virtual void printFailureLocation( SourceLine sourceLine,
|
||||
ostream &stream );
|
||||
std::ostream &stream );
|
||||
virtual void printFailureDetail( Exception *thrownException,
|
||||
ostream &stream );
|
||||
virtual void printFailureWarning( ostream &stream );
|
||||
virtual void printStatistics( ostream &stream );
|
||||
std::ostream &stream );
|
||||
virtual void printFailureWarning( std::ostream &stream );
|
||||
virtual void printStatistics( std::ostream &stream );
|
||||
};
|
||||
|
||||
/** insertion operator for easy output */
|
||||
ostream &operator <<( ostream &stream,
|
||||
std::ostream &operator <<( std::ostream &stream,
|
||||
TextTestResult &result );
|
||||
|
||||
} // namespace CppUnit
|
||||
|
||||
@@ -33,11 +33,11 @@ public:
|
||||
/*! Constructs a XmlOutputter object.
|
||||
* \param result Result of the test run.
|
||||
* \param stream Stream used to output the XML output.
|
||||
* \param encoding Encoding used in the XML file (default is Latin-1).
|
||||
* \param encoding Encoding used in the XML file (default is Latin-1).
|
||||
*/
|
||||
XmlOutputter( TestResultCollector *result,
|
||||
ostream &stream,
|
||||
string encoding = "ISO-8859-1" );
|
||||
std::ostream &stream,
|
||||
std::string encoding = "ISO-8859-1" );
|
||||
|
||||
/// Destructor.
|
||||
virtual ~XmlOutputter();
|
||||
@@ -56,33 +56,33 @@ public:
|
||||
class CPPUNIT_API Node
|
||||
{
|
||||
public:
|
||||
Node( string elementName,
|
||||
string content ="" );
|
||||
Node( string elementName,
|
||||
Node( std::string elementName,
|
||||
std::string content ="" );
|
||||
Node( std::string elementName,
|
||||
int numericContent );
|
||||
virtual ~Node();
|
||||
|
||||
void addAttribute( string attributeName,
|
||||
string value );
|
||||
void addAttribute( string attributeName,
|
||||
void addAttribute( std::string attributeName,
|
||||
std::string value );
|
||||
void addAttribute( std::string attributeName,
|
||||
int numericValue );
|
||||
void addNode( Node *node );
|
||||
|
||||
string toString() const;
|
||||
std::string toString() const;
|
||||
|
||||
private:
|
||||
typedef pair<string,string> Attribute;
|
||||
typedef std::pair<std::string,std::string> Attribute;
|
||||
|
||||
string attributesAsString() const;
|
||||
string escape( string value ) const;
|
||||
static string asString( int value );
|
||||
std::string attributesAsString() const;
|
||||
std::string escape( std::string value ) const;
|
||||
static std::string asString( int value );
|
||||
|
||||
private:
|
||||
string m_name;
|
||||
string m_content;
|
||||
typedef deque<Attribute> Attributes;
|
||||
std::string m_name;
|
||||
std::string m_content;
|
||||
typedef std::deque<Attribute> Attributes;
|
||||
Attributes m_attributes;
|
||||
typedef deque<Node *> Nodes;
|
||||
typedef std::deque<Node *> Nodes;
|
||||
Nodes m_nodes;
|
||||
};
|
||||
|
||||
@@ -90,7 +90,7 @@ public:
|
||||
virtual void writeProlog();
|
||||
virtual void writeTestsResult();
|
||||
|
||||
typedef map<Test *,TestFailure*> FailedTests;
|
||||
typedef std::map<Test *,TestFailure*> FailedTests;
|
||||
virtual Node *makeRootNode();
|
||||
virtual void addFailedTests( FailedTests &failedTests,
|
||||
Node *rootNode );
|
||||
@@ -103,7 +103,7 @@ public:
|
||||
Node *testsNode );
|
||||
virtual void addFailureLocation( TestFailure *failure,
|
||||
Node *testNode );
|
||||
virtual void addSucessfulTest( Test *test,
|
||||
virtual void addSucessfulTest( Test *test,
|
||||
int testNumber,
|
||||
Node *testsNode );
|
||||
protected:
|
||||
@@ -111,8 +111,8 @@ protected:
|
||||
|
||||
protected:
|
||||
TestResultCollector *m_result;
|
||||
ostream &m_stream;
|
||||
string m_encoding;
|
||||
std::ostream &m_stream;
|
||||
std::string m_encoding;
|
||||
|
||||
private:
|
||||
/// Prevents the use of the copy constructor.
|
||||
|
||||
@@ -14,17 +14,17 @@ class TestResult;
|
||||
*
|
||||
* Does not assume ownership of the test it decorates
|
||||
*/
|
||||
class CPPUNIT_API RepeatedTest : public TestDecorator
|
||||
class CPPUNIT_API RepeatedTest : public TestDecorator
|
||||
{
|
||||
public:
|
||||
RepeatedTest( Test *test,
|
||||
int timesRepeat ) :
|
||||
TestDecorator( test ),
|
||||
RepeatedTest( Test *test,
|
||||
int timesRepeat ) :
|
||||
TestDecorator( test ),
|
||||
m_timesRepeat(timesRepeat) {}
|
||||
|
||||
void run( TestResult *result );
|
||||
int countTestCases() const;
|
||||
string toString() const;
|
||||
std::string toString() const;
|
||||
|
||||
private:
|
||||
RepeatedTest( const RepeatedTest & );
|
||||
|
||||
@@ -16,8 +16,8 @@ class TestResult;
|
||||
* subclass the decorater and use it to wrap the test class.
|
||||
*
|
||||
* Does not assume ownership of the test it decorates
|
||||
*/
|
||||
class CPPUNIT_API TestDecorator : public Test
|
||||
*/
|
||||
class CPPUNIT_API TestDecorator : public Test
|
||||
{
|
||||
public:
|
||||
TestDecorator (Test *test);
|
||||
@@ -25,8 +25,8 @@ public:
|
||||
|
||||
void run (TestResult *result);
|
||||
int countTestCases () const;
|
||||
string getName () const;
|
||||
string toString () const;
|
||||
std::string getName () const;
|
||||
std::string toString () const;
|
||||
|
||||
protected:
|
||||
Test *m_test;
|
||||
@@ -53,11 +53,11 @@ inline void TestDecorator::run (TestResult *result)
|
||||
{ m_test->run (result); }
|
||||
|
||||
|
||||
inline string TestDecorator::toString () const
|
||||
inline std::string TestDecorator::toString () const
|
||||
{ return m_test->toString (); }
|
||||
|
||||
|
||||
inline string TestDecorator::getName () const
|
||||
inline std::string TestDecorator::getName () const
|
||||
{ return m_test->getName(); }
|
||||
|
||||
} // namespace CppUnit
|
||||
|
||||
@@ -66,7 +66,7 @@ class TestSuite;
|
||||
* CppUnit::TestSuite *suite = registry.makeTest();
|
||||
* \endcode
|
||||
*
|
||||
* Since a TestFactoryRegistry is a TestFactory, the named registries can be
|
||||
* Since a TestFactoryRegistry is a TestFactory, the named registries can be
|
||||
* registered in the unnamed registry, creating the hierarchy links.
|
||||
*
|
||||
* \see TestSuiteFactory, AutoRegisterSuite
|
||||
@@ -79,19 +79,19 @@ public:
|
||||
* \param name Name of the registry. It is the name of TestSuite returned by
|
||||
* makeTest().
|
||||
*/
|
||||
TestFactoryRegistry( string name = "All Tests" );
|
||||
TestFactoryRegistry( std::string name = "All Tests" );
|
||||
|
||||
/// Destructor.
|
||||
virtual ~TestFactoryRegistry();
|
||||
|
||||
/** Returns a new TestSuite that contains the registered test.
|
||||
* \return A new TestSuite which contains all the test added using
|
||||
* \return A new TestSuite which contains all the test added using
|
||||
* registerFactory(TestFactory *).
|
||||
*/
|
||||
virtual Test *makeTest();
|
||||
|
||||
/** Returns unnamed the registry.
|
||||
* TestSuite registered using CPPUNIT_TEST_SUITE_REGISTRATION() are registered
|
||||
* TestSuite registered using CPPUNIT_TEST_SUITE_REGISTRATION() are registered
|
||||
* in this registry.
|
||||
* \return Registry which name is "All Tests".
|
||||
*/
|
||||
@@ -104,7 +104,7 @@ public:
|
||||
* \return Registry. If the registry does not exist, it is created with the
|
||||
* specified name.
|
||||
*/
|
||||
static TestFactoryRegistry &getRegistry( const string &name );
|
||||
static TestFactoryRegistry &getRegistry( const std::string &name );
|
||||
|
||||
/** Adds the registered tests to the specified suite.
|
||||
* \param suite Suite the tests are added to.
|
||||
@@ -113,15 +113,15 @@ public:
|
||||
|
||||
/** Adds the specified TestFactory with a specific name (DEPRECATED).
|
||||
* \param name Name associated to the factory.
|
||||
* \param factory Factory to register.
|
||||
* \param factory Factory to register.
|
||||
* \deprecated Use registerFactory( TestFactory *) instead.
|
||||
*/
|
||||
void registerFactory( const string &name,
|
||||
void registerFactory( const std::string &name,
|
||||
TestFactory *factory );
|
||||
|
||||
/** Adds the specified TestFactory to the registry.
|
||||
*
|
||||
* \param factory Factory to register.
|
||||
* \param factory Factory to register.
|
||||
*/
|
||||
void registerFactory( TestFactory *factory );
|
||||
|
||||
@@ -130,10 +130,10 @@ private:
|
||||
void operator =( const TestFactoryRegistry © );
|
||||
|
||||
private:
|
||||
typedef map<string, TestFactory *> Factories;
|
||||
typedef std::map<std::string, TestFactory *> Factories;
|
||||
Factories m_factories;
|
||||
|
||||
string m_name;
|
||||
std::string m_name;
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace CppUnit {
|
||||
* the "class" prefix. If the name is not prefixed
|
||||
* by "class", it is returned as this.
|
||||
*/
|
||||
static string getClassName( const type_info &info );
|
||||
static std::string getClassName( const std::type_info &info );
|
||||
};
|
||||
|
||||
} // namespace CppUnit
|
||||
|
||||
Reference in New Issue
Block a user