Added config section to stylesheet
[platform/core/uifw/dali-toolkit.git] / automated-tests / scripts / output_summary.pl
1 #!/usr/bin/perl
2
3 # Reads summary.xml and produces human readable output
4
5 use strict;
6 use XML::Parser;
7 use Encode;
8 use Getopt::Long;
9 use Cwd;
10
11 my $pwd = getcwd;
12 my $text = "";
13 my $module="";
14 my %modules=();
15
16 sub handle_start
17 {
18     my ($p, $elt, %attrs) = @_;
19
20     if($elt =~ /suite/)
21     {
22         $module=$attrs{"name"};
23     }
24     if($elt =~ /_case/)
25     {
26         $text = "";
27     }
28 }
29
30 sub handle_end
31 {
32   my ($p, $elt) = @_;
33   if($elt =~ /pass_case/)
34   {
35       $modules{$module}->{"pass"}=$text;
36       $text="";
37   }
38   elsif($elt =~ /fail_case/)
39   {
40       $modules{$module}->{"fail"}=$text;
41       $text="";
42   }
43 }
44
45 sub handle_char
46 {
47   my ($p, $str) = @_;
48   $text .= $str;
49 }
50
51 my($parser) = new XML::Parser(Handlers => {Start => \&handle_start,
52                                            End   => \&handle_end,
53                                            Char  => \&handle_char});
54 $parser->parsefile("summary.xml");
55
56 my $RED_COLOR="\e[1;31m";
57 my $GREEN_COLOR="\e[1;32m";
58 my $ASCII_RESET="\e[0m";
59 my $ASCII_BOLD="\e[1m";
60
61 print "\n";
62 my $totalFailures=0;
63 foreach $module (keys(%modules))
64 {
65     my $result_colour = $GREEN_COLOR;
66     if( $modules{$module}->{"fail"} )
67     {
68         $result_colour = $RED_COLOR;
69     }
70     my $numPasses = $modules{$module}->{"pass"};
71     my $numFailures = $modules{$module}->{"fail"};
72     $totalFailures += $numFailures;
73     print( "$ASCII_BOLD$module results:$ASCII_RESET\n" );
74     printf("Number of test passes:   %s%4d (%5.2f%%)%s\n", $ASCII_BOLD, $numPasses, 100.0 * $numPasses / ($numPasses+$numFailures),  $ASCII_RESET);
75     printf("%sNumber of test failures:%s %s%4d%s\n\n", $result_colour, $ASCII_RESET, $ASCII_BOLD, $numFailures, $ASCII_RESET);
76 }
77
78 exit $totalFailures == 0;