test_stop_wrong_meter Subroutine

public subroutine test_stop_wrong_meter()

Arguments

None

Calls

proc~~test_stop_wrong_meter~~CallsGraph proc~test_stop_wrong_meter test_stop_wrong_meter assertequal assertequal proc~test_stop_wrong_meter->assertequal assertexceptionraised assertexceptionraised proc~test_stop_wrong_meter->assertexceptionraised none~finalize~14 BaseProfiler%finalize proc~test_stop_wrong_meter->none~finalize~14 none~get_status~3 BaseProfiler%get_status proc~test_stop_wrong_meter->none~get_status~3 none~start~83 TimeProfiler%start proc~test_stop_wrong_meter->none~start~83 none~finalize~3 AbstractMeter%finalize none~finalize~14->none~finalize~3 none~get_meter MeterNode%get_meter none~finalize~14->none~get_meter none~pop_back~41 MeterNodeStack%pop_back none~finalize~14->none~pop_back~41 none~start_self BaseProfiler%start_self none~start~83->none~start_self mpi_op_free mpi_op_free none~finalize~3->mpi_op_free mpi_type_free mpi_type_free none~finalize~3->mpi_type_free proc~mapl_verify MAPL_Verify none~finalize~3->proc~mapl_verify interface~mapl_assert MAPL_Assert none~start_self->interface~mapl_assert none~get_name~5 MeterNode%get_name none~start_self->none~get_name~5 none~start~47 BaseProfiler%start none~start_self->none~start~47 proc~mapl_return MAPL_Return none~start_self->proc~mapl_return none~start~47->none~start_self at at proc~mapl_return->at insert insert proc~mapl_return->insert proc~mapl_throw_exception MAPL_throw_exception proc~mapl_return->proc~mapl_throw_exception proc~mapl_verify->proc~mapl_throw_exception

Source Code

   subroutine test_stop_wrong_meter()
      type (TimeProfiler), target :: prof
      integer :: status
      
      prof = TimeProfiler('top')
      call prof%start()

      call prof%start('timer_1')
      call prof%start('timer_2')
      @assertEqual(0, prof%get_status())
      call prof%stop('timer_1', rc=status) ! not the current timer

!C$      @assertEqual(INCORRECTLY_NESTED_METERS, prof%get_status())
      @assertExceptionRaised('Timer <timer_1> does not match start timer <timer_2>')
      call prof%finalize()
      
   end subroutine test_stop_wrong_meter