diff --git a/Maintenance/test_handling/create_testresult_page b/Maintenance/test_handling/create_testresult_page index 8d9a867592de..ca62a5928286 100755 --- a/Maintenance/test_handling/create_testresult_page +++ b/Maintenance/test_handling/create_testresult_page @@ -16,6 +16,7 @@ use Cwd; use strict; use Date::Format; +use JSON; my $server_url="https://cgal.geometryfactory.com/"; my $cgal_members="${server_url}CGAL/Members/"; @@ -205,7 +206,7 @@ sub collect_results() sub print_result_table() { my $platform_count = scalar(@platforms_to_do); - + my $release_version = substr($release_name, 5); print OUTPUT <<"EOF";
\n"; - print OUTPUT 'Platform Description'; + print OUTPUT "Platform Description"; print OUTPUT "\n"; print_platforms_numbers(); print OUTPUT "\n | ||||
$test_directory | \n"; + + print OUTPUT "$test_directory | \n"; # if ( $version ) { # print OUTPUT "$version | \n"; # } else { @@ -556,11 +558,13 @@ EOF sub print_platforms_numbers() { my ($platform_num,$platform)=(0,""); + my $release_version = substr($release_name, 5); foreach $platform (@platforms_to_do) { ++$platform_num; my $pf_short = short_pfname($platform); my $class = ""; my $tag = ""; + my $platformlink = $platform; if($platform_is_optimized{$platform} || $platform_is_64bits{$platform}) { $class = " class=\""; @@ -576,7 +580,7 @@ sub print_platforms_numbers() $class = $class . "\""; $tag = $tag . " )"; } - print OUTPUT "$platform_num\n"; + print OUTPUT " | $platform_num\n";
}
}
@@ -730,8 +734,7 @@ sub get_warnings_and_errors {
my $result = `zcat $result_file`;
my @lines = split("\n", $result);
foreach my $line (@lines) {
- if ($line =~ /(warning|error):/i && !$seen{$line}++) {
- #if ($line !~ /\b(ERROR|WARNING)\b/ && $line =~ /(warning|error):/i) {
+ if ($line =~ /(warning|error):/i && !$seen{$line}++ || $line =~ /(warning|error) [CJ]\d+:/i && !$seen{$line}++) {
$warnings_and_errors .= $line . "\n";
}
@@ -748,6 +751,41 @@ sub create_summary_page {
my $test_directory;
my @letters = ('r', 'n', 'w', 'o');
my $letters_options = join("\n", map { "" } @letters);
+ my $package_options = join("\n", map { "" } sort keys %test_directories);
+
+ my @search_index;
+ my ($platform_num, $platform) = (0, "");
+ foreach $platform (@platforms_to_do) {
+ foreach my $letter (@letters) {
+ foreach my $test_directory (sort keys %test_directories) {
+ my $resulttext = $testresults[$platform_num]->{$test_directory};
+ if (defined($resulttext) && $resulttext eq $letter) {
+ my $warnings_and_errors = get_warnings_and_errors("$testresult_dir/$release_name/$test_directory/TestReport_$platform.gz");
+ push @search_index, {
+ platform => $platform,
+ test_directory => $test_directory,
+ content => $warnings_and_errors,
+ release => $release_name,
+ letters => $letter,
+ };
+ }
+ }
+ }
+ $platform_num++;
+ }
+
+ my $json = JSON->new->allow_nonref;
+ my $json_text = $json->pretty->encode(\@search_index);
+ open my $fh, '>', "$testresult_dir/$release_name/search_index.json" or die "Could not open file: $!";
+ print $fh $json_text;
+ close $fh;
+
+ my @all_releases = grep {-d $_ } glob("../*");
+ my %urls_for_js = (
+ current => ["$release_name/search_index.json"],
+ all => [map { "TESTRESULTS/$_/search_index.json" } @all_releases],
+ );
+ my $json_urls = encode_json(\%urls_for_js);
my $Summary_output = <<"EOF";
@@ -758,93 +796,287 @@ sub create_summary_page {
+
+
+
+
Summary Results of ${release_name}+ + + EOF my $summary_page_path = "$testresult_dir/summary".substr($release_name,4).".html"; open(my $out, '>', $summary_page_path) or die "Could not open file '$summary_page_path' $!"; print $out $Summary_output; - my ($platform_num, $platform) = (0, ""); - foreach $platform (@platforms_to_do) { - print $out "Results of $platform";
- foreach my $letter (@letters) {
- print $out " $letter"; - foreach my $test_directory (sort keys %test_directories) { - my $resulttext = $testresults[$platform_num]->{$test_directory}; - if (defined($resulttext) && $resulttext eq $letter) { - print $out ''; - my $warnings_and_errors = get_warnings_and_errors("$testresult_dir/$release_name/$test_directory/TestReport_$platform.gz"); - if ($warnings_and_errors) { - print $out "$warnings_and_errors"; - } - } - } - print $out " |