Salome HOME
Merge remote-tracking branch 'remotes/origin/BR_2017' into BR_1427
[modules/hydro.git] / src / HYDRO_tests / test_HYDROData_Main.cxx
index 9d2951d1f5e098dcb5b7d70839396a28fc747b5e..9e5bab52f4b4d5f6c09f136f5f3a381b700f29f3 100644 (file)
 #define _DEVDEBUG_
 #include "HYDRO_trace.hxx"
 
+#ifdef WIN32
+QString REF_DATA_PATH = qgetenv( "HYDRO_ROOT_DIR" ) + "/bin/salome/test/HYDRO";
+QString TMP_DIR = QDir::tempPath();
+#else
+QString REF_DATA_PATH = qgetenv( "HYDRO_ROOT_DIR" ) + "/bin/salome/test/HYDRO/HYDRO";
+QString TMP_DIR = QDir::tempPath() + "/hydro";
+#endif
+
+
+int MAIN_W = 800, MAIN_H = 600;
+
 int main( int argc, char* argv[] )
 {
   QApplication anApp( argc, argv );
   SUIT_Session aSession;
   aSession.startApplication("std");
 
+  QDir().mkdir( TMP_DIR );
+
   OCCViewer_ViewFrame* aWindow = TestViewer::viewWindow();
 
-  int W = 800, H = 600;
-  aWindow->setGeometry( 200, 200, W, H );
+  aWindow->setGeometry( 400, 100, MAIN_W, MAIN_H );
   aWindow->show();
   QTest::qWaitForWindowExposed( aWindow );
 
   int dy = 34;
   //std::cout << dx << "," << dy << std::endl;
-  aWindow->resize( W, H+dy );
+  aWindow->resize( MAIN_W, MAIN_H+dy );
   anApp.processEvents();
 
   std::string testPath = (argc > 1) ? std::string(argv[1]) : "";
@@ -68,7 +80,11 @@ int main( int argc, char* argv[] )
     CppUnit::TestFactoryRegistry::getRegistry();
   // Add the top suite to the test runner
   TestLib_Runner runner;
+#ifdef WIN32
   QString aPath = qgetenv( "HYDRO_SRC_DIR" ) + "/src/tests.cfg";
+#else
+  QString aPath = "/tmp/hydro/tests.cfg";
+#endif
   runner.Load( aPath.toStdString() );
   runner.addTest( registry.makeTest() );   
   try
@@ -90,10 +106,24 @@ int main( int argc, char* argv[] )
     return 0;
   }
   bool isOK = result.wasSuccessful();
+
+#ifndef WIN32
   DEBTRACE("End of tests");
+#endif
+
   aWindow->close();
   aSession.closeSession();
   anApp.exit(!isOK);
+
+#ifndef WIN32
   DEBTRACE("--- TODO: exception on exit..."); // TODO: exception on exit...
+#endif
+
+  int ms = progress.GetCompleteTimeInMS();
+  printf( "\n\n" );
+  printf( "%i TESTS in %i SUITES\n", progress.GetNbTests(), progress.GetNbSuites() );
+  printf( "COMPLETE TESTS TIME: %i ms\n", ms );
+  progress.DumpFailures();
+
   return result.wasSuccessful() ? 0 : 1;
 }