From e98aba3b225375ec26e1bc7cc80e2dca0c1ca257 Mon Sep 17 00:00:00 2001
From: Berenger Bramas <bbramas@mpcdf.mpg.de>
Date: Tue, 6 Dec 2016 12:02:12 +0100
Subject: [PATCH] debug test when using mpi

---
 UTests/utestAlgorithmBuilder.cpp | 32 ++++++++++++++++++++++++++++----
 1 file changed, 28 insertions(+), 4 deletions(-)

diff --git a/UTests/utestAlgorithmBuilder.cpp b/UTests/utestAlgorithmBuilder.cpp
index c27a034e1..1de96bbfe 100644
--- a/UTests/utestAlgorithmBuilder.cpp
+++ b/UTests/utestAlgorithmBuilder.cpp
@@ -31,8 +31,11 @@
 
 
 /** This class test the core algorithm builder */
+#ifndef SCALFMM_USE_MPI
 class TestBuilder : public FUTester<TestBuilder> {
-
+#else
+class TestBuilder : public FUTesterMpi<TestBuilder> {
+#endif
     void Test(){
         typedef double FReal;
         typedef FTestCell                   CellClass;
@@ -56,7 +59,13 @@ class TestBuilder : public FUTester<TestBuilder> {
             uassert(properties.dimOfBox == dim);
             uassert(properties.height == height);
 
-            FAbstractAlgorithm*const algo = FAlgorithmBuilder<FReal>::BuildAlgorithm<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass>(&tree, &kernel, 0, false);
+            FAbstractAlgorithm*const algo = FAlgorithmBuilder<FReal>::BuildAlgorithm<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass>(&tree, &kernel,
+#ifndef SCALFMM_USE_MPI
+                                                                                                                                                     0,
+#else
+                                                                                                                                                     MPI_COMM_WORLD,
+#endif
+                                                                                                                                                     false);
 #ifndef SCALFMM_USE_MPI
             uassert(dynamic_cast<FFmmAlgorithm<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass>*>(algo) != nullptr ||
                     dynamic_cast<FFmmAlgorithmThread<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass>*>(algo) != nullptr);
@@ -70,7 +79,13 @@ class TestBuilder : public FUTester<TestBuilder> {
             uassert(properties.dimOfBox != dim);
             uassert(properties.height      != height);
 
-            FAbstractAlgorithm*const algo = FAlgorithmBuilder<FReal>::BuildAlgorithm<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass>(&tree, &kernel, 0, true);
+            FAbstractAlgorithm*const algo = FAlgorithmBuilder<FReal>::BuildAlgorithm<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass>(&tree, &kernel,
+ #ifndef SCALFMM_USE_MPI
+                                                                                                                                                      0,
+ #else
+                                                                                                                                                      MPI_COMM_WORLD,
+ #endif
+                                                                                                                                                      true);
 #ifndef SCALFMM_USE_MPI
             uassert(dynamic_cast<FFmmAlgorithmPeriodic<FReal,OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass>*>(algo) != nullptr );
 #else
@@ -86,10 +101,19 @@ class TestBuilder : public FUTester<TestBuilder> {
     void SetTests(){
         AddTest(&TestBuilder::Test,"Test Algo Creation");
     }
+
+#ifdef SCALFMM_USE_MPI
+public:
+    TestBuilder(int argc,char ** argv) : FUTesterMpi(argc,argv){
+    }
+#endif
 };
 
 // You must do this
+#ifndef SCALFMM_USE_MPI
 TestClass(TestBuilder)
-
+#else
+TestClassMpi(TestBuilder)
+#endif
 
 
-- 
GitLab