Bug 577538: Mark certain tests in xt/search.t as being broken only on Pg
(and a few as being not broken at all on Pg). r=mkanat, a=mkanat (module owner) git-svn-id: svn://10.0.0.236/trunk@260695 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
parent
c337458627
commit
e89bbecf66
@ -1 +1 @@
|
||||
7315
|
||||
7316
|
||||
@ -45,6 +45,7 @@ our @EXPORT = qw(
|
||||
NUM_SEARCH_TESTS
|
||||
OR_BROKEN
|
||||
OR_SKIP
|
||||
PG_BROKEN
|
||||
SKIP_FIELDS
|
||||
SUBSTR_SIZE
|
||||
TESTS
|
||||
@ -482,6 +483,29 @@ use constant KNOWN_BROKEN => {
|
||||
},
|
||||
};
|
||||
|
||||
# This tracks things that are broken in different ways on Pg compared to
|
||||
# MySQL. Actually, in some of these cases, Pg is behaving correctly
|
||||
# where MySQL isn't, but the result is still a bit surprising to the user.
|
||||
use constant PG_BROKEN => {
|
||||
'attach_data.thedata' => {
|
||||
allwords => { },
|
||||
allwordssubstr => { },
|
||||
anywords => { },
|
||||
notregexp => { contains => [5] },
|
||||
nowords => { contains => [5] },
|
||||
},
|
||||
percentage_complete => {
|
||||
'allwordssubstr-<1>' => { contains => [3] },
|
||||
anywordssubstr => { contains => [2,3] },
|
||||
casesubstring => { contains => [3] },
|
||||
'notregexp-<1>' => { contains => [3] },
|
||||
notsubstring => { contains => [3] },
|
||||
nowordssubstr => { contains => [3] },
|
||||
'regexp-<1>' => { contains => [3] },
|
||||
substring => { contains => [3] },
|
||||
},
|
||||
};
|
||||
|
||||
#############
|
||||
# Overrides #
|
||||
#############
|
||||
|
||||
@ -184,8 +184,15 @@ sub _known_broken {
|
||||
my $type = $self->field_object->type;
|
||||
my $operator = $self->operator;
|
||||
my $value = $self->main_value;
|
||||
|
||||
my $value_name = "$operator-$value";
|
||||
|
||||
if (Bugzilla->dbh->isa('Bugzilla::DB::Pg')) {
|
||||
my $field_broken = PG_BROKEN->{$field}->{$operator};
|
||||
return $field_broken if $field_broken;
|
||||
my $pg_value_broken = PG_BROKEN->{$field}->{$value_name};
|
||||
return $pg_value_broken if $pg_value_broken;
|
||||
}
|
||||
|
||||
my $value_broken = KNOWN_BROKEN->{$value_name}->{$field};
|
||||
$value_broken ||= KNOWN_BROKEN->{$value_name}->{$type};
|
||||
return $value_broken if $value_broken;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user