/* * Copyright (C) 2010-2011, Mathieu Labbe and IntRoLab - Universite de Sherbrooke * * This file is part of RTAB-Map. * * RTAB-Map is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * RTAB-Map is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with RTAB-Map. If not, see . */ #include #include #include #include #include #include #include #include #ifdef _MSC_VER // Use Visual C++'s memory checking functionality #define _CRTDBG_MAP_ALLOC #include #endif // _MSC_VER int main( int argc, char **argv) { #ifdef _MSC_VER //_crtBreakAlloc = 189; _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); #endif // _MSC_VER //Header of the test char header[150] = "-------------------------------------\n" "corelib Test\n" "-------------------------------------\n"; CPPUNIT_NS::stdCOut() << header; // Create the event manager and test controller CPPUNIT_NS::TestResult controller; // Add a listener that colllects test result CPPUNIT_NS::TestResultCollector result; controller.addListener(&result); // Add a listener that print dots as test run. CPPUNIT_NS::BriefTestProgressListener progress; controller.addListener(&progress); // Add the top suite to the test runner CPPUNIT_NS::TestRunner runner; runner.addTest(CPPUNIT_NS::TestFactoryRegistry::getRegistry().makeTest()); runner.run(controller); // Print test in a compiler compatible format. CPPUNIT_NS::CompilerOutputter outputter( &result, CPPUNIT_NS::stdCOut() ); outputter.write(); // If a path is passed in argument copy the result in it if (argc == 2) { std::ofstream myfile; myfile.open (argv[1]); CPPUNIT_NS::CompilerOutputter outputterFile( &result, myfile); myfile << header; outputterFile.write(); myfile.close(); } return 0; }