function(cyranoptest test_arg)
  set(_NO_XML_OUTPUT )
  set(_WILL_FAIL )
  foreach(_ARG ${ARGN})
    if ( ${_ARG} MATCHES NO_XML_OUTPUT )
      set ( _NO_XML_OUTPUT ON)
    elseif ( ${_ARG} MATCHES WILL_FAIL)
      set ( _WILL_FAIL ON)
    else()
      message(FATAL_ERROR "cyranoptest: unsupported option '${_ARG}'")
    endif()
  endforeach(_ARG ${ARGN})
  list(APPEND _mtest_args --verbose=level0)
  list(APPEND _mtest_args  --result-file-output=false)
  list(APPEND _mtest_args  --@library@="$<TARGET_FILE:MFrontCyranoBehaviours>")
  list(APPEND _mtest_args  --@top_srcdir@=${PROJECT_SOURCE_DIR})
  if(_NO_XML_OUTPUT)
    list(APPEND _mtest_args --xml-output=false)
  else(_NO_XML_OUTPUT)
    list(APPEND _mtest_args --xml-output=true)
  endif(_NO_XML_OUTPUT)
  set(_test_file ${CMAKE_CURRENT_SOURCE_DIR}/cyrano${test_arg}.ptest)
  add_test(NAME cyrano${test_arg}_ptest
	  COMMAND mtest ${_mtest_args} ${_test_file})
  if(_WILL_FAIL)
    set_tests_properties(cyrano${test_arg}_ptest PROPERTIES WILL_FAIL true)
  endif(_WILL_FAIL)
  if(TFEL_APPEND_SUFFIX)
    install(FILES ${_test_file}
      DESTINATION "share/doc/mtest-${TFEL_SUFFIX}/tests/ptest/behaviours/cyrano"
      COMPONENT mtest)
  else(TFEL_APPEND_SUFFIX)
      install(FILES ${_test_file}
	      DESTINATION "share/doc/mtest/tests/ptest/behaviours/cyrano"
              COMPONENT mtest)
  endif(TFEL_APPEND_SUFFIX)
endfunction(cyranoptest)

cyranoptest(elasticity-linear)
cyranoptest(elasticity-quadratic)
cyranoptest(isotropic-elastic-linear)
cyranoptest(isotropic-elastic-quadratic)
cyranoptest(isotropic-elastic2-linear)
cyranoptest(isotropic-elastic2-quadratic)
cyranoptest(isotropic-thermoelastic-linear)
cyranoptest(isotropic-thermoelastic-quadratic)
#cyranoptest(nortonpipe1D-linear)
#cyranoptest(nortonpipe1D-quadratic)
#cyranoptest(norton2pipe1D-linear)
#cyranoptest(norton2pipe1D-quadratic)
cyranoptest(orthotropic-elastic-linear)
cyranoptest(orthotropic-elastic-quadratic)
cyranoptest(orthotropic-elastic2-linear)
cyranoptest(orthotropic-elastic2-quadratic)
cyranoptest(orthotropic-thermoelastic-linear)
cyranoptest(orthotropic-thermoelastic-quadratic)
cyranoptest(orthotropic-thermoelastic2-linear)
cyranoptest(orthotropic-thermoelastic2-quadratic)
cyranoptest(tightpipe-linear)
cyranoptest(tightpipe-quadratic)
cyranoptest(tightpipe-gd-linear)
cyranoptest(tightpipe-gd-quadratic)
