test_087 Subroutine

subroutine test_087(id, nfail)

Uses

  • proc~~test_087~~UsesGraph proc~test_087 test_087 module~forcolormap_info forcolormap_info proc~test_087->module~forcolormap_info module~forcolormap_cm_matplotlib forcolormap_cm_matplotlib module~forcolormap_info->module~forcolormap_cm_matplotlib module~forcolormap_cm_miscellaneous forcolormap_cm_miscellaneous module~forcolormap_info->module~forcolormap_cm_miscellaneous module~forcolormap_cm_scientific forcolormap_cm_scientific module~forcolormap_info->module~forcolormap_cm_scientific module~forcolormap_parameters forcolormap_parameters module~forcolormap_info->module~forcolormap_parameters module~forcolormap_cm_matplotlib->module~forcolormap_parameters module~forcolormap_cm_miscellaneous->module~forcolormap_parameters module~forcolormap_cm_scientific->module~forcolormap_parameters iso_fortran_env iso_fortran_env module~forcolormap_parameters->iso_fortran_env

write(verbose=3) should write exactly N non-empty name lines (one per colormap).

Arguments

Type IntentOptional Attributes Name
integer, intent(inout) :: id
integer, intent(inout) :: nfail

Calls

proc~~test_087~~CallsGraph proc~test_087 test_087 proc~delete_if_exists delete_if_exists proc~test_087->proc~delete_if_exists proc~exists_file exists_file proc~test_087->proc~exists_file proc~get_ncolormaps Colormaps_info%get_ncolormaps proc~test_087->proc~get_ncolormaps proc~report_test report_test proc~test_087->proc~report_test

Called by

proc~~test_087~~CalledByGraph proc~test_087 test_087 program~check check program~check->proc~test_087

Source Code

   subroutine test_087(id, nfail)
      use forcolormap_info, only: cmap_info
      integer, intent(inout) :: id, nfail
      character(len=*), parameter :: name = "cmap_info%write(verbose=3): writes N name lines"
      logical :: ok
      character(len=*), parameter :: fname = "test_tmp_cmap_info_write_v3.txt"
      integer :: n, u, ios, count
      character(len=512) :: line

      n = cmap_info%get_ncolormaps()

      call delete_if_exists(fname)
      call cmap_info%write(verbose=3, file_name=fname)

      ok = exists_file(fname)
      if (.not. ok) then
         call report_test(name, ok, id, nfail)
         return
      end if

      count = 0
      open(newunit=u, file=fname, status="old", action="read")
      do
         read(u,'(a)', iostat=ios) line
         if (ios /= 0) exit
         if (len_trim(line) > 0) count = count + 1
      end do
      close(u)

      ok = (count == n)

      call delete_if_exists(fname)
      call report_test(name, ok, id, nfail)
   end subroutine test_087