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~6 BaseProfiler%finalize proc~test_stop_wrong_meter->none~finalize~6 none~get_status~2 BaseProfiler%get_status proc~test_stop_wrong_meter->none~get_status~2 none~start~82 TimeProfiler%start proc~test_stop_wrong_meter->none~start~82 none~finalize~8 AbstractMeter%finalize none~finalize~6->none~finalize~8 none~get_meter MeterNode%get_meter none~finalize~6->none~get_meter none~pop_back~32 MeterNodeStack%pop_back none~finalize~6->none~pop_back~32 none~start_self BaseProfiler%start_self none~start~82->none~start_self mpi_op_free mpi_op_free none~finalize~8->mpi_op_free mpi_type_free mpi_type_free none~finalize~8->mpi_type_free interface~mapl_assert MAPL_Assert none~start_self->interface~mapl_assert none~get_name~2 MeterNode%get_name none~start_self->none~get_name~2 none~start~46 BaseProfiler%start none~start_self->none~start~46 proc~mapl_return MAPL_Return none~start_self->proc~mapl_return none~start~46->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

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