Warning: Declaration of syntax_plugin_mathpublish::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /home/np29546/public_html/elmerice/wiki/lib/plugins/mathpublish/syntax.php on line 0

Warning: Declaration of syntax_plugin_mathpublish::render($mode, &$R, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /home/np29546/public_html/elmerice/wiki/lib/plugins/mathpublish/syntax.php on line 0

Warning: Cannot modify header information - headers already sent by (output started at /home/np29546/public_html/elmerice/wiki/lib/plugins/mathpublish/syntax.php:0) in /home/np29546/public_html/elmerice/wiki/inc/actions.php on line 38
compilation:tests [Elmer/Ice Wiki]


Recently, Elmer's code-homebase has been moving to GitHub.

Directory with test-cases can be found under [ELMER_TRUNK]/elmerice/Tests.

For some test-cases, more tools (.SIF, grd) are available under [ELMER_TRUNK]/elmerice/examples.

Run the tests

After building your installation of Elmer/Ice, you run the tests with the command line

ctest -L elmerice (run all Elmer/Ice tests)
ctest -L elmerice-fast (set of fast Elmer/Ice tests)
ctest -L elmerice-long (set of slow Elmer/Ice tests)
ctest -L netcdf (set of test using NetCDF library)

or to run only the tests whose names match the given regular expression

ctest -R <expression>


  • On screen

Run the tests will print some informations:

      Start  1: Teterousse3a
 1/36 Test  #1: Teterousse3a .....................***Passed    503.64 sec
      Start  2: Dating
 2/36 Test  #2: Dating ...........................***Passed    2.73 sec
  • In directory build/elmerice/Testing/Temporary/

We can find some files:
LastTest.log with all the details about the tests and
LastTestsFailed.log with the list of failed tests.

How to make cmake test-case

  • Create new directory under elmerice/Tests/
  • Define your analysis: .SIF file, mesh files, f-90 files and ELMERSOLVER_STARTINFO file

☛ In order to test a norm resulting from a solver <N>, add those lines at the end of .sif file

Solver 4 :: Reference Norm = real <norm>
Solver 4 :: Reference Norm Tolerance = Real <tol>
$fprintf( stderr, "TEST CASE 1\n");
$fprintf( stderr, "END TEST CASE 1: Target NRM=<norm>,EPS=<tol>\n" );

Equivalent to those lines inside the solver block to be tested

Reference Norm = real <norm>
Reference Norm Tolerance = Real <tol>
  • Create CMakeLists.txt file in the test directory with
CONFIGURE_FILE(<sif_name>.sif <sif_name>.sif COPYONLY)
ADD_ELMERICETEST_MODULE(<test_name> <module_name> <module_source.f90>)
ADD_ELMERICE_LABEL(<test_name> <label>)

For label
If the test is < 10s, <label>=elmerice-fast
If the test is > 100s, <label>=slow

  • Create runTest.cmake with
EXECUTE_PROCESS(COMMAND <command_name> <arg1> <arg2> ...)
compilation/tests.txt · Last modified: 2016/11/10 16:49 by ltavard
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0