Track what logs still need analysis
authorSteve McIntyre <steve@einval.com>
Wed, 19 Dec 2018 16:40:04 +0000 (16:40 +0000)
committerSteve McIntyre <steve@einval.com>
Wed, 19 Dec 2018 16:40:04 +0000 (16:40 +0000)
If we have a .note file, or it's a common category like missing
build-dep then don't worry about analysis.

bin/analyze_results

index b99c2b9..1aa20ae 100755 (executable)
@@ -21,6 +21,7 @@ my $time_start = time();
 my $time_end;
 my $time_taken;
 my $num_fail = 0;
+my $awaiting_analysis = 0;
 my $lines_read = 0;
 my $existing_bugs = 0;
 
@@ -56,6 +57,7 @@ my @logcheck = (
        message  => 'Architecture mismatch',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_ARCH_MISMATCH,
     },
     {
@@ -63,6 +65,7 @@ my @logcheck = (
        message  => 'Architecture mismatch',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_ARCH_MISMATCH,
     },
     {
@@ -73,6 +76,7 @@ my @logcheck = (
        message  => 'No binaries built',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_ARCH_MISMATCH,
     },
     {
@@ -80,6 +84,7 @@ my @logcheck = (
        message  => 'Could not find specified source package',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_NO_SOURCE,
     },
     {
@@ -87,6 +92,7 @@ my @logcheck = (
        message  => 'Schroot setup failure',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_INFRA,
     },
     {
@@ -94,6 +100,7 @@ my @logcheck = (
        message  => 'Build ran out of disk space',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_INFRA,
     },
     {
@@ -101,6 +108,7 @@ my @logcheck = (
        message  => 'Build ran out of ptys',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_INFRA,
     },
     {
@@ -108,6 +116,7 @@ my @logcheck = (
        message  => 'Wrong arch detected',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_DETECT_WRONG_ARCH,
     },
     {
@@ -115,6 +124,7 @@ my @logcheck = (
        message  => 'Wrong arch detected',
        check    => 0,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_DETECT_WRONG_ARCH,
     },
     {
@@ -122,6 +132,7 @@ my @logcheck = (
        message  => 'Wrong arch detected',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_DETECT_WRONG_ARCH,
     },
     {
@@ -130,6 +141,7 @@ my @logcheck = (
        message  => 'Alignment problem',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_CRASH,
     },
     {
@@ -139,6 +151,7 @@ my @logcheck = (
        message  => 'Segmentation fault when installing RESULT',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_CRASH,
     },
     {
@@ -147,6 +160,7 @@ my @logcheck = (
        message  => 'Segmentation fault',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_CRASH,
     },
     {
@@ -156,6 +170,7 @@ my @logcheck = (
        message  => 'Illegal instruction when installing RESULT',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_CRASH,
     },
     {
@@ -164,6 +179,7 @@ my @logcheck = (
        message  => 'Illegal instruction',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_CRASH,
     },
     {
@@ -172,6 +188,7 @@ my @logcheck = (
        message  => 'Build-dep failed to install (RESULT)',
        check    => 1,
        stop     => 0,
+       analyze  => 0,
        type     => ERR_BD_PROBLEM,
     },
     {
@@ -180,6 +197,7 @@ my @logcheck = (
        message  => 'Pbuilder build-deps failed',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BD_PROBLEM,
     },
     {
@@ -188,6 +206,7 @@ my @logcheck = (
        message  => 'Build-deps failed',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BD_PROBLEM,
     },
     {
@@ -196,6 +215,7 @@ my @logcheck = (
        message  => 'Missing build-dep (RESULT)',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BD_PROBLEM,
     },
     {
@@ -204,6 +224,7 @@ my @logcheck = (
        message  => 'Unsatisfiable build-dep conflict (RESULT)',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BD_PROBLEM,
     },
     {
@@ -212,6 +233,7 @@ my @logcheck = (
        message  => 'Build-deps not satisfiable',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BD_PROBLEM,
     },
     {
@@ -220,6 +242,7 @@ my @logcheck = (
        message  => 'dpkg-source failure',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -228,6 +251,7 @@ my @logcheck = (
        message  => 'Build failure: missing library - missing build-dep?',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -236,6 +260,7 @@ my @logcheck = (
        message  => 'Build failure: missing header - missing build-dep?',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -244,6 +269,7 @@ my @logcheck = (
        message  => 'Build failure - missing build-dep?',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -252,6 +278,7 @@ my @logcheck = (
        message  => 'Build failure (missing binary)',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -260,6 +287,7 @@ my @logcheck = (
        message  => 'Build failure (java/javadoc)',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -268,6 +296,7 @@ my @logcheck = (
        message  => 'Build failure (other)',
        check    => 1,
        stop     => 0,
+       analyze  => 1,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -276,6 +305,7 @@ my @logcheck = (
        message  => 'Build failure (other)',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -284,6 +314,7 @@ my @logcheck = (
        message  => 'Build failure (other)',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -292,6 +323,7 @@ my @logcheck = (
        message  => 'Build failure (clean failed)',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -300,6 +332,7 @@ my @logcheck = (
        message  => 'Build failure (install failed)',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -308,6 +341,7 @@ my @logcheck = (
        message  => 'Build failure (configure failed)',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -316,6 +350,7 @@ my @logcheck = (
        message  => 'Build failure (RESULT)',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -324,6 +359,7 @@ my @logcheck = (
        message  => 'Build error (RESULT)',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -332,6 +368,7 @@ my @logcheck = (
        message  => 'Build error (RESULT)',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -340,6 +377,7 @@ my @logcheck = (
        message  => 'Build failure (other)',
        check    => 0,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_BUILD_PROBLEM,
     },
     {
@@ -348,6 +386,7 @@ my @logcheck = (
        message  => 'Python EPERM test failure',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_TEST_PROBLEM,
     },
     {
@@ -356,6 +395,7 @@ my @logcheck = (
        message  => 'Test failure',
        check    => 1,
        stop     => 1,
+       analyze  => 1,
        type     => ERR_TEST_PROBLEM,
     },
     {
@@ -364,6 +404,7 @@ my @logcheck = (
        message  => 'Pbuilder build timeout',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BUILD_TIMEOUT,
     },
     {
@@ -372,6 +413,7 @@ my @logcheck = (
        message  => 'Sbuild build timeout',
        check    => 1,
        stop     => 1,
+       analyze  => 0,
        type     => ERR_BUILD_TIMEOUT,
     },
 );
@@ -402,6 +444,7 @@ foreach my $input (@ARGV) {
     my $stop = 0;
     my $lineno = 0;
     my $errors = 0;
+    my $errors_need_analysis = 0;
     my $oldline = "";
     my %file_results;
     print "<li>Looking at <a href=\"$input\">$input</a>:\n";
@@ -427,6 +470,9 @@ foreach my $input (@ARGV) {
                        print "  <li>Line $lineno: $message\n";
                        $errors++;
                    }
+                   if ($check{analyze}) {
+                       $errors_need_analysis++;
+                   }
                    if ($check{stop}) {
 #                      print "  stopping processing\n";
                        $stop = 1;
@@ -459,7 +505,7 @@ foreach my $input (@ARGV) {
        }
        close IN;
     } else {
-       if ($errors) {
+       if ($errors_need_analysis) {
            print "  <li><strong>Needs analysis</strong>\n";
        }
     }
@@ -469,13 +515,17 @@ foreach my $input (@ARGV) {
        $log_results{$file_results{$key}}{$key} += 1;
 #      print "now have $log_results{$key} for \"$key\"\n";
     }
+    if ($errors_need_analysis) {
+       $awaiting_analysis++;
+    }
 }
 print "</ol>\n";
 
 print "<a name=\"summary\"</a>\n";
 print "<h2>Summary of results from $num_fail failed builds:</h2>\n";
+print "<p>$awaiting_analysis logs still need analysis</p>\n";
 print "<ul>\n";
-print "<li>  Found $existing_bugs existing bugs in the Debian BTS</li>\n";
+print "  <li>Found $existing_bugs existing bugs in the Debian BTS</li>\n";
 foreach my $type (sort keys %log_results) {
     print "  <h3>$err_descriptions[$type]</h3>\n";
     my $tmp = $log_results{$type};