Sort includes outside src/gromacs
[alexxy/gromacs.git] / src / programs / mdrun / tests / moduletest.cpp
index 91320d5f20871b05a89291e2d265a1b9efdee0b9..b9cb26f3549fc99a00f073e3091b3810c0867655 100644 (file)
  * \author Mark Abraham <mark.j.abraham@gmail.com>
  * \ingroup module_mdrun
  */
+#include "gmxpre.h"
+
 #include "moduletest.h"
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
+#include "config.h"
 
-#include "testutils/integrationtests.h"
-#include "testutils/testoptions.h"
-#include "testutils/cmdlinetest.h"
-#include "gromacs/options/options.h"
+#include "gromacs/gmxpreprocess/grompp.h"
 #include "gromacs/options/basicoptions.h"
+#include "gromacs/options/options.h"
+#include "gromacs/utility/basedefinitions.h"
+#include "gromacs/utility/basenetwork.h"
 #include "gromacs/utility/file.h"
-#include "gromacs/legacyheaders/network.h"
-#include "gromacs/legacyheaders/types/simple.h"
 #include "programs/mdrun/mdrun_main.h"
-#include "programs/gmx/legacycmainfunctions.h"
+
+#include "testutils/cmdlinetest.h"
+#include "testutils/integrationtests.h"
+#include "testutils/testoptions.h"
 
 namespace gmx
 {
@@ -65,27 +66,31 @@ namespace test
  * MdrunTestFixture
  */
 
-
-/*! /brief Number of tMPI threads for child mdrun call */
-static int gmx_unused numThreads = 1;
-/*! /brief Number of OpenMP threads for child mdrun call */
-static int gmx_unused numOpenMPThreads = 1;
-
 namespace
 {
 
+#if defined(GMX_THREAD_MPI) || defined(DOXYGEN)
+//! Number of tMPI threads for child mdrun call.
+int g_numThreads = 1;
+#endif
+#if defined(GMX_OPENMP) || defined(DOXYGEN)
+//! Number of OpenMP threads for child mdrun call.
+int g_numOpenMPThreads = 1;
+#endif
+//! \cond
 GMX_TEST_OPTIONS(MdrunTestOptions, options)
 {
     GMX_UNUSED_VALUE(options);
 #ifdef GMX_THREAD_MPI
-    options->addOption(IntegerOption("nt").store(&numThreads)
+    options->addOption(IntegerOption("nt").store(&g_numThreads)
                            .description("Number of thread-MPI threads/ranks for child mdrun call"));
 #endif
 #ifdef GMX_OPENMP
-    options->addOption(IntegerOption("nt_omp").store(&numOpenMPThreads)
+    options->addOption(IntegerOption("nt_omp").store(&g_numOpenMPThreads)
                            .description("Number of OpenMP threads for child mdrun call"));
 #endif
 }
+//! \endcond
 
 }
 
@@ -98,7 +103,8 @@ MdrunTestFixture::MdrunTestFixture() :
     mdpOutputFileName(fileManager_.getTemporaryFilePath("output.mdp")),
     tprFileName(fileManager_.getTemporaryFilePath(".tpr")),
     logFileName(fileManager_.getTemporaryFilePath(".log")),
-    edrFileName(fileManager_.getTemporaryFilePath(".edr"))
+    edrFileName(fileManager_.getTemporaryFilePath(".edr")),
+    nsteps(-2)
 {
 #ifdef GMX_LIB_MPI
     GMX_RELEASE_ASSERT(gmx_mpi_initialized(), "MPI system not initialized for mdrun tests");
@@ -146,16 +152,8 @@ MdrunTestFixture::useTopGroAndNdxFromDatabase(const char *name)
 }
 
 int
-MdrunTestFixture::callGrompp()
+MdrunTestFixture::callGromppOnThisRank()
 {
-#ifdef GMX_LIB_MPI
-    // When compiled with external MPI, only call one instance of the grompp function
-    if (0 != gmx_node_rank())
-    {
-        return 0;
-    }
-#endif
-
     CommandLine caller;
     caller.append("grompp");
     caller.addOption("-f", mdpInputFileName);
@@ -169,6 +167,20 @@ MdrunTestFixture::callGrompp()
     return gmx_grompp(caller.argc(), caller.argv());
 }
 
+int
+MdrunTestFixture::callGrompp()
+{
+#ifdef GMX_LIB_MPI
+    // When compiled with external MPI, only call one instance of the
+    // grompp function
+    if (0 != gmx_node_rank())
+    {
+        return 0;
+    }
+#endif
+    return callGromppOnThisRank();
+}
+
 int
 MdrunTestFixture::callMdrun(const CommandLine &callerRef)
 {
@@ -186,11 +198,16 @@ MdrunTestFixture::callMdrun(const CommandLine &callerRef)
 
     caller.addOption("-deffnm", fileManager_.getTemporaryFilePath("state"));
 
+    if (nsteps > -2)
+    {
+        caller.addOption("-nsteps", nsteps);
+    }
+
 #ifdef GMX_THREAD_MPI
-    caller.addOption("-nt", numThreads);
+    caller.addOption("-nt", g_numThreads);
 #endif
 #ifdef GMX_OPENMP
-    caller.addOption("-ntomp", numOpenMPThreads);
+    caller.addOption("-ntomp", g_numOpenMPThreads);
 #endif
 
     return gmx_mdrun(caller.argc(), caller.argv());