|
6 | 6 |
|
7 | 7 | import os |
8 | 8 |
|
| 9 | +import django |
9 | 10 | from django.db.backends.base.features import BaseDatabaseFeatures |
10 | 11 | from django.db.utils import InterfaceError |
11 | 12 |
|
@@ -205,9 +206,6 @@ def introspected_field_types(self): |
205 | 206 | "many_to_one_null.tests.ManyToOneNullTests.test_set_clear_non_bulk", |
206 | 207 | "many_to_one_null.tests.ManyToOneNullTests.test_unsaved", |
207 | 208 | "foreign_object.tests.MultiColumnFKTests.test_prefetch_foreignobject_reverse", |
208 | | - # Indexes tests |
209 | | - "indexes.tests.CoveringIndexTests.test_covering_index", |
210 | | - "indexes.tests.CoveringIndexTests.test_covering_partial_index", |
211 | 209 | # Admin ChangeList tests |
212 | 210 | "admin_changelist.tests.ChangeListTests.test_custom_lookup_in_search_fields", |
213 | 211 | "admin_changelist.tests.ChangeListTests.test_deterministic_order_for_model_ordered_by_its_manager", |
@@ -773,27 +771,6 @@ def introspected_field_types(self): |
773 | 771 | "ordering.tests.OrderingTests.test_extra_ordering", |
774 | 772 | "ordering.tests.OrderingTests.test_extra_ordering_quoting", |
775 | 773 | "ordering.tests.OrderingTests.test_extra_ordering_with_table_name", |
776 | | - # Spanner uses random int64 IDs; test assumes monotonic ordering matching insertion order. |
777 | | - "prefetch_related.tests.PrefetchRelatedMTICacheTests.test_parent_m2m_available_in_child", |
778 | | - # Client-side AutoField ID generation sets pk before save; _is_pk_set() triggers refresh_from_db instead of AttributeError. |
779 | | - "defer_regress.tests.DeferCopyInstanceTests.test_bulk_create", |
780 | | - "defer_regress.tests.DeferCopyInstanceTests.test_save", |
781 | | - # Spanner does not support nested transactions/savepoints; raising inside atomic() aborts the whole transaction. |
782 | | - "update_only_fields.tests.UpdateOnlyFieldsTests.test_update_fields_not_updated", |
783 | | - # Test checks warning caller stacklevel; wrapping create_test_db shifts frame depth. |
784 | | - "backends.base.test_creation.TestDbCreationTests.test_serialize_deprecation", |
785 | | - # Runtime client-side AutoField initialization defaults trigger false-positive diffs in makemigrations autodetector. |
786 | | - "migrations.test_commands.MakeMigrationsTests.test_makemigrations_check_no_changes", |
787 | | - "migrations.test_commands.MakeMigrationsTests.test_makemigrations_model_rename_interactive", |
788 | | - "migrations.test_commands.MakeMigrationsTests.test_makemigrations_no_changes", |
789 | | - # Spanner query parameter limit (max_query_params = 900) limits batch chunk size. |
790 | | - "bulk_create.tests.BulkCreateTests.test_max_batch_size", |
791 | | - # Query count assertions mismatch due to Spanner batch DML execution behavior. |
792 | | - "bulk_create.tests.BulkCreateTransactionTests.test_multiple_batches", |
793 | | - # All objects get client-side PKs, collapsing multi-query insertion into a single batch query. |
794 | | - "bulk_create.tests.BulkCreateTransactionTests.test_objs_with_and_without_pk", |
795 | | - # Tie-breaker ordering on pk assumes sequential integer IDs; Spanner uses random IDs. |
796 | | - "ordering.tests.OrderingTests.test_order_by_case_when_constant_value", |
797 | 774 | "ordering.tests.OrderingTests.test_order_by_constant_value", |
798 | 775 | "ordering.tests.OrderingTests.test_order_by_f_expression", |
799 | 776 | "ordering.tests.OrderingTests.test_order_by_f_expression_duplicates", |
@@ -2289,3 +2266,33 @@ def introspected_field_types(self): |
2289 | 2266 | "expressions.tests.BasicExpressionsTests.test_outerref_mixed_case_table_name", |
2290 | 2267 | "db_functions.text.test_concat.ConcatTests.test_concat_non_str", |
2291 | 2268 | ) |
| 2269 | + |
| 2270 | + django_6_0_skip_tests = ( |
| 2271 | + # Indexes tests (upstream tests hardcode PostgreSQL's INCLUDE keyword) |
| 2272 | + "indexes.tests.CoveringIndexTests.test_covering_index", |
| 2273 | + "indexes.tests.CoveringIndexTests.test_covering_partial_index", |
| 2274 | + # Spanner uses random int64 IDs; test assumes monotonic ordering matching insertion order. |
| 2275 | + "prefetch_related.tests.PrefetchRelatedMTICacheTests.test_parent_m2m_available_in_child", |
| 2276 | + # Client-side AutoField ID generation sets pk before save; _is_pk_set() triggers refresh_from_db instead of AttributeError. |
| 2277 | + "defer_regress.tests.DeferCopyInstanceTests.test_bulk_create", |
| 2278 | + "defer_regress.tests.DeferCopyInstanceTests.test_save", |
| 2279 | + # Spanner does not support nested transactions/savepoints; raising inside atomic() aborts the whole transaction. |
| 2280 | + "update_only_fields.tests.UpdateOnlyFieldsTests.test_update_fields_not_updated", |
| 2281 | + # Test checks warning caller stacklevel; wrapping create_test_db shifts frame depth. |
| 2282 | + "backends.base.test_creation.TestDbCreationTests.test_serialize_deprecation", |
| 2283 | + # Runtime client-side AutoField initialization defaults trigger false-positive diffs in makemigrations autodetector. |
| 2284 | + "migrations.test_commands.MakeMigrationsTests.test_makemigrations_check_no_changes", |
| 2285 | + "migrations.test_commands.MakeMigrationsTests.test_makemigrations_model_rename_interactive", |
| 2286 | + "migrations.test_commands.MakeMigrationsTests.test_makemigrations_no_changes", |
| 2287 | + # Spanner query parameter limit (max_query_params = 900) limits batch chunk size. |
| 2288 | + "bulk_create.tests.BulkCreateTests.test_max_batch_size", |
| 2289 | + # Query count assertions mismatch due to Spanner batch DML execution behavior. |
| 2290 | + "bulk_create.tests.BulkCreateTransactionTests.test_multiple_batches", |
| 2291 | + # All objects get client-side PKs, collapsing multi-query insertion into a single batch query. |
| 2292 | + "bulk_create.tests.BulkCreateTransactionTests.test_objs_with_and_without_pk", |
| 2293 | + # Tie-breaker ordering on pk assumes sequential integer IDs; Spanner uses random IDs. |
| 2294 | + "ordering.tests.OrderingTests.test_order_by_case_when_constant_value", |
| 2295 | + ) |
| 2296 | + |
| 2297 | + if django.VERSION >= (6, 0): |
| 2298 | + skip_tests += django_6_0_skip_tests |
0 commit comments