Salome HOME
[bos #38048] [EDF] (2023-T3) PARAMEDMEM Ergonomy.
[tools/medcoupling.git] / src / ParaMEDMEMTest / ParaMEDMEMTest.hxx
index 6b8ac50369f6d7b03d2361cf7035646c76142973..fb2b339ec7f2df06aa7a1920fef042178547027a 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2014  CEA/DEN, EDF R&D
+// Copyright (C) 2007-2024  CEA, EDF
 //
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 class ParaMEDMEMTest : public CppUnit::TestFixture
 {
   CPPUNIT_TEST_SUITE( ParaMEDMEMTest );
-  CPPUNIT_TEST(testMPIProcessorGroup_constructor);
-  CPPUNIT_TEST(testMPIProcessorGroup_boolean);
-  CPPUNIT_TEST(testMPIProcessorGroup_rank);
-  CPPUNIT_TEST(testBlockTopology_constructor);
-  CPPUNIT_TEST(testBlockTopology_serialize);
-  CPPUNIT_TEST(testInterpKernelDEC_1D);
-  CPPUNIT_TEST(testInterpKernelDEC_2DCurve);
-  CPPUNIT_TEST(testInterpKernelDEC_2D);
-  CPPUNIT_TEST(testInterpKernelDEC2_2D);
-  CPPUNIT_TEST(testInterpKernelDEC_2DP0P1);
-  CPPUNIT_TEST(testInterpKernelDEC_3D);
-  CPPUNIT_TEST(testInterpKernelDECNonOverlapp_2D_P0P0);
-  CPPUNIT_TEST(testInterpKernelDECNonOverlapp_2D_P0P1P1P0);
-  CPPUNIT_TEST(testInterpKernelDEC2DM1D_P0P0);
-  CPPUNIT_TEST(testInterpKernelDECPartialProcs);
-  CPPUNIT_TEST(testInterpKernelDEC3DSurfEmptyBBox);
-  CPPUNIT_TEST(testOverlapDEC1);
-
-  CPPUNIT_TEST(testSynchronousEqualInterpKernelWithoutInterpNativeDEC_2D);
-  CPPUNIT_TEST(testSynchronousEqualInterpKernelWithoutInterpDEC_2D);
-  CPPUNIT_TEST(testSynchronousEqualInterpKernelDEC_2D);
-  CPPUNIT_TEST(testSynchronousFasterSourceInterpKernelDEC_2D);
-  CPPUNIT_TEST(testSynchronousSlowerSourceInterpKernelDEC_2D);
-  CPPUNIT_TEST(testSynchronousSlowSourceInterpKernelDEC_2D);
-  CPPUNIT_TEST(testSynchronousFastSourceInterpKernelDEC_2D);
-  CPPUNIT_TEST(testAsynchronousEqualInterpKernelDEC_2D);
-  CPPUNIT_TEST(testAsynchronousFasterSourceInterpKernelDEC_2D);
-  CPPUNIT_TEST(testAsynchronousSlowerSourceInterpKernelDEC_2D);
-  CPPUNIT_TEST(testAsynchronousSlowSourceInterpKernelDEC_2D);
-  CPPUNIT_TEST(testAsynchronousFastSourceInterpKernelDEC_2D);
+  CPPUNIT_TEST(testMPIProcessorGroup_constructor);  // 1 and 2 procs
+  CPPUNIT_TEST(testMPIProcessorGroup_boolean);      // 1 and 2 procs
+  CPPUNIT_TEST(testMPIProcessorGroup_rank);         // >=2 procs
+  CPPUNIT_TEST(testBlockTopology_constructor);      // >=2 procs
+  CPPUNIT_TEST(testBlockTopology_serialize);        // 1 proc
+  CPPUNIT_TEST(testInterpKernelDEC_1D);             // 5 procs
+  CPPUNIT_TEST(testInterpKernelDEC_2DCurve);        // 5 procs
+  CPPUNIT_TEST(testInterpKernelDEC_2D);             // 5 procs
+  CPPUNIT_TEST(testInterpKernelDEC2_2D);            // 5 procs
+  CPPUNIT_TEST(testInterpKernelDEC_2DP0P1);         // Not impl.
+  CPPUNIT_TEST(testInterpKernelDEC_3D);             // 3 procs
+  CPPUNIT_TEST(testInterpKernelDECNonOverlapp_2D_P0P0);     // 5 procs
+  CPPUNIT_TEST(testInterpKernelDECNonOverlapp_2D_P0P1P1P0); // 5 procs
+  CPPUNIT_TEST(testInterpKernelDEC2DM1D_P0P0);      // 3 procs
+  CPPUNIT_TEST(testInterpKernelDECPartialProcs);    // 3 procs
+  CPPUNIT_TEST(testInterpKernelDEC3DSurfEmptyBBox); // 3 procs
+  CPPUNIT_TEST(testOverlapDEC1);                    // 3 procs
+  CPPUNIT_TEST(testOverlapDEC1_bis);                // 3 procs
+  CPPUNIT_TEST(testOverlapDEC1_ter);                // 3 procs
+  CPPUNIT_TEST(testOverlapDEC2);                    // 3 procs
+  CPPUNIT_TEST(testOverlapDEC2_bis);                // 3 procs
+  CPPUNIT_TEST(testOverlapDEC2_ter);                // 3 procs
+//  CPPUNIT_TEST(testOverlapDEC3);                    // 2 procs
+//  CPPUNIT_TEST(testOverlapDEC4);                    // 2 procs
+  CPPUNIT_TEST(testByStringMPIProcessorGroup_constructor);        // 1 and 2 procs
+  CPPUNIT_TEST(testByStringMPIProcessorGroup_stringconstructor);  // 3 procs
+  CPPUNIT_TEST(testSynchronousEqualInterpKernelWithoutInterpNativeDEC_2D);// 5 procs
+  CPPUNIT_TEST(testSynchronousEqualInterpKernelWithoutInterpDEC_2D);      // 5 procs
+  CPPUNIT_TEST(testSynchronousEqualInterpKernelDEC_2D);                   // 5 procs
+  CPPUNIT_TEST(testSynchronousFasterSourceInterpKernelDEC_2D);            // 5 procs
+  CPPUNIT_TEST(testSynchronousSlowerSourceInterpKernelDEC_2D);            // 5 procs
+  CPPUNIT_TEST(testSynchronousSlowSourceInterpKernelDEC_2D);              // 5 procs
+  CPPUNIT_TEST(testSynchronousFastSourceInterpKernelDEC_2D);              // 5 procs
+  CPPUNIT_TEST(testAsynchronousEqualInterpKernelDEC_2D);                  // 5 procs
+  CPPUNIT_TEST(testAsynchronousFasterSourceInterpKernelDEC_2D);           // 5 procs
+  CPPUNIT_TEST(testAsynchronousSlowerSourceInterpKernelDEC_2D);           // 5 procs
+  CPPUNIT_TEST(testAsynchronousSlowSourceInterpKernelDEC_2D);             // 5 procs
+  CPPUNIT_TEST(testAsynchronousFastSourceInterpKernelDEC_2D);             // 5 procs
 #ifdef MED_ENABLE_FVM
   //can be added again after FVM correction for 2D
   //  CPPUNIT_TEST(testNonCoincidentDEC_2D);
-  CPPUNIT_TEST(testNonCoincidentDEC_3D); 
+  CPPUNIT_TEST(testNonCoincidentDEC_3D);
 #endif
-  CPPUNIT_TEST(testStructuredCoincidentDEC);
-  CPPUNIT_TEST(testStructuredCoincidentDEC);
-  CPPUNIT_TEST(testICocoTrio1);
-  CPPUNIT_TEST(testGauthier1);
-  CPPUNIT_TEST(testGauthier2);
-  CPPUNIT_TEST(testGauthier3);
-  CPPUNIT_TEST(testGauthier4);
-  CPPUNIT_TEST(testFabienAPI1);
-  CPPUNIT_TEST(testFabienAPI2);
-  CPPUNIT_TEST(testMEDLoaderRead1);
-  CPPUNIT_TEST(testMEDLoaderPolygonRead);
-  CPPUNIT_TEST(testMEDLoaderPolyhedronRead);
+  CPPUNIT_TEST(testStructuredCoincidentDEC);     // 5 procs
+  CPPUNIT_TEST(testICoco1);           // 2 procs
+  CPPUNIT_TEST(testGauthier1);        // 4 procs
+  CPPUNIT_TEST(testGauthier2);        // >= 2 procs
+  CPPUNIT_TEST(testGauthier3_1);      // 4 procs
+  CPPUNIT_TEST(testGauthier3_2);      // 4 procs
+  CPPUNIT_TEST(testGauthier3_3);      // 5 procs
+  CPPUNIT_TEST(testGauthier3_4);      // 5 procs
+  CPPUNIT_TEST(testGauthier4);        // 3 procs
+  CPPUNIT_TEST(testFabienAPI1);       // 3 procs
+  CPPUNIT_TEST(testFabienAPI2);       // 3 procs
+
+  CPPUNIT_TEST(testParallelLoad1);   // 2 procs
+  CPPUNIT_TEST(testParallelLoad2);   // 3 procs
+  CPPUNIT_TEST(testParallelLoad3);   // 2 procs
+  CPPUNIT_TEST(testParallelLoad4);   // 2 procs
+  CPPUNIT_TEST(testParallelLoad5);   // 2 procs
   CPPUNIT_TEST_SUITE_END();
-  
 
 public:
  
@@ -104,6 +116,16 @@ public:
   void testInterpKernelDECPartialProcs();
   void testInterpKernelDEC3DSurfEmptyBBox();
   void testOverlapDEC1();
+  void testOverlapDEC1_bis();
+  void testOverlapDEC1_ter();
+  void testOverlapDEC2();
+  void testOverlapDEC2_bis();
+  void testOverlapDEC2_ter();
+  void testOverlapDEC3();
+//  void testOverlapDEC3_bis();
+  void testOverlapDEC4();
+  void testByStringMPIProcessorGroup_constructor();
+  void testByStringMPIProcessorGroup_stringconstructor();
 #ifdef MED_ENABLE_FVM
   void testNonCoincidentDEC_2D();
   void testNonCoincidentDEC_3D();
@@ -123,21 +145,23 @@ public:
   void testAsynchronousSlowSourceInterpKernelDEC_2D();
   void testAsynchronousFastSourceInterpKernelDEC_2D();
   //
-  void testICocoTrio1();
+  void testICoco1();
   void testGauthier1();
   void testGauthier2();
-  void testGauthier3();
+  void testGauthier3_1();
+  void testGauthier3_2();
+  void testGauthier3_3();
+  void testGauthier3_4();
   void testGauthier4();
   void testFabienAPI1();
   void testFabienAPI2();
-  //
-  void testMEDLoaderRead1();
-  void testMEDLoaderPolygonRead();
-  void testMEDLoaderPolyhedronRead();
-  void testMEDLoaderWrite1();
-  void testMEDLoaderPolygonWrite();
 
-  std::string getResourceFile( const std::string& );
+  void testParallelLoad1();
+  void testParallelLoad2();
+  void testParallelLoad3();
+  void testParallelLoad4();
+  void testParallelLoad5();
+
   std::string getTmpDirectory();
   std::string makeTmpFile( const std::string&, const std::string& = "" );
 
@@ -155,6 +179,9 @@ private:
   void testInterpKernelDEC_2D_(const char *srcMeth, const char *targetMeth);
   void testInterpKernelDEC2_2D_(const char *srcMeth, const char *targetMeth);
   void testInterpKernelDEC_3D_(const char *srcMeth, const char *targetMeth);
+  void testGauthier3_GEN(bool, int);
+
+
 };
 
 // to automatically remove temporary files from disk