Blame src/ftests/johnmay2.F

Packit 577717
#include "fpapi_test.h"
Packit 577717
Packit 577717
      program johnmay2
Packit 577717
      implicit integer (p)
Packit 577717
Packit 577717
      integer*8 values(10)
Packit 577717
      integer es, event
Packit 577717
      integer retval
Packit 577717
      character*PAPI_MAX_STR_LEN name
Packit 577717
Packit 577717
      Integer last_char, n
Packit 577717
      External last_char
Packit 577717
      integer tests_quiet, get_quiet
Packit 577717
      external get_quiet
Packit 577717
Packit 577717
      tests_quiet = get_quiet()
Packit 577717
      es = PAPI_NULL
Packit 577717
Packit 577717
      retval = PAPI_VER_CURRENT
Packit 577717
      call PAPIf_library_init(retval)
Packit 577717
      if ( retval.NE.PAPI_VER_CURRENT) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPI_library_init', retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_query_event(PAPI_FP_INS, retval)
Packit 577717
      if (retval.EQ.PAPI_OK) then
Packit 577717
        event = PAPI_FP_INS
Packit 577717
      else
Packit 577717
        call PAPIf_query_event(PAPI_TOT_INS, retval)
Packit 577717
        if ( retval.EQ.PAPI_OK) then
Packit 577717
          event = PAPI_TOT_INS
Packit 577717
        else
Packit 577717
          call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPIf_query_event', retval)
Packit 577717
        end if
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_create_eventset(es, retval)
Packit 577717
      if ( retval.NE.PAPI_OK) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPIf_create_eventset', 
Packit 577717
     *retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_add_event( es, event, retval )
Packit 577717
      if ( retval .NE. PAPI_OK ) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPIf_add_event', retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_start(es, retval)
Packit 577717
      if ( retval .NE. PAPI_OK ) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPIf_start', retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_cleanup_eventset(es, retval)
Packit 577717
      if (retval .NE. PAPI_EISRUN) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPIf_cleanup_eventset', 
Packit 577717
     *retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_destroy_eventset(es, retval)
Packit 577717
      if (retval .NE. PAPI_EISRUN) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPIf_destroy_eventset', 
Packit 577717
     *retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call fdo_flops(NUM_FLOPS)
Packit 577717
Packit 577717
      call PAPIf_stop(es, values(1), retval)
Packit 577717
      if ( retval .NE. PAPI_OK ) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPIf_stop', retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_destroy_eventset(es, retval)
Packit 577717
      if (retval .NE. PAPI_EINVAL) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPIf_destroy_eventset', 
Packit 577717
     *retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_cleanup_eventset(es, retval)
Packit 577717
      if ( retval .NE. PAPI_OK ) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPIf_cleanup_eventset', 
Packit 577717
     *retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      call PAPIf_destroy_eventset(es, retval)
Packit 577717
      if ( retval .NE. PAPI_OK ) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPIf_destroy_eventset', 
Packit 577717
     *retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      if (es .NE. PAPI_NULL) then
Packit 577717
        call ftest_fail(__FILE__, __LINE__,
Packit 577717
     . 'PAPIf_destroy_eventset', 
Packit 577717
     *retval)
Packit 577717
      end if
Packit 577717
Packit 577717
      if (tests_quiet .EQ. 0) then
Packit 577717
        call PAPIf_event_code_to_name (event, name, retval)
Packit 577717
        if ( retval.NE.PAPI_OK) then
Packit 577717
          call ftest_fail(__FILE__, __LINE__, 
Packit 577717
     * 'PAPIf_event_code_to_name', retval)
Packit 577717
        end if
Packit 577717
        n=last_char(name)
Packit 577717
        print *, "Test case John May 2: cleanup / ",
Packit 577717
     * "destroy eventset."
Packit 577717
        print *, "--------------------------------",
Packit 577717
     * "-----------------"
Packit 577717
        print *, "Test run    : 1"
Packit 577717
        print *, name(1:n), " : ", values(1)
Packit 577717
        print *, "----------------------------------",
Packit 577717
     * "---------------"
Packit 577717
 
Packit 577717
        print *, "Verification:"
Packit 577717
        print *, "These error messages:"
Packit 577717
        print *, "PAPI Error Code -10: PAPI_EISRUN: ", 
Packit 577717
     * "EventSet is currently counting"
Packit 577717
        print *, "PAPI Error Code -10: PAPI_EISRUN: ",
Packit 577717
     * "EventSet is currently counting"
Packit 577717
        print *, "PAPI Error Code -1: PAPI_EINVAL: ",
Packit 577717
     * "Invalid argument"
Packit 577717
      end if
Packit 577717
      
Packit 577717
      call ftests_pass(__FILE__)
Packit 577717
      end