ESMF_StdCompMethodsUTest Program

Uses

  • program~~esmf_stdcompmethodsutest~~UsesGraph program~esmf_stdcompmethodsutest ESMF_StdCompMethodsUTest module~esmf ESMF program~esmf_stdcompmethodsutest->module~esmf module~esmf_stdcompmethods_mod ESMF_StdCompMethods_mod program~esmf_stdcompmethodsutest->module~esmf_stdcompmethods_mod module~esmf_testmod ESMF_TestMod program~esmf_stdcompmethodsutest->module~esmf_testmod

Calls

program~~esmf_stdcompmethodsutest~~CallsGraph program~esmf_stdcompmethodsutest ESMF_StdCompMethodsUTest esmf_cplcompsetservices esmf_cplcompsetservices program~esmf_stdcompmethodsutest->esmf_cplcompsetservices esmf_cplcompsetvm esmf_cplcompsetvm program~esmf_stdcompmethodsutest->esmf_cplcompsetvm esmf_gridcompsetservices esmf_gridcompsetservices program~esmf_stdcompmethodsutest->esmf_gridcompsetservices esmf_gridcompsetvm esmf_gridcompsetvm program~esmf_stdcompmethodsutest->esmf_gridcompsetvm proc~esmf_cplcompcreate ESMF_CplCompCreate program~esmf_stdcompmethodsutest->proc~esmf_cplcompcreate proc~esmf_cplcompdestroy ESMF_CplCompDestroy program~esmf_stdcompmethodsutest->proc~esmf_cplcompdestroy proc~esmf_cplcompfinalize ESMF_CplCompFinalize program~esmf_stdcompmethodsutest->proc~esmf_cplcompfinalize proc~esmf_cplcompinitialize ESMF_CplCompInitialize program~esmf_stdcompmethodsutest->proc~esmf_cplcompinitialize proc~esmf_cplcompreadrestart ESMF_CplCompReadRestart program~esmf_stdcompmethodsutest->proc~esmf_cplcompreadrestart proc~esmf_cplcomprun ESMF_CplCompRun program~esmf_stdcompmethodsutest->proc~esmf_cplcomprun proc~esmf_cplcompwriterestart ESMF_CplCompWriteRestart program~esmf_stdcompmethodsutest->proc~esmf_cplcompwriterestart proc~esmf_finalize ESMF_Finalize program~esmf_stdcompmethodsutest->proc~esmf_finalize proc~esmf_gridcompcreate ESMF_GridCompCreate program~esmf_stdcompmethodsutest->proc~esmf_gridcompcreate proc~esmf_gridcompdestroy ESMF_GridCompDestroy program~esmf_stdcompmethodsutest->proc~esmf_gridcompdestroy proc~esmf_gridcompfinalize ESMF_GridCompFinalize program~esmf_stdcompmethodsutest->proc~esmf_gridcompfinalize proc~esmf_gridcompinitialize ESMF_GridCompInitialize program~esmf_stdcompmethodsutest->proc~esmf_gridcompinitialize proc~esmf_gridcompreadrestart ESMF_GridCompReadRestart program~esmf_stdcompmethodsutest->proc~esmf_gridcompreadrestart proc~esmf_gridcomprun ESMF_GridCompRun program~esmf_stdcompmethodsutest->proc~esmf_gridcomprun proc~esmf_gridcompwriterestart ESMF_GridCompWriteRestart program~esmf_stdcompmethodsutest->proc~esmf_gridcompwriterestart proc~esmf_test ESMF_Test program~esmf_stdcompmethodsutest->proc~esmf_test proc~esmf_testend ESMF_TestEnd program~esmf_stdcompmethodsutest->proc~esmf_testend proc~esmf_teststart ESMF_TestStart program~esmf_stdcompmethodsutest->proc~esmf_teststart proc~esmf_vmgetglobal ESMF_VMGetGlobal program~esmf_stdcompmethodsutest->proc~esmf_vmgetglobal proc~esmf_vmprint ESMF_VMPrint program~esmf_stdcompmethodsutest->proc~esmf_vmprint

Variables

Type Attributes Name Initial
character(len=*), parameter :: version = '$Id$'
character(len=ESMF_MAXSTR) :: failMsg
character(len=ESMF_MAXSTR) :: name
integer :: i
integer :: j
integer :: rc
integer :: result = 0
type(ESMF_CplComp) :: cplcomp
type(ESMF_GridComp) :: gcomp
type(ESMF_VM) :: vm

Source Code

program ESMF_StdCompMethodsUTest

!------------------------------------------------------------------------------
 
#include "ESMF_Macros.inc"

!==============================================================================
!BOP
! !PROGRAM: ESMF_VMComponentUTest - Unit test for VM/Component interaction
!
! !DESCRIPTION:
!
! The code in this file drives the F90 VM/Component test.
!
!-----------------------------------------------------------------------------
! !USES:
  use ESMF_TestMod     ! test methods
  use ESMF
  use ESMF_StdCompMethods_mod

  implicit none

!------------------------------------------------------------------------------
  ! The following line turns the CVS identifier string into a printable variable.
  character(*), parameter :: version = &
    '$Id$'
!------------------------------------------------------------------------------
  ! cumulative result: count failures; no failures equals "all pass"
  integer :: result = 0

  ! individual test failure message
  character(ESMF_MAXSTR) :: failMsg
  character(ESMF_MAXSTR) :: name

  ! local variables
  integer:: i, j, rc
  type(ESMF_VM):: vm
  type(ESMF_GridComp):: gcomp
  type(ESMF_CplComp):: cplcomp
  
