11integer nv_,nv,vt_,vt,iv_,iv
15character(256) fname_,fname,descr
18 write(fname_,
'("TEST_",I3.3,".OUT_")') i
19 inquire(file=trim(fname_),exist=exist)
21 write(fname,
'("TEST_",I3.3,".OUT")') i
22 inquire(file=trim(fname),exist=exist)
25 write(*,
'("Error(testcheck): file ",A," does not exist")') trim(fname)
29 open(91,file=trim(fname_),form=
'FORMATTED')
30 open(92,file=trim(fname),form=
'FORMATTED')
31 read(91,*,err=10) descr
32 read(92,*,err=20) descr
33 read(91,*,err=10) vt_,nv_
34 read(92,*,err=20) vt,nv
37 write(*,
'("Error(testcheck): differing variable type")')
38 write(*,
'(" for quantity ''",A,"''")') trim(descr)
39 write(*,
'(" ",A," : ",I8)') trim(fname_),vt_
40 write(*,
'(" ",A," : ",I8)') trim(fname),vt
46 write(*,
'("Error(testcheck): differing number of variables")')
47 write(*,
'(" for quantity ''",A,"''")') trim(descr)
48 write(*,
'(" ",A," : ",I8)') trim(fname_),nv_
49 write(*,
'(" ",A," : ",I8)') trim(fname),nv
55 write(*,
'("Error(testcheck): nv < 1 : ",I8)') nv
62 read(91,*,err=10) k,iv_
64 read(92,*,err=20) k,iv
68 write(*,
'("Error(testcheck): variable ",I8," is different")') j
69 write(*,
'(" for quantity ''",A,"''")') trim(descr)
70 write(*,
'(" ",A," : ",I8)') trim(fname_),iv_
71 write(*,
'(" ",A," : ",I8)') trim(fname),iv
76 else if (vt == 2)
then
81 read(91,*,err=10) k,rv_
83 read(92,*,err=20) k,rv
87 if ((t1 > t2).and.(abs(rv_) > 1.d-4))
then
89 write(*,
'("Error(testcheck): variable ",I8," outside tolerance")') j
90 write(*,
'(" for quantity ''",A,"''")') trim(descr)
91 write(*,
'(" ",A," (correct value)",T40," : ",G24.14)') trim(fname_), &
93 write(*,
'(" ",A,T40," : ",G24.14)') trim(fname),rv
94 write(*,
'(" absolute difference",T40," : ",G24.14)') t1
95 write(*,
'(" required relative tolerance",T40," : ",G24.14)') tol
96 write(*,
'(" required absolute tolerance",T40," : ",G24.14)') t2
101 else if (vt == 3)
then
103 read(91,*,err=10) tol
104 read(92,*,err=20) tol
106 read(91,*,err=10) k,a,b
109 read(92,*,err=20) k,a,b
114 if ((t1 > t2).and.(abs(zv_) > 1.d-4))
then
116 write(*,
'("Error(testcheck): variable ",I8," outside tolerance")') j
117 write(*,
'(" for quantity ''",A,"''")') trim(descr)
118 write(*,
'(" ",A," (correct value)",T40," : ",2G24.14)') &
120 write(*,
'(" ",A,T40," : ",2G24.14)') trim(fname),zv
121 write(*,
'(" difference",T40," : ",G24.14)') t1
122 write(*,
'(" required relative tolerance",T40," : ",G24.14)') tol
123 write(*,
'(" required absolute tolerance",T40," : ",G24.14)') t2
130 write(*,
'("Error(testcheck): variable type not defined : ",I8)') vt
141 write(*,
'("Warning(testcheck): no tests found")')
144 write(*,
'("Info(testcheck): passed all tests")')
149write(*,
'("Error(testcheck): error reading from ",A)') trim(fname_)
154write(*,
'("Error(testcheck): error reading from ",A)') trim(fname)