From a05040e05fa608399b4f2a9d545a6a921a1201da Mon Sep 17 00:00:00 2001
From: Timo Koch <timo.koch@iws.uni-stuttgart.de>
Date: Wed, 24 Aug 2016 14:08:02 +0200
Subject: [PATCH] [fracture][test] Add a fracture 2p box test

---
 test/porousmediumflow/2p/implicit/CMakeLists.txt         | 6 +++++-
 test/porousmediumflow/2p/implicit/fractureproblem.hh     | 6 +++++-
 test/porousmediumflow/2p/implicit/test_fracture_box2p.cc | 6 ++++++
 3 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/test/porousmediumflow/2p/implicit/CMakeLists.txt b/test/porousmediumflow/2p/implicit/CMakeLists.txt
index 7c01028a78..c967b9b108 100644
--- a/test/porousmediumflow/2p/implicit/CMakeLists.txt
+++ b/test/porousmediumflow/2p/implicit/CMakeLists.txt
@@ -73,7 +73,11 @@ add_dumux_test(test_cc2pni test_cc2pni test_cc2pni.cc
 endif()
 
 add_dumux_test(test_fracture_box2p test_fracture_box2p test_fracture_box2p.cc
-               ${CMAKE_CURRENT_BINARY_DIR}/test_fracture_box2p)
+               python ${CMAKE_SOURCE_DIR}/bin/testing/runtest.py
+                 --script fuzzy
+                 --files ${CMAKE_SOURCE_DIR}/test/references/fracturebox2p-reference.vtu
+                         ${CMAKE_CURRENT_BINARY_DIR}/fracturebox-00024.vtu
+                 --command "${CMAKE_CURRENT_BINARY_DIR}/test_fracture_box2p")
 
 #install sources
 install(FILES
diff --git a/test/porousmediumflow/2p/implicit/fractureproblem.hh b/test/porousmediumflow/2p/implicit/fractureproblem.hh
index 277c9a4a40..a3ca342c93 100644
--- a/test/porousmediumflow/2p/implicit/fractureproblem.hh
+++ b/test/porousmediumflow/2p/implicit/fractureproblem.hh
@@ -45,7 +45,11 @@ namespace Properties
 NEW_TYPE_TAG(FractureProblem, INHERITS_FROM(TwoP, FractureSpatialParams));
 NEW_TYPE_TAG(FractureBoxProblem, INHERITS_FROM(BoxModel, FractureProblem));
 
+#if HAVE_DUNE_FOAMGRID
 SET_TYPE_PROP(FractureBoxProblem, Grid, Dune::FoamGrid<2, 3>);
+#else
+SET_TYPE_PROP(FractureBoxProblem, Grid, Dune::YaspGrid<3>);
+#endif
 
 // Set the problem property
 SET_TYPE_PROP(FractureProblem, Problem, Dumux::FractureProblem<TypeTag>);
@@ -241,7 +245,7 @@ public:
         values.setAllDirichlet();
 
         if (onInlet_(globalPos))
-            values.setNeumann(contiNEqIdx);
+            values.setAllNeumann();
         if (globalPos[2] > 1.0-eps_ || globalPos[2] < eps_)
             values.setAllNeumann();
     }
diff --git a/test/porousmediumflow/2p/implicit/test_fracture_box2p.cc b/test/porousmediumflow/2p/implicit/test_fracture_box2p.cc
index a30efae648..133f9962e6 100644
--- a/test/porousmediumflow/2p/implicit/test_fracture_box2p.cc
+++ b/test/porousmediumflow/2p/implicit/test_fracture_box2p.cc
@@ -41,6 +41,12 @@ void usage(const char *progName, const std::string &errorMsg)
 ////////////////////////
 int main(int argc, char** argv)
 {
+#if HAVE_DUNE_FOAMGRID
     typedef TTAG(FractureBoxProblem) TypeTag;
     return Dumux::start<TypeTag>(argc, argv, usage);
+#else
+#warning External grid module dune-foamgrid needed to run this example.
+    std::cerr << "Test skipped, it needs dune-foamgrid!" << std::endl;
+    return 77;
+#endif
 }
-- 
GitLab