haiku/headers/tools/cppunit/TestCase.h
Tyler Dauwalder d1f6c38f0d Unit testing update:
- Verbosity is now honored globally
- Added BTestCase::Outputf()
- Migrated BNode, BStatable, BDirectory, and BPath tests
- Added CommonTestLib, TestLib, and R5TestLib rules to Jamrules
- Updated Jamfiles for unit testing stuff
- Probably a few other things I've forgotten


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@269 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-07-17 10:50:55 +00:00

40 lines
1.1 KiB
C++

#ifndef _beos_test_case_h_
#define _beos_test_case_h_
#include <cppunit/TestCase.h>
#include <StorageDefs.h>
#include <SupportDefs.h>
//! Base class for single threaded unit tests
class BTestCase : public CppUnit::TestCase {
public:
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.
void SaveCWD();
virtual void tearDown();
//! Restores the current working directory to last directory saved by a call to SaveCWD().
void RestoreCWD(const char *alternate = NULL);
protected:
//! Returns true if the current shell settings allow us to print to standard output.
bool BeVerbose();
bool fValidCWD;
char fCurrentWorkingDir[B_PATH_NAME_LENGTH+1];
int32 fSubTestNum;
};
#endif // _beos_test_case_h_