This is done to run test programs in parallel that are not simulations,
and therefore do not produce the standard (for this module) pattern of
outputs for comparison.
this resolves#469.
since the arguments brought forward in that issue equally apply to the
tests which produce VTK files, and the willingness to manually update
reference results for these is likely even smaller, the results
produced by the eWoms integration tests are simply not validated
anymore besides the fact that the produced files must be non-empty.
Note that this only applies to the default build system; the
alternative system still does -- and will continue to -- validate the
results.
this segfaulted due to a small pecularity of the compareECL
utility. thanks to [at]akva2 for pointing this out.
Also, this updates the reference solutions for this test in an attempt
to fix the jenkins complaint: The test seems to be quite sensitive to
the used compiler flags and Jenkins is not able to update the
reference solutions yet.
this allows the key names to be transformed, i.e.,
```
enable-vtk=true
```
is now also possible in parameter files whereas before only CamelCase
parameter names like
```
EnableVtk=true
```
were valid. besides this, any valid Windows INI file that does not use
parameter groups should be readable, i.e., semicolons are now also
treated as a comment indicator.
i.e., in most cases the initial solution will be written into file
$SIM_NAME-00000.vtu and each time step will be written to the file
with the same number as the one printed during the simulation. (note
that this statement does not apply if the visualization files are not
written for all time steps.)
The most important issue was that PR#20 removed the possibility to use
a test driver script. In eWoms, this script is responsible for
(fuzzily) comparing the results of the test runs with reference
solutions, to test the simulators in parallel and compare the results,
and to make sure that the --help command continues to work as
intended.
the approach taken to bring this functionality back is to specify the
test driver script and its parameters using the new macro
'opm_set_test_driver(${DRIVER_COMMAND} ${DRIVER_DEFAULT_ARGUMENTS})'
before the first call to 'opm_add_test'. If no test driver is
specified, the binary is run 'naked', so nothing should change in this
case.
this patch requires the changes for opm-cmake to be merged first.
this also comes with moving responsibilities around and some smaller
cleanups for the grid creation. (although grid creation could be
possibly done by the simulator now, the GridCreator concept has not
been abandoned, yet...)
this allows to retrieve the name of the problem before it is
instantiated. this is required to be able to print the "Initializing
problem" message at the correct point (i.e., before instantiating the
problem).
normally, this should fine as it was before this patch because the
non-restarted tests produces more timesteps than the restarted one and
only the last file gets verified, but it used to be quite a hack and
one never knows, so it's wise to explicitly specify this as a
dependency.
Also, this change makes sure that ctest is aware of the number of
cores required by a test, which should lead to less contention...
it seems like shellcheck complains about this but once the order of
'>' and '2>&1' is reversed, bash does not like it anymore. since
making bash happy is way more important than shellcheck, let's revert
this part of the change...
if one of the files matches (fuzzyly, obviously), the test counts as
passed if none matches it counts as failed. this lets us add reference
results for hosts that need the same number of time steps, but for
whatever reason produce a different result. also, the number of time
steps required to produce the result do not matter anymore, as long as
the data is the same (in the fuzzy sense).
- run one simulation in parallel if MPI is available
- test the parameter passing infrastructure
- reduce end time of the navier stokes problem to 1e-3 to make it pass
on the first try
- add CUSTOM_CXX_FLAGS to CMakeLists.txt to allow passing compiler
flags from the command line to make clang shut up about the dune
issues it encounters.