#23843: Test failures on Oracle/Python3
-------------------------------------+-------------------------------------
Reporter: shaib | Owner: nobody
Type: Uncategorized | Status: new
Component: Database layer | Version: master
(models, ORM) | Resolution:
Severity: Release blocker | Triage Stage: Accepted
Keywords: | Needs documentation: 0
Has patch: 0 | Patch needs improvement: 0
Needs tests: 0 | UI/UX: 0
Easy pickings: 0 |
-------------------------------------+-------------------------------------
Old description:
> On CI, as well as on my system:
>
> {{{
> ERROR: test_custom_functions
> (annotations.tests.NonAggregateAnnotationTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/home/django/django/django/db/backends/utils.py", line 65, in
> execute
> return self.cursor.execute(sql, params)
> File "/home/django/django/django/db/backends/oracle/base.py", line 916,
> in execute
> return self.cursor.execute(query, self._param_generator(params))
> cx_Oracle.DatabaseError: ORA-12704: character set mismatch
>
> The above exception was the direct cause of the following exception:
>
> Traceback (most recent call last):
> File "/home/django/django/tests/annotations/tests.py", line 254, in
> test_custom_functions
> lambda c: (c.name, c.tagline)
> File "/home/django/django/django/test/testcases.py", line 869, in
> assertQuerysetEqual
> items = six.moves.map(transform, qs)
> File "/home/django/django/django/db/models/query.py", line 161, in
> __iter__
> self._fetch_all()
> File "/home/django/django/django/db/models/query.py", line 989, in
> _fetch_all
> self._result_cache = list(self.iterator())
> File "/home/django/django/django/db/models/query.py", line 289, in
> iterator
> for row in compiler.results_iter():
> File "/home/django/django/django/db/models/sql/compiler.py", line 720,
> in results_iter
> for rows in self.execute_sql(MULTI):
> File "/home/django/django/django/db/models/sql/compiler.py", line 817,
> in execute_sql
> cursor.execute(sql, params)
> File "/home/django/django/django/db/backends/utils.py", line 65, in
> execute
> return self.cursor.execute(sql, params)
> File "/home/django/django/django/db/utils.py", line 95, in __exit__
> six.reraise(dj_exc_type, dj_exc_value, traceback)
> File "/home/django/django/django/utils/six.py", line 624, in reraise
> raise value.with_traceback(tb)
> File "/home/django/django/django/db/backends/utils.py", line 65, in
> execute
> return self.cursor.execute(sql, params)
> File "/home/django/django/django/db/backends/oracle/base.py", line 916,
> in execute
> return self.cursor.execute(query, self._param_generator(params))
> django.db.utils.DatabaseError: ORA-12704: character set mismatch
>
> ======================================================================
> ERROR: test_custom_functions_can_ref_other_functions
> (annotations.tests.NonAggregateAnnotationTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/home/django/django/django/db/backends/utils.py", line 65, in
> execute
> return self.cursor.execute(sql, params)
> File "/home/django/django/django/db/backends/oracle/base.py", line 916,
> in execute
> return self.cursor.execute(query, self._param_generator(params))
> cx_Oracle.DatabaseError: ORA-12704: character set mismatch
>
> The above exception was the direct cause of the following exception:
>
> Traceback (most recent call last):
> File "/home/django/django/tests/annotations/tests.py", line 287, in
> test_custom_functions_can_ref_other_functions
> lambda c: (c.name, c.tagline_lower)
> File "/home/django/django/django/test/testcases.py", line 869, in
> assertQuerysetEqual
> items = six.moves.map(transform, qs)
> File "/home/django/django/django/db/models/query.py", line 161, in
> __iter__
> self._fetch_all()
> File "/home/django/django/django/db/models/query.py", line 989, in
> _fetch_all
> self._result_cache = list(self.iterator())
> File "/home/django/django/django/db/models/query.py", line 289, in
> iterator
> for row in compiler.results_iter():
> File "/home/django/django/django/db/models/sql/compiler.py", line 720,
> in results_iter
> for rows in self.execute_sql(MULTI):
> File "/home/django/django/django/db/models/sql/compiler.py", line 817,
> in execute_sql
> cursor.execute(sql, params)
> File "/home/django/django/django/db/backends/utils.py", line 65, in
> execute
> return self.cursor.execute(sql, params)
> File "/home/django/django/django/db/utils.py", line 95, in __exit__
> six.reraise(dj_exc_type, dj_exc_value, traceback)
> File "/home/django/django/django/utils/six.py", line 624, in reraise
> raise value.with_traceback(tb)
> File "/home/django/django/django/db/backends/utils.py", line 65, in
> execute
> return self.cursor.execute(sql, params)
> File "/home/django/django/django/db/backends/oracle/base.py", line 916,
> in execute
> return self.cursor.execute(query, self._param_generator(params))
> django.db.utils.DatabaseError: ORA-12704: character set mismatch
> }}}
> So far only on mine:
> {{{
>
> ======================================================================
> ERROR: test_defer_annotation
> (annotations.tests.NonAggregateAnnotationTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/home/django/django/tests/annotations/tests.py", line 140, in
> test_defer_annotation
> with self.assertRaisesRegexp(FieldDoesNotExist, "\w has no field
> named u?'other_rating'"):
> File "/usr/lib/python3.3/unittest/case.py", line 1139, in
> deprecated_func
> DeprecationWarning, 2)
> DeprecationWarning: Please use assertRaisesRegex instead.
>
> ======================================================================
> ERROR: test_filter_wrong_annotation
> (annotations.tests.NonAggregateAnnotationTestCase)
> ----------------------------------------------------------------------
> Traceback (most recent call last):
> File "/home/django/django/tests/annotations/tests.py", line 78, in
> test_filter_wrong_annotation
> with self.assertRaisesRegexp(FieldError, "Cannot resolve keyword
> .*"):
> File "/usr/lib/python3.3/unittest/case.py", line 1139, in
> deprecated_func
> DeprecationWarning, 2)
> DeprecationWarning: Please use assertRaisesRegex instead.
> }}}
New description:
On CI, as well as on my system:
{{{
ERROR: test_custom_functions
(annotations.tests.NonAggregateAnnotationTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/django/django/django/db/backends/utils.py", line 65, in
execute
return self.cursor.execute(sql, params)
File "/home/django/django/django/db/backends/oracle/base.py", line 916,
in execute
return self.cursor.execute(query, self._param_generator(params))
cx_Oracle.DatabaseError: ORA-12704: character set mismatch
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/django/django/tests/annotations/tests.py", line 254, in
test_custom_functions
lambda c: (c.name, c.tagline)
File "/home/django/django/django/test/testcases.py", line 869, in
assertQuerysetEqual
items = six.moves.map(transform, qs)
File "/home/django/django/django/db/models/query.py", line 161, in
__iter__
self._fetch_all()
File "/home/django/django/django/db/models/query.py", line 989, in
_fetch_all
self._result_cache = list(self.iterator())
File "/home/django/django/django/db/models/query.py", line 289, in
iterator
for row in compiler.results_iter():
File "/home/django/django/django/db/models/sql/compiler.py", line 720,
in results_iter
for rows in self.execute_sql(MULTI):
File "/home/django/django/django/db/models/sql/compiler.py", line 817,
in execute_sql
cursor.execute(sql, params)
File "/home/django/django/django/db/backends/utils.py", line 65, in
execute
return self.cursor.execute(sql, params)
File "/home/django/django/django/db/utils.py", line 95, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/django/django/django/utils/six.py", line 624, in reraise
raise value.with_traceback(tb)
File "/home/django/django/django/db/backends/utils.py", line 65, in
execute
return self.cursor.execute(sql, params)
File "/home/django/django/django/db/backends/oracle/base.py", line 916,
in execute
return self.cursor.execute(query, self._param_generator(params))
django.db.utils.DatabaseError: ORA-12704: character set mismatch
======================================================================
ERROR: test_custom_functions_can_ref_other_functions
(annotations.tests.NonAggregateAnnotationTestCase)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/django/django/django/db/backends/utils.py", line 65, in
execute
return self.cursor.execute(sql, params)
File "/home/django/django/django/db/backends/oracle/base.py", line 916,
in execute
return self.cursor.execute(query, self._param_generator(params))
cx_Oracle.DatabaseError: ORA-12704: character set mismatch
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/home/django/django/tests/annotations/tests.py", line 287, in
test_custom_functions_can_ref_other_functions
lambda c: (c.name, c.tagline_lower)
File "/home/django/django/django/test/testcases.py", line 869, in
assertQuerysetEqual
items = six.moves.map(transform, qs)
File "/home/django/django/django/db/models/query.py", line 161, in
__iter__
self._fetch_all()
File "/home/django/django/django/db/models/query.py", line 989, in
_fetch_all
self._result_cache = list(self.iterator())
File "/home/django/django/django/db/models/query.py", line 289, in
iterator
for row in compiler.results_iter():
File "/home/django/django/django/db/models/sql/compiler.py", line 720,
in results_iter
for rows in self.execute_sql(MULTI):
File "/home/django/django/django/db/models/sql/compiler.py", line 817,
in execute_sql
cursor.execute(sql, params)
File "/home/django/django/django/db/backends/utils.py", line 65, in
execute
return self.cursor.execute(sql, params)
File "/home/django/django/django/db/utils.py", line 95, in __exit__
six.reraise(dj_exc_type, dj_exc_value, traceback)
File "/home/django/django/django/utils/six.py", line 624, in reraise
raise value.with_traceback(tb)
File "/home/django/django/django/db/backends/utils.py", line 65, in
execute
return self.cursor.execute(sql, params)
File "/home/django/django/django/db/backends/oracle/base.py", line 916,
in execute
return self.cursor.execute(query, self._param_generator(params))
django.db.utils.DatabaseError: ORA-12704: character set mismatch
}}}
--
Comment (by shaib):
Replying to [comment:3 charettes]:
> FWIW the deprecation warnings have been fixed in
68ef44c565d901945eb74768d439c93678315cf6.
Yes, those have nothing to do with the bug, and I probably just ran the
test with `-Werror` by mistake. I've removed them from the description.
--
Ticket URL: <https://code.djangoproject.com/ticket/23843#comment:5>
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 post to this group, send email to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/django-updates/063.bf3a4338559f5c7bc9ecb8000a2bf07a%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.