|
@@ -1,4 +1,5 @@
|
|
|
import unittest
|
|
|
+import xml.etree.ElementTree
|
|
|
|
|
|
from django.db import NotSupportedError, connection, transaction
|
|
|
from django.db.models import Count
|
|
@@ -31,6 +32,13 @@ class ExplainTests(TestCase):
|
|
|
self.assertTrue(captured_queries[0]['sql'].startswith(connection.ops.explain_prefix))
|
|
|
self.assertIsInstance(result, str)
|
|
|
self.assertTrue(result)
|
|
|
+ if format == 'xml':
|
|
|
+ try:
|
|
|
+ xml.etree.ElementTree.fromstring(result)
|
|
|
+ except xml.etree.ElementTree.ParseError as e:
|
|
|
+ self.fail(
|
|
|
+ f'QuerySet.explain() result is not valid XML: {e}'
|
|
|
+ )
|
|
|
|
|
|
@skipUnlessDBFeature('validates_explain_options')
|
|
|
def test_unknown_options(self):
|