Type | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|
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 |
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