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~10 BaseProfiler%finalize proc~test_stop_wrong_meter->none~finalize~10 none~get_status BaseProfiler%get_status proc~test_stop_wrong_meter->none~get_status none~start~85 TimeProfiler%start proc~test_stop_wrong_meter->none~start~85 none~finalize AbstractMeter%finalize none~finalize~10->none~finalize none~get_meter~4 MeterNode%get_meter none~finalize~10->none~get_meter~4 none~pop_back~5 MeterNodeStack%pop_back none~finalize~10->none~pop_back~5 none~start_self BaseProfiler%start_self none~start~85->none~start_self mpi_op_free mpi_op_free none~finalize->mpi_op_free mpi_type_free mpi_type_free none~finalize->mpi_type_free proc~mapl_verify MAPL_Verify none~finalize->proc~mapl_verify interface~mapl_assert MAPL_Assert none~start_self->interface~mapl_assert none~get_name~8 MeterNode%get_name none~start_self->none~get_name~8 none~start~59 BaseProfiler%start none~start_self->none~start~59 proc~mapl_return MAPL_Return none~start_self->proc~mapl_return none~start~59->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