Opened 5 years ago

Closed 5 years ago

#30353 closed Bug (invalid)

Recursion Error while running tests

Reported by: Manan Owned by: nobody
Component: Testing framework Version: dev
Severity: Normal Keywords: recustion, tests
Cc: Triage Stage: Unreviewed
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

This is the output I get -

$ ./runtests.py queries
Testing against Django installed in '<path>' with up to 4 processes
Creating test database for alias 'default'...
Cloning test database for alias 'default'...
Cloning test database for alias 'default'...
Cloning test database for alias 'default'...
Cloning test database for alias 'default'...
System check identified no issues (1 silenced).
s.....sss........s.......................s..........s......................s.......x................x.........................................................................................s...................................................................................F........................................................................................
======================================================================
FAIL: test_avoid_infinite_loop_on_too_many_subqueries (queries.tests.Queries1Tests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3.6/unittest/case.py", line 59, in testPartExecutor
    yield
  File "/usr/lib/python3.6/unittest/case.py", line 605, in run
    testMethod()
  File "/tmp/django/tests/queries/tests.py", line 409, in test_avoid_infinite_loop_on_too_many_subqueries
    x = Tag.objects.filter(pk__in=x)
  File "/usr/lib/python3.6/contextlib.py", line 99, in __exit__
    self.gen.throw(type, value, traceback)
  File "<path>/django/django/test/testcases.py", line 676, in _assert_raises_or_warns_cm
    self.assertIn(expected_message, str(getattr(cm, cm_attr)))
  File "/usr/lib/python3.6/unittest/case.py", line 1089, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
  File "/usr/lib/python3.6/unittest/case.py", line 670, in fail
    raise self.failureException(msg)
AssertionError: 'Maximum recursion depth exceeded: too many subqueries.' not found in 'maximum recursion depth exceeded in comparison'

----------------------------------------------------------------------
Ran 363 tests in 0.622s

FAILED (failures=1, skipped=9, expected failures=2)
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...
Destroying test database for alias 'default'...

Change History (1)

comment:1 by Mariusz Felisiak, 5 years ago

Easy pickings: unset
Resolution: invalid
Status: assignedclosed

Thanks for the report, however error message is correct. You get different message because recursion limit on your system is lower then we expected in a test (probably 1000). PR with fix is already prepared and it is waiting for merging.

Note: See TracTickets for help on using tickets.
Back to Top