File: rawk

package info (click to toggle)
lapack 3.2.1-8
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 55,196 kB
  • ctags: 33,064
  • sloc: fortran: 448,214; perl: 8,226; makefile: 1,528; sh: 87; awk: 70
file content (81 lines) | stat: -rw-r--r-- 1,857 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/usr/bin/awk -f

/^Test file / {f=$3}
/^Time file / {f=$3}
/ failed with status / {sig=$(NF-1);F[$NF]=F[$NF] " " f;N[sig]=$NF;T[$NF]++;tsig++;next}
/ failed to terminate / {term++;termf=termf " " f;next}
/ failed to pass / {	if (substr(f,2)=="gd.out") 
				next;
			$0=substr($0,match($0,":")+1);
			a=($1+0.0)/($4+0.0);
			if (a<0.01) {
				minor++;
				minf=minf " " f "(" $1 "/" $4 ")";
			} else {
				major++;
				majf=majf " " f "(" $1 "/" $4 ")";
			}		
			next}
/ failed / {mysterious++;mysf=mysf " " f;next}

function out(pref,arr) {

	k=split(arr,L," ");
	j=1;
	l=pref;
	while (j<=k) {
		while (j<=k && length(l)<76) {
			l=l " " L[j];
			j++;
		}
		print l
		l=pref;
	}

}

END { 	
	print "Template: lapack2/ttr";
	print "Type: note";
	print "Description: Error summary"
	print " More details on these errors can be found in";
	print " /usr/share/doc/lapack/test_results.gz and";
	stat=0;
	if (mysterious) {
		print " .";
		print " WARNING! " mysterious " tests had unknown failues!!!"
		out("  files: ",mysf);
#		print " files: " mysf;
		stat=4>stat ? 4 : stat;
	}
	if (tsig) {
		print " .";
		print " WARNING! " tsig " tests terminated abnormally!!!";
		for (i in N) 
#			print " " T[N[i]] " tests with " N[i] ", files: " F[N[i]];
			out("  " T[N[i]] " tests with " N[i] ", files: ",F[N[i]]);
		stat=3>stat ? 3 : stat;
	}
	if (term) {
		print " .";
		print " WARNING! " term " tests failed to terminate!!!";
#		print "  files: " termf
		out("  files: ",termf);
		stat=3>stat ? 3 : stat;
	}
	if (major) {
		print " .";
		print " WARNING! " major " tests had major threshhold errors!"
#		print " files: " majf;
		out("  files: ",majf);
		stat=2>stat ? 2 : stat;
	}
	if (minor) {
		print " .";
		print " " minor " tests had minor threshhold errors"
#		print " files: " minf;
		out("  files: ",minf);
		stat=1>stat ? 1 : stat;
	}
	exit stat;
}