#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 <OCCViewer_ViewWindow.h>
+#include <TestLib_Listener.h>
+#include <TestLib_Runner.h>
+#include <OCCViewer_ViewFrame.h>
#include <SUIT_Session.h>
#include <QApplication>
#include <QColor>
+#include <QTest>
-std::ostream& operator<<( std::ostream& theStream, const QString& theText )
-{
- theStream << theText.toStdString();
- return theStream;
-}
+#define _DEVDEBUG_
+#include "HYDRO_trace.hxx"
-std::ostream& operator<<( std::ostream& theStream, const QColor& theColor )
-{
- theStream << "[" << theColor.red() << ", " << theColor.green() << ", " << theColor.blue() << "]";
- return theStream;
-}
-#include <time.h>
+#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[] )
{
- srand( time( 0 ) );
-
QApplication anApp( argc, argv );
SUIT_Session aSession;
+ aSession.startApplication("std");
- OCCViewer_ViewWindow* aWindow = TestViewer::viewWindow();
- aWindow->setGeometry( 200, 200, 800, 600 );
+ QDir().mkdir( TMP_DIR );
+
+ OCCViewer_ViewFrame* aWindow = TestViewer::viewWindow();
+
+ aWindow->setGeometry( 400, 100, MAIN_W, MAIN_H );
aWindow->show();
+ QTest::qWaitForWindowExposed( aWindow );
+
+ int dy = 34;
+ //std::cout << dx << "," << dy << std::endl;
+ aWindow->resize( MAIN_W, MAIN_H+dy );
+ anApp.processEvents();
std::string testPath = (argc > 1) ? std::string(argv[1]) : "";
// Create the event manager and test controller
CppUnit::TestResult controller;
- // Add a listener that colllects test result
+ // Add a listener that collects test result
CppUnit::TestResultCollector result;
controller.addListener( &result );
// Add a listener that print dots as test run.
- CppUnit::TextTestProgressListener progress;
+ TestLib_Listener progress;
controller.addListener( &progress );
CppUnit::TestFactoryRegistry& registry =
CppUnit::TestFactoryRegistry::getRegistry();
// Add the top suite to the test runner
- CppUnit::TestRunner 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
{
- std::cout << "Running " << testPath;
- runner.run( controller, testPath );
+ std::cout << "Running tests " << testPath << "..." << std::endl;
+ runner.Run( controller );
std::cerr << std::endl;
<< std::endl;
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();
- //anApp.exec();
return result.wasSuccessful() ? 0 : 1;
}