$xml .= "<bug>\n";
- foreach my $field ("bug_id", "urlbase", "bug_status", "product",
+ foreach my $field ("bug_id", "bug_status", "product",
"priority", "version", "rep_platform", "assigned_to", "delta_ts",
"component", "reporter", "target_milestone", "bug_severity",
"creation_ts", "qa_contact", "op_sys", "resolution", "bug_file_loc",
$xml .= "<bug>\n";
- foreach my $field ("bug_id", "urlbase", "bug_status", "product",
+ foreach my $field ("bug_id", "bug_status", "product",
"priority", "version", "rep_platform", "assigned_to", "delta_ts",
"component", "reporter", "target_milestone", "bug_severity",
"creation_ts", "qa_contact", "op_sys", "resolution", "bug_file_loc",
maintainer CDATA #REQUIRED
exporter CDATA #IMPLIED
>
-<!ELEMENT bug (bug_id, (exporter?, urlbase?, bug_status, product, priority, version, rep_platform, assigned_to, delta_ts, component, reporter, target_milestone?, bug_severity, creation_ts, qa_contact?, op_sys, resolution?, bug_file_loc?, short_desc?, keywords*, status_whiteboard?, dependson*, blocks*, cc*, long_desc*, attachment*)?)>
+<!ELEMENT bug (bug_id, (bug_status, product, priority, version, rep_platform, assigned_to, delta_ts, component, reporter, target_milestone?, bug_severity, creation_ts, qa_contact?, op_sys, resolution?, bug_file_loc?, short_desc?, keywords*, status_whiteboard?, dependson*, blocks*, cc*, long_desc*, attachment*)?)>
<!ATTLIST bug
error (NotFound | NotPermitted | InvalidBugId) #IMPLIED
>
print "OK, now running sanity checks.<P>\n";
+# This one goes first, because if this is wrong, then the below tests
+# will probably fail too
+
+# This isn't extensible. Thats OK; we're not adding any more enum fields
+Status("Checking for invalid enumeration values");
+foreach my $field (("bug_severity", "bug_status", "op_sys",
+ "priority", "rep_platform", "resolution")) {
+ # undefined enum values in mysql are an empty string which equals 0
+ SendSQL("SELECT bug_id FROM bugs WHERE $field=0 ORDER BY bug_id");
+ my @invalid;
+ while (MoreSQLData()) {
+ push (@invalid, FetchOneColumn());
+ }
+ if (@invalid) {
+ Alert("Bug(s) found with invalid $field value: ".join(', ',@invalid));
+ }
+}
+
CrossCheck("keyworddefs", "id",
["keywords", "keywordid"]);