diff --git a/src/tests/UnitTesterHelper.cpp b/src/tests/UnitTesterHelper.cpp new file mode 100644 index 0000000000..ac834bfb27 --- /dev/null +++ b/src/tests/UnitTesterHelper.cpp @@ -0,0 +1,53 @@ +#include "UnitTesterHelper.h" +#include +#include + +// ##### Include headers for statically linked tests here ##### +//#include + +UnitTesterShell shell("OpenBeOS Unit Testing Framework", new SemaphoreSyncObject); + +int main(int argc, char *argv[]) { + // ##### Add test suites for statically linked tests here ##### +// shell.AddTest( "Example", ExampleTest::Suite() ); + + BTestShell::SetGlobalShell(&shell); + + // Load our dynamically linked tests + + return shell.Run(argc, argv); +} + +//const std::string UnitTesterShell::defaultLibDir = "./lib"; + +UnitTesterShell::UnitTesterShell(const std::string &description, SyncObject *syncObject) + : BTestShell(description, syncObject) +{ +} + +void +UnitTesterShell::PrintDescription(int argc, char *argv[]) { + std::string AppName = argv[0]; + cout << endl; + cout << "This program is the central testing framework for the purpose" << endl; + cout << "of testing and verifying the various kits, classes, functions," << endl; + cout << "and the like that comprise OpenBeOS." << endl; +} + +void +UnitTesterShell::PrintValidArguments() { + BTestShell::PrintValidArguments(); + cout << indent << "-obos Runs tests linked against our OpenBeOS libraries (*default*)" << endl; + cout << indent << "-r5 Runs tests linked against Be Inc.'s R5 libraries (instead" << endl; + cout << indent << " of our libraries) for the sake of comparison." << endl; +} + +void +UnitTesterShell::LoadDynamicSuites() { + // Add the appropriate test lib path + string defaultLibDir = string(GlobalTestDir()) + "/lib"; + fLibDirs.insert(defaultLibDir); + + // Load away + BTestShell::LoadDynamicSuites(); +} diff --git a/src/tests/UnitTesterHelper.h b/src/tests/UnitTesterHelper.h new file mode 100644 index 0000000000..a5fcf4078f --- /dev/null +++ b/src/tests/UnitTesterHelper.h @@ -0,0 +1,18 @@ +#ifndef __unit_tester_helper_h__ +#define __unit_tester_helper_h__ + +#include +#include + +class UnitTesterShell : public BTestShell { +public: + UnitTesterShell(const std::string &description = "", SyncObject *syncObject = 0); +protected: + virtual void PrintDescription(int argc, char *argv[]); + virtual void PrintValidArguments(); + virtual void LoadDynamicSuites(); +}; + +//extern UnitTesterShell shell; + +#endif // __unit_tester_helper_h__