]> xenbits.xensource.com Git - people/aperard/osstest.git/commitdiff
sg-report-job-history: Cache osstestrevs
authorIan Jackson <ian.jackson@eu.citrix.com>
Mon, 10 Aug 2020 16:20:53 +0000 (17:20 +0100)
committerIan Jackson <ian.jackson@eu.citrix.com>
Wed, 19 Aug 2020 10:41:18 +0000 (11:41 +0100)
No logical change.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
sg-report-job-history

index d5e37bcdbaced8742418fc86cb9739b36ddee7c1..48dc2f5767ed855de38772fb2889727146d5e583 100755 (executable)
@@ -260,17 +260,20 @@ END
        my $hosts = join ", ", map { $r->{Hosts}{$_} // "-" } @hostvarcols;
        my $hosts_colour = report_altchangecolour(\$alt_hosts, $hosts);
        print H "<td $hosts_colour>".encode_entities($hosts)."</td>\n";
-       my %osstestrevs;
-       $osstestverq->execute($r->{Flight}{flight});
-       while (my ($harness) = $osstestverq->fetchrow_array()) {
-           $osstestrevs{$harness}++;
-       }
+       my $osstestrevmap = cacheable_fn($r->{Flight}, 'o', sub {
+            my %osstestrevs;
+           $osstestverq->execute($r->{Flight}{flight});
+           while (my ($harness) = $osstestverq->fetchrow_array()) {
+               $osstestrevs{$harness}++;
+           }
+           \%osstestrevs;
+       });
        my $osstestrevs = join ' ',
             map {
                s/^([0-9a-f]{12})[0-9a-f]+\b/$1/;
                "<kbd>".encode_entities($_)."</kbd>";
             }
-            sort keys %osstestrevs;
+            sort keys %$osstestrevmap;
        my $osstest_colour = report_altchangecolour(\$alt_osstest, $osstestrevs);
        print H "<td $osstest_colour>$osstestrevs</td>\n";
        foreach my $i (0..$#rev_grid_cols) {