Simple unit testing in fortran with cmake/ctest

I believe this is what you are looking for:

! succeed.f90
stop 0
end
! fail.f90
stop 1
end
# CMakeLists.txt
cmake_minimum_required(VERSION 3.12)
project(test_example LANGUAGES Fortran)

add_executable(succeed succeed.f90)
add_executable(fail fail.f90)

include(CTest)

add_test(NAME succeed COMMAND succeed)

add_test(NAME fail COMMAND fail)
set_property(TEST fail PROPERTY WILL_FAIL TRUE)
~/test_example/build$ ctest
Test project /Users/ivan/test_example/build
    Start 1: succeed
1/2 Test #1: succeed ..........................   Passed    0.21 sec
    Start 2: fail
2/2 Test #2: fail .............................   Passed    0.08 sec

100% tests passed, 0 tests failed out of 2

Total Test time (real) =   0.29 sec
3 Likes