Sync with 5.1.0
[deliverable/titan.core.git] / regression_test / vcheck.pl
1 #!/usr/bin/perl -wl
2 ###############################################################################
3 # Copyright (c) 2000-2014 Ericsson Telecom AB
4 # All rights reserved. This program and the accompanying materials
5 # are made available under the terms of the Eclipse Public License v1.0
6 # which accompanies this distribution, and is available at
7 # http://www.eclipse.org/legal/epl-v10.html
8 ###############################################################################
9
10 use strict;
11 my $exename;
12 my $dirname;
13
14 # collect lines that mean errors into this list
15 my @output;
16
17 while (<>)
18 {
19 chomp;
20
21 if (/\.\/(\S+)\s+\S+\.cfg/)
22 {
23 $exename = $1; # single mode run directly
24 }
25 elsif (/ttcn3_start\s+(\S+)\s\S+\.cfg/) {
26 $exename = $1; # parallel mode via ttcn3_start
27 }
28 elsif (/Entering directory `([^']+)'/) { # from make
29 $dirname = $1;
30 }
31
32 if ( s/(?:\S+@\S+:\s+)?(Verdict statistics: \d+ none \(\d+\.\d+ %\), \d+ pass \((\d+)\.\d+ %\).*)/$1/ )
33 # filter out "MTC@host: " on the verdict statistics line in parallel mode
34 {
35 if ($2 ne '100') {
36 push @output, $exename.": ".$_;
37 }
38 }
39 elsif (/Looks like/) {
40 push @output, "$_ in $dirname";
41 }
42 }
43
44 my $errorCount = 0;
45 foreach my $line (@output) {
46 # filter out the Tverdictoper which is never 100% pass
47 unless ($line =~ /^TverdictOper(\.exe)?: Verdict statistics: 2 none \(8\.00 %\), 11 pass \(44\.00 %\), 5 inconc \(20\.00 %\), 7 fail \(28\.00 %\), 0 error \(0\.00 %\)\.$/) {
48 print $line;
49 $errorCount++;
50 }
51 }
52
53 exit $errorCount;
54
55 __END__
56
57 Find verdict statistics which are not 100% pass.
58 Augment with the executable name collected earlier.
59
This page took 0.033893 seconds and 5 git commands to generate.