#31601: Test suite fails on latest PostgreSQL versions
-------------------------------------+-------------------------------------
Reporter: Hannes Ljungberg | Owner: Hannes
| Ljungberg
Type: Bug | Status: assigned
Component: contrib.postgres | Version: 3.1
Severity: Normal | Resolution:
Keywords: tests | Triage Stage:
| Unreviewed
Has patch: 1 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 1
Easy pickings: 0 | UI/UX: 0
-------------------------------------+-------------------------------------
Description changed by Hannes Ljungberg:
Old description:
> A couple of full text search related to headlines tests break on
> PostgresSQL 10.13. The reason appears to be that a trailing `!` is now
> present in the results which breaks the equality checks. Looking at the
> 10.13 release notes ([https://www.postgresql.org/docs/release/10.13/])
> it's probable that the patch "Fix ts_headline() to make better headline
> selections when working with phrase queries" introduced this behaviour.
>
> Output of failures:
>
> {{{
> ======================================================================
> FAIL [0.015s]: test_headline
> (postgres_tests.test_search.SearchHeadlineTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/tests/django/tests/postgres_tests/test_search.py", line 569, in
> test_headline
> '<b>Robin</b>. He was not at all afraid to be killed in nasty '
> AssertionError: '<b>R[80 chars]brave</b>, <b>brave</b>, <b>brave</b>
> <b>Sir</b> <b>Robin</b>!' != '<b>R[80 chars]brave</b>, <b>brave</b>,
> <b>brave</b> <b>Sir</b> <b>Robin</b>'
> - <b>Robin</b>. He was not at all afraid to be killed in nasty ways.
> <b>Brave</b>, <b>brave</b>, <b>brave</b>, <b>brave</b> <b>Sir</b>
> <b>Robin</b>!
> ?
> -
> + <b>Robin</b>. He was not at all afraid to be killed in nasty ways.
> <b>Brave</b>, <b>brave</b>, <b>brave</b>, <b>brave</b> <b>Sir</b>
> <b>Robin</b>
>
> ======================================================================
> FAIL [0.019s]: test_headline_separator_options
> (postgres_tests.test_search.SearchHeadlineTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/tests/django/tests/postgres_tests/test_search.py", line 621, in
> test_headline_separator_options
> '<span>Robin</span>. He was not at all afraid to be killed in '
> AssertionError: '<spa[122 chars]span>, <span>brave</span>
> <span>Sir</span> <span>Robin</span>!' != '<spa[122 chars]span>,
> <span>brave</span> <span>Sir</span> <span>Robin</span>'
> - <span>Robin</span>. He was not at all afraid to be killed in nasty
> ways. <span>Brave</span>, <span>brave</span>, <span>brave</span>,
> <span>brave</span> <span>Sir</span> <span>Robin</span>!
> ?
> -
> + <span>Robin</span>. He was not at all afraid to be killed in nasty
> ways. <span>Brave</span>, <span>brave</span>, <span>brave</span>,
> <span>brave</span> <span>Sir</span> <span>Robin</span>
>
> ======================================================================
> FAIL [0.016s]: test_headline_short_word_option
> (postgres_tests.test_search.SearchHeadlineTests)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/tests/django/tests/postgres_tests/test_search.py", line 650, in
> test_headline_short_word_option
> ), True)
> AssertionError: False is not True
> }}}
New description:
A couple of full text search related to headlines tests break on the
latest PostgresSQL versions (9.6.18, 10.13 11.8, 12.3). The reason appears
to be that a trailing `!` is now present in the results which breaks the
equality checks. Looking at the 10.13 release notes
([https://www.postgresql.org/docs/release/10.13/]) it's probable that the
patch "Fix ts_headline() to make better headline selections when working
with phrase queries" introduced this behaviour.
Output of failures:
{{{
======================================================================
FAIL [0.015s]: test_headline
(postgres_tests.test_search.SearchHeadlineTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tests/django/tests/postgres_tests/test_search.py", line 569, in
test_headline
'<b>Robin</b>. He was not at all afraid to be killed in nasty '
AssertionError: '<b>R[80 chars]brave</b>, <b>brave</b>, <b>brave</b>
<b>Sir</b> <b>Robin</b>!' != '<b>R[80 chars]brave</b>, <b>brave</b>,
<b>brave</b> <b>Sir</b> <b>Robin</b>'
- <b>Robin</b>. He was not at all afraid to be killed in nasty ways.
<b>Brave</b>, <b>brave</b>, <b>brave</b>, <b>brave</b> <b>Sir</b>
<b>Robin</b>!
?
-
+ <b>Robin</b>. He was not at all afraid to be killed in nasty ways.
<b>Brave</b>, <b>brave</b>, <b>brave</b>, <b>brave</b> <b>Sir</b>
<b>Robin</b>
======================================================================
FAIL [0.019s]: test_headline_separator_options
(postgres_tests.test_search.SearchHeadlineTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tests/django/tests/postgres_tests/test_search.py", line 621, in
test_headline_separator_options
'<span>Robin</span>. He was not at all afraid to be killed in '
AssertionError: '<spa[122 chars]span>, <span>brave</span> <span>Sir</span>
<span>Robin</span>!' != '<spa[122 chars]span>, <span>brave</span>
<span>Sir</span> <span>Robin</span>'
- <span>Robin</span>. He was not at all afraid to be killed in nasty ways.
<span>Brave</span>, <span>brave</span>, <span>brave</span>,
<span>brave</span> <span>Sir</span> <span>Robin</span>!
?
-
+ <span>Robin</span>. He was not at all afraid to be killed in nasty ways.
<span>Brave</span>, <span>brave</span>, <span>brave</span>,
<span>brave</span> <span>Sir</span> <span>Robin</span>
======================================================================
FAIL [0.016s]: test_headline_short_word_option
(postgres_tests.test_search.SearchHeadlineTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/tests/django/tests/postgres_tests/test_search.py", line 650, in
test_headline_short_word_option
), True)
AssertionError: False is not True
}}}
--
--
Ticket URL: <https://code.djangoproject.com/ticket/31601#comment:3>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/067.385e82378597666d8b03ecf7096b2cd1%40djangoproject.com.