Salome HOME
Merge branch 'V8_0_0_BR'
[modules/yacs.git] / src / SALOMEDS / Test / TestSALOMEDS.cxx
index 4d1d7ac4e39ac6bafc5d731546523c8aa318b0ea..c742383f98e7983802c5a7eda922ce13491ebd32 100644 (file)
@@ -1,24 +1,25 @@
-//  Copyright (C) 2007-2008  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2016  CEA/DEN, EDF R&D, OPEN CASCADE
 //
-//  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
-//  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
 //
-//  This library is free software; you can redistribute it and/or
-//  modify it under the terms of the GNU Lesser General Public
-//  License as published by the Free Software Foundation; either
-//  version 2.1 of the License.
+// This library is free software; you can redistribute it and/or
+// modify it under the terms of the GNU Lesser General Public
+// License as published by the Free Software Foundation; either
+// version 2.1 of the License, or (at your option) any later version.
 //
-//  This library 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
-//  Lesser General Public License for more details.
+// This library 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
+// Lesser General Public License for more details.
 //
-//  You should have received a copy of the GNU Lesser General Public
-//  License along with this library; if not, write to the Free Software
-//  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+// You should have received a copy of the GNU Lesser General Public
+// License along with this library; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
 //
-//  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
 //
+
 // --- include all SALOMEDS Test from basics until the present directory
 //
 #include "SALOMELocalTraceTest.hxx"
@@ -52,7 +53,9 @@ CPPUNIT_TEST_SUITE_REGISTRATION( SALOMEDSTest_Embedded );
 #include "NamingService_WaitForServerReadiness.hxx"
 #include "SALOMEDS_StudyManager_i.hxx"
 
-using namespace std;
+#ifdef WIN32
+#define setenv Kernel_Utils::setenv
+#endif
 
 // ============================================================================
 /*!
@@ -67,35 +70,40 @@ int main(int argc, char* argv[])
 
   setenv("SALOME_trace", "file:./traceUnitTest.log", 1); // 1: overwrite
 
-  system("runSalome -t &");
+  system("salome -t &");
 
   // --- Wait till SALOMEDS server is launched
-  
+
   char hostname[511];
   int size;
   gethostname(hostname, size);
   char* chr_port = getenv("SALOMEDS_UNITTESTS_PORT");
-  string port;
+  std::string port;
   if(chr_port) port = chr_port;
   if(port.empty()) port = "2810";
-  string cfg_file = string(getenv("HOME"))+"/.omniORB_"+string(hostname)+"_"+port+".cfg";
+  std::string cfg_file = std::string(getenv("HOME"))+"/.omniORB_"+std::string(hostname)+"_"+port+".cfg";
   setenv("OMNIORB_CONFIG", cfg_file.c_str(), 1);
 
   ORB_INIT &init = *SINGLETON_<ORB_INIT>::Instance() ;
   ASSERT(SINGLETON_<ORB_INIT>::IsAlreadyExisting());
   CORBA::ORB_var orb = init(argc , argv ) ;
 
-  sleep(15);
+  #ifndef WIN32
+    sleep(15);
+  #else
+    Sleep(15000);
+  #endif
 
-  string host; // = Kernel_Utils::GetHostname();
+
+  std::string host; // = Kernel_Utils::GetHostname();
   char* wait_Superv = getenv("SALOMEDS_UNITTESTS_WAIT_SUPERVISOR");
-  if(wait_Superv) host = Kernel_Utils::GetHostname(); 
+  if(wait_Superv) host = Kernel_Utils::GetHostname();
 
   SALOME_NamingService NS(orb);
   if(host.empty())
     NamingService_WaitForServerReadiness(&NS, "/myStudyManager");
   else {
-    string serverName = "/Containers/"+host+"/SuperVisionContainer";
+    std::string serverName = "/Containers/"+host+"/SuperVisionContainer";
     NamingService_WaitForServerReadiness(&NS, serverName);
   }
 
@@ -106,32 +114,32 @@ int main(int argc, char* argv[])
   }
 
   //Set up the environement for Embedded case
-  string kernel_root = getenv("KERNEL_ROOT_DIR");
+  std::string kernel_root = getenv("KERNEL_ROOT_DIR");
   CPPUNIT_ASSERT(!kernel_root.empty());
   kernel_root+="/share/salome/resources/kernel";
 
   CORBA::Object_var poaObj = orb->resolve_initial_references("RootPOA");
   if(!CORBA::is_nil(poaObj)) {
-               PortableServer::POA_var poa = PortableServer::POA::_narrow(poaObj);
+                PortableServer::POA_var poa = PortableServer::POA::_narrow(poaObj);
 
     SALOMEDS_StudyManager_i * aStudyManager_i = new  SALOMEDS_StudyManager_i(orb, poa);
     // Activate the objects.  This tells the POA that the objects are ready to accept requests.
     PortableServer::ObjectId_var aStudyManager_iid =  poa->activate_object(aStudyManager_i);
     aStudyManager_i->register_name("/myStudyManager_embedded");
-      
+
     // Obtain a POAManager, and tell the POA to start accepting
     // requests on its objects.
     PortableServer::POAManager_var pman = poa->the_POAManager();
     pman->activate();
   }
+
 
   // --- 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 );        
+  controller.addListener( &result );
 
   // ---  Add a listener that print dots as test run.
 #ifdef WIN32
@@ -139,7 +147,7 @@ int main(int argc, char* argv[])
 #else
   CPPUNIT_NS::BriefTestProgressListener progress;
 #endif
-  controller.addListener( &progress );      
+  controller.addListener( &progress );
 
   // ---  Get the top level suite from the registry
 
@@ -158,7 +166,7 @@ int main(int argc, char* argv[])
   testFile.open("UnitTestsResult", std::ios::out |  std::ios::trunc);
   //CPPUNIT_NS::CompilerOutputter outputter( &result, std::cerr );
   CPPUNIT_NS::CompilerOutputter outputter( &result, testFile );
-  outputter.write(); 
+  outputter.write();
 
   // ---  Run the tests.