Salome HOME
custom test runner to run only a subset of complete test suite
[modules/hydro.git] / src / HYDRO_tests / test_HYDROData_Main.cxx
index e3796b370a7ffdbeaed00e5449ed66abb1d4f225..52b58728a34c1f218c55d6692405c5aba63f4e35 100644 (file)
 #include <cppunit/CompilerOutputter.h>
 #include <cppunit/TestResult.h>
 #include <cppunit/TestResultCollector.h>
-#include <cppunit/TestRunner.h>
 #include <cppunit/TextTestProgressListener.h>
 #include <stdexcept>
+#include <TestViewer.h>
+#include <TestLib_Runner.h>
+#include <OCCViewer_ViewWindow.h>
+#include <SUIT_Session.h>
+#include <QApplication>
+#include <QColor>
+#include <time.h>
 
-int 
-  main( int argc, char* argv[] )
+int main( int argc, char* argv[] )
 {
+  srand( time( 0 ) );
+
+  QApplication anApp( argc, argv );
+  SUIT_Session aSession;
+
+  OCCViewer_ViewWindow* aWindow = TestViewer::viewWindow();
+  aWindow->setGeometry( 200, 200, 800, 600 );
+  aWindow->show();
+
   std::string testPath = (argc > 1) ? std::string(argv[1]) : "";
 
   // Create the event manager and test controller
@@ -43,18 +57,20 @@ int
   CppUnit::TestFactoryRegistry& registry = 
     CppUnit::TestFactoryRegistry::getRegistry();
   // Add the top suite to the test runner
-  CppUnit::TestRunner runner;
+  TestLib_Runner runner;
+  QString aPath = qgetenv( "HYDRO_SRC_DIR" ) + "/src/tests.cfg";
+  runner.Load( aPath.toStdString() );
   runner.addTest( registry.makeTest() );   
   try
   {
     std::cout << "Running "  <<  testPath;
-    runner.run( controller, testPath );
+    runner.Run( controller );
 
     std::cerr << std::endl;
 
     // Print test in a compiler compatible format.
-    CppUnit::CompilerOutputter outputter( &result, std::cerr );
-    outputter.write();                      
+    CPPUNIT_NS::CompilerOutputter outputter( &result, CPPUNIT_NS::stdCOut() );
+    outputter.write();
   }
   catch ( std::invalid_argument &e )  // Test path not resolved
   {
@@ -64,5 +80,6 @@ int
     return 0;
   }
 
+  //anApp.exec();
   return result.wasSuccessful() ? 0 : 1;
 }