test_suite_M_history.f90 Source File


Source Code

program test_suite_M_history
use, intrinsic :: iso_fortran_env, only : ERROR_UNIT
use :: M_framework__verify, only : unit_check, unit_check_good, unit_check_bad, unit_check_done, unit_check_start, unit_check_level
use :: M_framework__verify, only : unit_check_level
use :: M_framework__verify, only : unit_check_stop
use M_history,     only : redo
implicit none
unit_check_level=0
!! setup
   call test_redo()
   call unit_check_stop()
!! teardown
contains
!TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
subroutine test_redo()
character(len=256)           :: read_from_file
character(len=256)           :: inl
integer                      :: ios
integer                      :: io
   write(*,*)'UNIT_CHECK_LEVEL=',UNIT_CHECK_LEVEL
   call unit_check_start('redo',msg='')
   open(newunit=io,file='r_directives.tmp')
   write(io,'(a)')'echo first line'
   write(io,'(a)')'echo abcdefghijklmnopqrstuvwxyz'
   write(io,'(a)')'r'
   write(io,'(a)')'c/klmnopqrst/KLMNOPQRST/'
   write(io,'(a)')'m     ABCDEFGHIJ          UVWXYZ'
   write(io,'(a)')''
   write(io,'(a)')'r'
   write(io,'(a)')'m    ^ The alphabet is:#'
   write(io,'(a)')''
   write(io,'(a)')'r c/alpha/Alpha/'
   write(io,'(a)')''
   write(io,'(a)')'r /XYZ'
   write(io,'(a)')'c@XYZ@XYZ > tmp/_outtest@'
   write(io,'(a)')''
   write(io,'(a)')'r l 1'
   write(io,'(a)')'.'
   write(io,'(a)')'r /ABCD'
   write(io,'(a)')''
   rewind(io)
   do
      read(io,'(a)',iostat=ios)read_from_file
      if(unit_check_level.ne.0) write(*,'(2a," IOS=",i0)')'READ:',trim(read_from_file),ios
      if(ios.ne.0)exit
      inl=read_from_file
      if(unit_check_level.ne.0) write(*,'(2a)')'IN:   ',trim(inl)
      call redo(inl,'r',lun=io)
      if(unit_check_level.ne.0) write(*,'(2a)')'SOFAR:',trim(inl)
   enddo
   close(unit=io,iostat=ios,status='delete')
   if(unit_check_level.ne.0) write(*,*)'LAST: ',trim(inl)
   call unit_check('redo',inl.eq.'echo The Alphabet is: ABCDEFGHIJKLMNOPQRSTUVWXYZ > tmp/_outtest','checking',inl)
   call unit_check_done('redo',msg='')
end subroutine test_redo
end program test_suite_M_history