Salome HOME
Merge branch 'V7_dev'
[modules/yacs.git] / src / SALOMEDS / Test / TestSALOMEDS.cxx
index 2d02b2829b795d4cbd100140e3f79e883f49a08d..759cd63fe56625cf0f6da5663d89ca81e97160cf 100644 (file)
@@ -1,25 +1,27 @@
-// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// 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
-// 
+//
 // 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 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 
+// 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.
 //
-// You should have received a copy of the GNU Lesser General Public  
-// License along with this library; if not, write to the Free Software 
+// 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
 //
 
 // --- include all SALOMEDS Test from basics until the present directory
-
+//
 #include "SALOMELocalTraceTest.hxx"
 #include "SALOMEDSImplTest.hxx"
 #include "SALOMEDSTest.hxx"
@@ -46,11 +48,16 @@ CPPUNIT_TEST_SUITE_REGISTRATION( SALOMEDSTest_Embedded );
 #include "utilities.h"
 #include "Utils_SINGLETON.hxx"
 #include "Utils_ORB_INIT.hxx"
-#include "OpUtil.hxx"
+#include "Basics_Utils.hxx"
 #include "SALOME_NamingService.hxx"
 #include "NamingService_WaitForServerReadiness.hxx"
 #include "SALOMEDS_StudyManager_i.hxx"
 
+#ifdef WIN32
+#include <winsock2.h>
+#define setenv Kernel_Utils::setenv
+#endif
+
 // ============================================================================
 /*!
  *  Main program source for Unit Tests with cppunit package does not depend
@@ -60,39 +67,17 @@ CPPUNIT_TEST_SUITE_REGISTRATION( SALOMEDSTest_Embedded );
 
 int main(int argc, char* argv[])
 {
-  // --- Run Salome without GUI
-
-  setenv("SALOME_trace", "file:./traceUnitTest.log", 1); // 1: overwrite
-
-  system("runSalome -t &");
-
-  // --- Wait till SALOMEDS server is launched
-  
-  char hostname[511];
-  int size;
-  gethostname(hostname, size);
-  char* chr_port = getenv("SALOMEDS_UNITTESTS_PORT");
-  string port;
-  if(chr_port) port = chr_port;
-  if(port.empty()) port = "2810";
-  string cfg_file = string(getenv("HOME"))+"/.omniORB_"+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);
-
-  string host; // = GetHostname();
+  std::string host; // = Kernel_Utils::GetHostname();
   char* wait_Superv = getenv("SALOMEDS_UNITTESTS_WAIT_SUPERVISOR");
-  if(wait_Superv) host = 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);
   }
 
@@ -103,32 +88,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
@@ -136,7 +121,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
 
@@ -155,17 +140,13 @@ 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.
 
   bool wasSucessful = result.wasSuccessful();
   testFile.close();
 
-  // --- Kill all created Salome process
-
-  system("killSalome.py");
-
   // ---  Return error code 1 if the one of test failed.
 
   return wasSucessful ? 0 : 1;