!------------------------------------------------------------------------------
! The unit tests are divided into Sanity and Exhaustive. The Sanity tests are
! always run. When the environment variable, EXHAUSTIVE, is set to ON then
! the EXHAUSTIVE and sanity tests both run. If the EXHAUSTIVE variable is set
! Special strings (Non-exhaustive and exhaustive) have been
! added to allow a script to count the number and types of unit tests.
!------------------------------------------------------------------------------

  call ESMF_TestStart(ESMF_SRCLINE, rc=rc)
  if (rc /= ESMF_SUCCESS) call ESMF_Finalize(endflag=ESMF_END_ABORT)

  ! Get global VM and print info
  call ESMF_VMGetGlobal(vm, rc=rc)
  call ESMF_VMPrint(vm)
  
  
  ! - Gridded Component Tests -----------------------------------------------
  
  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component Create() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  gcomp = ESMF_GridCompCreate(name='My gridded component', rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)
  
  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component SetVM() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_GridCompSetVM(gcomp, userRoutine=gcomp_setvm, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component SetServices() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_GridCompSetServices(gcomp, userRoutine=gcomp_register, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component Initialize() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_GridCompInitialize(gcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component Initialize() Test - with timeout"
  write(failMsg, *) "Did return ESMF_SUCCESS"
  call ESMF_GridCompInitialize(gcomp, timeout=10, rc=rc)
  call ESMF_Test((rc.ne.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component Run() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_GridCompRun(gcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component Run() Test - with timeout"
  write(failMsg, *) "Did return ESMF_SUCCESS"
  call ESMF_GridCompRun(gcomp, timeout=10, rc=rc)
  call ESMF_Test((rc.ne.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component Finalize() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_GridCompFinalize(gcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component Finalize() Test - with timeout"
  write(failMsg, *) "Did return ESMF_SUCCESS"
  call ESMF_GridCompFinalize(gcomp, timeout=10, rc=rc)
  call ESMF_Test((rc.ne.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component WriteRestart() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_GridCompWriteRestart(gcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component WriteRestart() Test - with timeout"
  write(failMsg, *) "Did return ESMF_SUCCESS"
  call ESMF_GridCompWriteRestart(gcomp, timeout=10, rc=rc)
  call ESMF_Test((rc.ne.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component ReadRestart() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_GridCompReadRestart(gcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component ReadRestart() Test - with timeout"
  write(failMsg, *) "Did return ESMF_SUCCESS"
  call ESMF_GridCompReadRestart(gcomp, timeout=10, rc=rc)
  call ESMF_Test((rc.ne.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Gridded Component Destroy() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_GridCompDestroy(gcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)
      

  ! - Coupler Component Tests w/ cplcomp_setvm1 -----------------------------

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Create() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  cplcomp = ESMF_CplCompCreate(name='My coupler component', rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)
  
  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component SetVM() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompSetVM(cplcomp, userRoutine=cplcomp_setvm1, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component SetServices() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompSetServices(cplcomp, userRoutine=cplcomp_register, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Initialize() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompInitialize(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Initialize() Test - with timeout"
  write(failMsg, *) "Did return ESMF_SUCCESS"
  call ESMF_CplCompInitialize(cplcomp, timeout=10, rc=rc)
  call ESMF_Test((rc.ne.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Run() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompRun(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Run() Test - with timeout"
  write(failMsg, *) "Did return ESMF_SUCCESS"
  call ESMF_CplCompRun(cplcomp, timeout=10, rc=rc)
  call ESMF_Test((rc.ne.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Finalize() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompFinalize(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Finalize() Test - with timeout"
  write(failMsg, *) "Did return ESMF_SUCCESS"
  call ESMF_CplCompFinalize(cplcomp, timeout=10, rc=rc)
  call ESMF_Test((rc.ne.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component WriteRestart() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompWriteRestart(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component WriteRestart() Test - with timeout"
  write(failMsg, *) "Did return ESMF_SUCCESS"
  call ESMF_CplCompWriteRestart(cplcomp, timeout=10, rc=rc)
  call ESMF_Test((rc.ne.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component ReadRestart() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompReadRestart(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component ReadRestart() Test - with timeout"
  write(failMsg, *) "Did return ESMF_SUCCESS"
  call ESMF_CplCompReadRestart(cplcomp, timeout=10, rc=rc)
  call ESMF_Test((rc.ne.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Destroy() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompDestroy(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)


  ! - Coupler Component Tests w/ cplcomp_setvm2 -----------------------------

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Create() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  cplcomp = ESMF_CplCompCreate(name='My coupler component', rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)
  
  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component SetVM() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompSetVM(cplcomp, userRoutine=cplcomp_setvm2, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component SetServices() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompSetServices(cplcomp, userRoutine=cplcomp_register, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Initialize() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompInitialize(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Run() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompRun(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Finalize() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompFinalize(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component WriteRestart() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompWriteRestart(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component ReadRestart() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompReadRestart(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)

  !----------------------------------------------------------------
  !NEX_UTest
  write(name, *) "Coupler Component Destroy() Test"
  write(failMsg, *) "Did not return ESMF_SUCCESS"
  call ESMF_CplCompDestroy(cplcomp, rc=rc)
  call ESMF_Test((rc.eq.ESMF_SUCCESS), name, failMsg, result, ESMF_SRCLINE)


  call ESMF_TestEnd(ESMF_SRCLINE)
  
  continue

end program ESMF_StdCompMethodsUTest