Commit 6d7f89d5 authored by Spencer Sherwin's avatar Spencer Sherwin
Browse files

Merge branch 'master' into fix/FC_interpolator

parents 922c7be5 2db0ae69
......@@ -39,6 +39,7 @@ v4.4.0
- Fix bug in the calculation of the RHS magnitude in CG solver (!721)
- Fix bug in CMake Homebrew and MacPorts detection for OS X (!729)
- Fix bug in FieldUtils when using half mode expansions (!734)
- Fix bug in CMake PETSc detection for Ubuntu 16.04/Debian 9 (!735)
**ADRSolver:**
- Add a projection equation system for C^0 projections (!675)
......@@ -107,6 +108,9 @@ v4.4.0
- Add module to add composite ID of elements as a field (!674)
- Add reader for Nek5000 field files (!680)
**Tester:**
- Fix output not displayed on segfault or system error (!745)
v4.3.5
------
**Library:**
......
......@@ -139,6 +139,8 @@ OPTION(NEKTAR_BUILD_PACKAGES "Build Nektar++ binary packages" OFF)
MARK_AS_ADVANCED(NEKTAR_BUILD_PACKAGES)
OPTION(NEKTAR_TEST_ALL "Include full set of regression tests to this build." OFF)
OPTION(NEKTAR_TEST_USE_HOSTFILE "Use a hostfile to explicitly specify number of
slots." OFF)
# Meshing utilities and library
IF (NOT WIN32)
......
......@@ -225,6 +225,13 @@ show :
else ()
set (PETSC_LIBRARY_VEC "NOTFOUND" CACHE INTERNAL "Cleared" FORCE) # There is no libpetscvec
petsc_find_library (SINGLE petsc)
# Debian 9/Ubuntu 16.04 uses _real and _complex extensions when using libraries in /usr/lib/petsc.
if (NOT PETSC_LIBRARY_SINGLE)
petsc_find_library (SINGLE petsc_real)
endif()
if (NOT PETSC_LIBRARY_SINGLE)
petsc_find_library (SINGLE petsc_complex)
endif()
foreach (pkg SYS VEC MAT DM KSP SNES TS ALL)
set (PETSC_LIBRARIES_${pkg} "${PETSC_LIBRARY_SINGLE}")
endforeach ()
......
......@@ -212,12 +212,17 @@ int main(int argc, char *argv[])
#ifdef NEKTAR_TEST_FORCEMPIEXEC
#else
if (file.GetNProcesses() > 1)
if (file.GetNProcesses() > 1)
#endif
{
command += "@MPIEXEC@ @MPIEXEC_NUMPROC_FLAG@ "
+ boost::lexical_cast<string>(file.GetNProcesses())
+ " ";
if ("@NEKTAR_TEST_USE_HOSTFILE@" == "ON")
{
command += " -hostfile hostfile ";
system("echo 'localhost slots=12' > hostfile");
}
}
fs::path execPath = startDir / file.GetExecutable();
......@@ -231,12 +236,15 @@ int main(int argc, char *argv[])
command += file.GetParameters();
command += " 1>output.out 2>output.err";
status = 0;
string line;
// Run executable to perform test.
if (system(command.c_str()))
{
cerr << "Error occurred running test:" << endl;
cerr << "Command: " << command << endl;
throw 1;
status = 1;
}
// Check output files exist
......@@ -256,17 +264,18 @@ int main(int argc, char *argv[])
}
// Test against all metrics
status = 0;
string line;
for (int i = 0; i < metrics.size(); ++i)
if (status == 0)
{
vStdout.clear();
vStderr.clear();
vStdout.seekg(0, ios::beg);
vStderr.seekg(0, ios::beg);
if (!metrics[i]->Test(vStdout, vStderr))
for (int i = 0; i < metrics.size(); ++i)
{
status = 1;
vStdout.clear();
vStderr.clear();
vStdout.seekg(0, ios::beg);
vStderr.seekg(0, ios::beg);
if (!metrics[i]->Test(vStdout, vStderr))
{
status = 1;
}
}
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment