blob: 0219697e73b6901f548b269fd84d9206dbcef3c3 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001#
2# matching the following output specified as a pattern that verifies
3# that the numerical values conform to a specific pattern, rather than
4# specific values.
5#
6# S0 S1 E O P YGC YGCT FGC FGCT GCT LGCC GCC
7# 0.00 100.00 14.01 3.06 23.20 1 0.032 0 0.000 0.032 Allocation Failure No GC
8
9
10BEGIN {
11 headerlines=0; datalines=0; totallines=0
12 }
13
14/^ S0 S1 E O P YGC YGCT FGC FGCT GCT LGCC GCC $/ {
15 headerlines++;
16 }
17
18# The following pattern does not verify the validity of the gc cause
19# string as the values can vary depending on conditions out of our
20# control. To accomodate this variability, the pattern matcher simply
21# detects that there are two strings that match a specific pattern
22# where the first character is a letter followed by a sequence of zero
23# or more letters and spaces. It also provides for the ".", "(", and ")"
24# characters to allow for the string "System.gc()".
25#
26/^[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[0-9]+\.[0-9]+[ ]*[a-zA-Z]+[a-zA-Z \.\(\)]*[ ]*[a-zA-Z]+[a-zA-Z \.\(\)]*$/ {
27 datalines++;
28 }
29
30 { totallines++; print $0 }
31
32END {
33 if ((headerlines == 1) && (datalines == 1) && (totallines == 2)) {
34 exit 0
35 }
36 else {
37 exit 1
38 }
39 }