00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #define BOOST_TEST_DYN_LINK
00021
00022 #define BOOST_TEST_MODULE torc
00023
00024 bool init_unit_test(void);
00025 #include <boost/test/unit_test.hpp>
00026 #include "torc/common/DirectoryTree.hpp"
00027 #include <iostream>
00028
00029
00030 class RegressionFilter : public boost::unit_test::test_tree_visitor {
00031 public:
00032 virtual void visit(const boost::unit_test::test_case& inTestCase) {
00033 if(inTestCase.p_name.get().find("Regression") != std::string::npos) {
00034 inTestCase.p_enabled.set(false);
00035
00036 boost::unit_test::framework::master_test_suite().remove(inTestCase.p_id);
00037 }
00038 }
00039 virtual bool test_suite_start(const boost::unit_test::test_suite& inTestSuite) {
00040 if(inTestSuite.p_name.get().find("regression") != std::string::npos) {
00041 inTestSuite.p_enabled.set(false);
00042
00043 boost::unit_test::framework::master_test_suite().remove(inTestSuite.p_id);
00044 }
00045 return true;
00046 }
00047 };
00048
00049
00050 struct TestFixture {
00051 TestFixture(void) {
00052 boost::unit_test::log_level log_level =
00053 boost::unit_test::log_successful_tests
00054
00055
00056
00057
00058
00059
00060
00061
00062 ;
00063 boost::unit_test::unit_test_log.set_threshold_level(log_level);
00064
00065
00066 char**& argv = boost::unit_test::framework::master_test_suite().argv;
00067 int argc = boost::unit_test::framework::master_test_suite().argc;
00068 torc::common::DirectoryTree directoryTree(argv[0]);
00069
00070
00071 std::string regression("-regression");
00072 bool regressionRequested = false;
00073 for(int i = 1; i < argc; i++) {
00074 if(argv[i] == regression) {
00075 regressionRequested = true;
00076 break;
00077 }
00078 }
00079
00080
00081 if(regressionRequested == false) {
00082 std::cout << "NOTE: Disabling all regression tests. Use -regression to enable them."
00083 << std::endl;
00084 RegressionFilter regressionTestFilter;
00085 boost::unit_test::traverse_test_tree(boost::unit_test::framework::master_test_suite(),
00086 regressionTestFilter);
00087 }
00088 }
00089 };
00090
00091 BOOST_GLOBAL_FIXTURE(TestFixture)