volatile_doctest Program

Uses

  • program~~volatile_doctest~687~~UsesGraph program~volatile_doctest~687 volatile_doctest module~stringifor~2 stringifor program~volatile_doctest~687->module~stringifor~2 module~penf~2 penf module~stringifor~2->module~penf~2 module~stringifor_string_t stringifor_string_t module~stringifor~2->module~stringifor_string_t module~penf_b_size penf_b_size module~penf~2->module~penf_b_size module~penf_stringify~3 penf_stringify module~penf~2->module~penf_stringify~3 module~penf_global_parameters_variables~2 penf_global_parameters_variables module~penf~2->module~penf_global_parameters_variables~2 module~stringifor_string_t->module~penf~2 iso_fortran_env iso_fortran_env module~stringifor_string_t->iso_fortran_env module~befor64~4 befor64 module~stringifor_string_t->module~befor64~4 module~face face module~stringifor_string_t->module~face module~penf_b_size->module~penf_global_parameters_variables~2 module~penf_stringify~3->module~penf_b_size module~penf_stringify~3->iso_fortran_env module~penf_stringify~3->module~penf_global_parameters_variables~2 module~befor64~4->module~penf~2 module~befor64_pack_data_m~4 befor64_pack_data_m module~befor64~4->module~befor64_pack_data_m~4 module~face->iso_fortran_env module~befor64_pack_data_m~4->module~penf~2

Calls

program~~volatile_doctest~687~~CallsGraph program~volatile_doctest~687 volatile_doctest proc~read_file read_file program~volatile_doctest~687->proc~read_file proc~read_lines read_lines proc~read_file->proc~read_lines

Contents

Source Code


Variables

TypeAttributesNameInitial
type(string) :: astring
type(string), allocatable:: strings(:)
type(string) :: line(3)
integer :: iostat
character(len=99) :: iomsg
integer :: scratch
integer :: l
logical :: test_passed(8)

Source Code

program volatile_doctest
use stringifor
 type(string) :: astring
 type(string), allocatable :: strings(:)
 type(string) :: line(3)
 integer :: iostat
 character(len=99) :: iomsg
 integer :: scratch
 integer :: l
 logical :: test_passed(8)
 line(1) = ' Hello World!   '
 line(2) = 'How are you?  '
 line(3) = '   All say: "Fine thanks"'
 open(newunit=scratch, file='read_file_test.tmp')
 write(scratch, "(A)") line(1)%chars()
 write(scratch, "(A)") line(2)%chars()
 write(scratch, "(A)") line(3)%chars()
 close(scratch)
 call read_file(file='read_file_test.tmp', lines=strings, iostat=iostat, iomsg=iomsg)
 test_passed(1) = (size(strings, dim=1)==size(line, dim=1))
 do l=1, size(strings, dim=1)
 test_passed(l+1) = (strings(l)==line(l))
 enddo
 open(newunit=scratch, file='read_file_test.tmp', form='UNFORMATTED', access='STREAM')
 write(scratch) line(1)%chars()//new_line('a')
 write(scratch) line(2)%chars()//new_line('a')
 write(scratch) line(3)%chars()//new_line('a')
 close(scratch)
 call read_file(file='read_file_test.tmp', lines=strings, form='unformatted', iostat=iostat, iomsg=iomsg)
 test_passed(5) = (size(strings, dim=1)==size(line, dim=1))
 do l=1, size(strings, dim=1)
 test_passed(l+5) = (strings(l)==line(l))
 enddo
 open(newunit=scratch, file='read_file_test.tmp', form='UNFORMATTED', access='STREAM')
 close(scratch, status='DELETE')
 print '(L1)', all(test_passed)
endprogram volatile_doctest