Opened 5 years ago
Closed 5 years ago
#31801 closed Bug (duplicate)
Oracle schema tests error out on Windows
| Reported by: | Ahmad A. Hussein | Owned by: | nobody |
|---|---|---|---|
| Component: | Database layer (models, ORM) | Version: | dev |
| Severity: | Normal | Keywords: | oracle, windows, schema |
| Cc: | Triage Stage: | Unreviewed | |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
Running the Django test suite on Windows with python3.8 gives the following errors in schema tests
ERROR: test_add_datefield_and_datetimefield_use_effective_default (schema.tests.SchemaTests)
effective_default() should be used for DateField, DateTimeField, and
----------------------------------------------------------------------
Traceback (most recent call last):
File "c:\users\ahmad\appdata\local\programs\python\python38\lib\unittest\mock.py", line 1325, in patched
return func(*newargs, **newkeywargs)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 2972, in test_add_datefield_and_datetimefield_use_effective_default
columns = self.column_classes(Author)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_VARCHAR>
======================================================================
ERROR: test_add_field (schema.tests.SchemaTests)
Tests adding fields to models
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 488, in test_add_field
columns = self.column_classes(Author)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_VARCHAR>
======================================================================
ERROR: test_add_field_binary (schema.tests.SchemaTests)
Tests binary fields get a sane default (#22851)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 612, in test_add_field_binary
columns = self.column_classes(Author)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_VARCHAR>
======================================================================
ERROR: test_add_field_default_dropped (schema.tests.SchemaTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 2650, in test_add_field_default_dropped
columns = self.column_classes(Author)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_VARCHAR>
======================================================================
ERROR: test_add_field_default_transform (schema.tests.SchemaTests)
Tests adding fields to models with a default that is not directly
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 593, in test_add_field_default_transform
columns = self.column_classes(Author)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_VARCHAR>
======================================================================
ERROR: test_add_field_temp_default (schema.tests.SchemaTests)
Tests adding fields to models with a temporary default
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 523, in test_add_field_temp_default
columns = self.column_classes(Author)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_VARCHAR>
======================================================================
ERROR: test_add_field_temp_default_boolean (schema.tests.SchemaTests)
Tests adding fields to models with a temporary default where
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 548, in test_add_field_temp_default_boolean
columns = self.column_classes(Author)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_VARCHAR>
======================================================================
ERROR: test_add_field_use_effective_default (schema.tests.SchemaTests)
#23987 - effective_default() should be used as the field default when
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 2630, in test_add_field_use_effective_default
columns = self.column_classes(Author)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_VARCHAR>
======================================================================
ERROR: test_alter (schema.tests.SchemaTests)
Tests simple altering of fields
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 642, in test_alter
columns = self.column_classes(Author)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_VARCHAR>
======================================================================
ERROR: test_alter_null_to_not_null (schema.tests.SchemaTests)
#23609 - Tests handling of default values when altering from NULL to NOT NULL.
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 858, in test_alter_null_to_not_null
columns = self.column_classes(Author)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_VARCHAR>
======================================================================
ERROR: test_alter_text_field_to_date_field (schema.tests.SchemaTests)
#25002 - Test conversion of text field to date field.
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 782, in test_alter_text_field_to_date_field
columns = self.column_classes(Note)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_DATE>
======================================================================
ERROR: test_rename (schema.tests.SchemaTests)
Tests simple altering of fields
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 1440, in test_rename
columns = self.column_classes(Author)
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 100, in column_classes
columns = {
File "C:\Users\ahmad\Desktop\Projects\DjangoGSOC\tests\schema\tests.py", line 101, in <dictcomp>
d[0]: (connection.introspection.get_field_type(d[1], d), d)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\oracle\introspection.py", line 51, in get_field_type
return super().get_field_type(data_type, description)
File "c:\users\ahmad\desktop\projects\djangogsoc\django\db\backends\base\introspection.py", line 25, in get_field_type
return self.data_types_reverse[data_type]
KeyError: <cx_Oracle.DbType DB_TYPE_VARCHAR>}}}
Note:
See TracTickets
for help on using tickets.
These failures are related with
cx_Oracle8 and are already fixed.Duplicate of #31751.