summaryrefslogtreecommitdiffstats
path: root/sanitycheck.cgi
diff options
context:
space:
mode:
Diffstat (limited to 'sanitycheck.cgi')
-rwxr-xr-xsanitycheck.cgi24
1 files changed, 21 insertions, 3 deletions
diff --git a/sanitycheck.cgi b/sanitycheck.cgi
index 80b88d5fd..4172e6b34 100755
--- a/sanitycheck.cgi
+++ b/sanitycheck.cgi
@@ -121,6 +121,10 @@ my @checklist;
PutHeader("Bugzilla Sanity Check");
+###########################################################################
+# Fix vote cache
+###########################################################################
+
if (exists $::FORM{'rebuildvotecache'}) {
Status("OK, now rebuilding vote cache.");
SendSQL("lock tables bugs write, votes read");
@@ -158,6 +162,10 @@ foreach my $field (("bug_severity", "bug_status", "op_sys",
}
}
+###########################################################################
+# Perform referential (cross) checks
+###########################################################################
+
CrossCheck("keyworddefs", "id",
["keywords", "keywordid"]);
@@ -207,6 +215,9 @@ CrossCheck("products", "product",
["versions", "program", "value"],
["attachstatusdefs", "product", "name"]);
+###########################################################################
+# Perform group checks
+###########################################################################
Status("Checking groups");
SendSQL("select bit from groups where bit != pow(2, round(log(bit) / log(2)))");
@@ -224,8 +235,9 @@ while (@row = FetchSQLData()) {
Alert("Bad groupset $row[1] found in bug " . BugLink($row[0]));
}
-
-
+###########################################################################
+# Perform product specific field checks
+###########################################################################
Status("Checking version/products");
@@ -299,7 +311,10 @@ foreach my $ref (@checklist) {
}
}
-
+###########################################################################
+# Perform login checks
+###########################################################################
+
Status("Checking profile logins");
my $emailregexp = Param("emailregexp");
@@ -312,6 +327,9 @@ while (my ($id,$email) = (FetchSQLData())) {
Alert "Bad profile email address, id=$id, <$email>."
}
+###########################################################################
+# Perform vote/keyword cache checks
+###########################################################################
SendSQL("SELECT bug_id,votes,keywords FROM bugs " .
"WHERE votes != 0 OR keywords != ''");