Commit Graph

33 Commits

Author SHA1 Message Date
Atgeirr Flø Rasmussen
8a1034a3cc Make runtest.sh also work on BSD/macOS.
In particular:
 - "wc -w" will have spaces in the output on BSD,
 - "python" defaults to python 3, so we must explicitly invoke python2.
2019-01-11 15:58:50 +01:00
Andreas Lauser
dc08a8b4dd use a custom parameter file parser
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.
2018-08-10 18:13:04 +02:00
Andreas Lauser
aa8aca077d test driver: add hack to only compare the output of the actual help message
it seems like some libraries print some mutable garbage to stdout on
startup or shutdown which causes test failures.
2016-10-28 12:57:02 +02:00
Andreas Lauser
c4b3864bca VTK output: start writing at sequence number 0
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.)
2016-08-13 12:41:59 +02:00
Andreas Lauser
7f942c7100 fix the regressions caused by PR#20
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.
2015-05-27 16:38:24 +02:00
Andreas Lauser
6f09c94d60 test driver: print the full command used for each test
this simplifies analyzing failed tests in the debugger...
2014-05-02 16:06:46 +02:00
Andreas Lauser
f3e2454b4e test driver script: fix off-by-one error when calculating the number of timesteps
(the initial solution also counts but was not counted.)
2014-04-27 21:41:03 +02:00
Andreas Lauser
a76b64bc56 refactoring: extend the TimeManager to become the Simulator
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...)
2014-04-27 19:12:32 +02:00
Andreas Lauser
55bb38118c problems: make the name() methods static
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).
2014-03-07 12:38:19 +01:00
Andreas Lauser
3479b659aa make sure not to run the restart test at the same time as the non-restarted test
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...
2014-03-06 17:10:57 +01:00
Andreas Lauser
2f8118e5a6 validate the results produced by the parallel tests
this implied a few changes to the "runtest.sh" script and requires
reference solutions...
2014-03-06 14:37:32 +01:00
Andreas Lauser
d9c4d1058e revert the output redirection stuff of ebdcba686ea10c5da5dd4f4da98f19ef388c2af4
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...
2013-11-26 12:20:26 +01:00
Andreas Lauser
79bfc102cc runtest.sh: fix shellcheck warninings
at least the ones which were no false positives
2013-11-25 15:04:16 +01:00
Andreas Lauser
537bf6a1bd parameter system: fix handling of --help/-h flag 2013-09-24 18:58:47 +02:00
Andreas Lauser
8276063c68 test driver: test -> tests 2013-09-24 18:33:28 +02:00
Andreas Lauser
2b4f07e18a make the tests work
i.e., update the CMakeLists* and tweak runtest.sh
2013-08-28 17:28:26 +02:00
Andreas Lauser
ec369207bc test runner script: be more verbose if something goes wrong 2013-02-07 19:44:15 +01:00
Andreas Lauser
bff2b8c72d add a third reference solution for the tutorial_coupled test 2013-02-07 19:44:15 +01:00
Andreas Lauser
75cbe3f132 test runner: more verbose output 2013-02-06 15:48:03 +01:00
Andreas Lauser
4a2b4ceb3b write the newton convergence for the restart test.
this slightly increases test coverage, and raises an alarm if
something goes horribly wrong in the code writing the convergence.
2013-01-30 22:46:24 +01:00
Andreas Lauser
973e5349f0 test runner: print some infos to ease debugging before comparing the simulation results 2013-01-30 15:39:10 +01:00
Andreas Lauser
fb0f3902ee update randomization once more
It turns out that using the output of base64 for filenames is not a
too good idea.
2013-01-25 11:31:37 +01:00
Andreas Lauser
896beaad90 (hopefully) better random number generation to avoid test failures 2013-01-24 23:28:57 +01:00
Andreas Lauser
03af1e1ecb fix testrunner
*grr* stupid mistakes!
2013-01-13 16:09:15 +01:00
Andreas Lauser
0a5b63f70e test runner: allow an arbitrary number of reference results
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).
2013-01-11 18:16:29 +01:00
Andreas Lauser
28a0fb487c test driver script: make it more robust
it does not get confused by the result files of previous runs
anymore...
2012-11-28 20:30:30 +01:00
Andreas Lauser
38d7b97157 CMake: Teach it good manners when it comes to caching
also improve testing by adding a restart test and making sure that
invalid parameter names are not accepted.
2012-10-29 18:48:10 +01:00
Andreas Lauser
93049a223d fix tests for test_diffusion, test_navierstokes 2012-10-23 16:55:44 +02:00
Andreas Lauser
63d554ff08 make the test runner script also work for semi-implicit simulations 2012-10-23 13:06:20 +02:00
Andreas Lauser
9f13b80118 improved unit testing
- 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.
2012-10-23 11:55:26 +02:00
Andreas Lauser
c601a65931 runtest.sh: make it work in parallel 2012-10-22 22:49:35 +02:00
Andreas Lauser
95ae6949d8 fix the CMake build
also, fix and simplify the CTest system
2012-10-19 19:39:53 +02:00
Andreas Lauser
12cffbb074 update reference solutions
also rename runTest.sh to runtest.sh and improve printed messages of
fuzzycompare.py slightly
2012-07-12 21:25:17 +02:00