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
.
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>
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
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.
elmerice/Tests/
☛ 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"); RUN $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>
INCLUDE(${CMAKE_CURRENT_SOURCE_DIR}/../test_macros.cmake) CONFIGURE_FILE(<sif_name>.sif <sif_name>.sif COPYONLY) ADD_ELMERICETEST_MODULE(<test_name> <module_name> <module_source.f90>) FILE(COPY ELMERSOLVER_STARTINFO <file1> <file2> <directory1> ...DESTINATION "${CMAKE_CURRENT_BINARY_DIR}/") ADD_ELMERICE_TEST(<test_name>) ADD_ELMERICE_LABEL(<test_name> <label>)
For label
If the test is < 10s, <label>=elmerice-fast
If the test is > 100s, <label>=slow
INCLUDE(${TEST_SOURCE}/../test_macros.cmake) EXECUTE_PROCESS(COMMAND <command_name> <arg1> <arg2> ...) RUN_ELMERICE_TEST()