volatile_doctest Program

Uses

  • program~~volatile_doctest~149~~UsesGraph program~volatile_doctest~149 volatile_doctest module~stringifor_string_t stringifor_string_t program~volatile_doctest~149->module~stringifor_string_t iso_fortran_env iso_fortran_env module~stringifor_string_t->iso_fortran_env module~penf~2 penf module~stringifor_string_t->module~penf~2 module~face face module~stringifor_string_t->module~face module~befor64~4 befor64 module~stringifor_string_t->module~befor64~4 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~face->iso_fortran_env 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~penf_b_size->module~penf_global_parameters_variables~2 module~penf_stringify~3->iso_fortran_env module~penf_stringify~3->module~penf_b_size module~penf_stringify~3->module~penf_global_parameters_variables~2 module~befor64_pack_data_m~4->module~penf~2

Calls

program~~volatile_doctest~149~~CallsGraph program~volatile_doctest~149 volatile_doctest interface~glob glob program~volatile_doctest~149->interface~glob proc~glob_character glob_character interface~glob->proc~glob_character proc~glob_string glob_string interface~glob->proc~glob_string

Contents

Source Code


Variables

TypeAttributesNameInitial
type(string) :: astring
character(len=:), allocatable:: alist_chr(:)
type(string), allocatable:: alist_str(:)
integer, parameter:: Nf =5
character(len=14) :: files(1:Nf)
integer :: file_unit
integer :: f
integer :: ff
logical :: test_passed

Source Code

program volatile_doctest
use stringifor_string_t
 type(string) :: astring
 character(len=:), allocatable :: alist_chr(:)
 type(string), allocatable :: alist_str(:)
 integer, parameter :: Nf=5
 character(14) :: files(1:Nf)
 integer :: file_unit
 integer :: f
 integer :: ff
 logical :: test_passed
 do f=1, Nf
 files(f) = astring%tempname(prefix='foo-')
 open(newunit=file_unit, file=files(f))
 write(file_unit, *)f
 close(unit=file_unit)
 enddo
 call glob(self=astring, pattern='foo-*', list=alist_chr)
 call glob(self=astring, pattern='foo-*', list=alist_str)
 do f=1, Nf
 open(newunit=file_unit, file=files(f))
 close(unit=file_unit, status='delete')
 enddo
 test_passed = .false.
 outer_chr: do f=1, size(alist_chr, dim=1)
 do ff=1, Nf
 test_passed = alist_chr(f) == files(ff)
 if (test_passed) cycle outer_chr
 enddo
 enddo outer_chr
 if (test_passed) then
 test_passed = .false.
 outer_str: do f=1, size(alist_str, dim=1)
 do ff=1, Nf
 test_passed = alist_str(f) == files(ff)
 if (test_passed) cycle outer_str
 enddo
 enddo outer_str
 endif
 print '(L1)', test_passed
endprogram volatile_doctest