Opened 3 weeks ago

Closed 2 weeks ago

#36936 closed Cleanup/optimization (fixed)

django-docker-box tests fail when running sqlite tests

Reported by: Wes P. Owned by: Pete Rosenblum
Component: Migrations Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Ready for checkin
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

I followed the quickstart instructions (the 4 steps) as described here: https://github.com/django/django-docker-box

The tests failed with the following result: Ran 18984 tests in 151.610s, FAILED (failures=12, errors=1, skipped=1181, expected failures=5).

My environment: Linux Pop-OS. Docker was installed using instructions from "https://docs.docker.com".

The full stacktrace is below:

======================================================================
ERROR: test_client_driver_info (cache.tests.RedisCacheTests.test_client_driver_info)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/cache/tests.py", line 1995, in test_client_driver_info
    info = self._lib.DriverInfo().add_upstream_driver("django", version)
    ^^^^^^^
AttributeError: 'RedisCacheTests' object has no attribute '_lib'

======================================================================
FAIL: test_loading_order_does_not_create_circular_dependency (migrations.test_loader.LoaderTests.test_loading_order_does_not_create_circular_dependency)
Before, for these migrations:
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/django/source/tests/migrations/test_loader.py", line 716, in test_loading_order_does_not_create_circular_dependency
    subprocess.run(
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/subprocess.py", line 577, in run
    raise CalledProcessError(retcode, process.args,
    ^^^^^^^^^^^
subprocess.CalledProcessError: Command '['/usr/local/bin/python', '-m', 'django', 'showmigrations', 'app1', '--skip-checks', '--settings', 'tmpxihil07q']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/migrations/test_loader.py", line 720, in test_loading_order_does_not_create_circular_dependency
    self.fail(err.stderr)
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: /usr/local/bin/python: No module named django


======================================================================
FAIL: test_run_cleanup (test_utils.test_simpletestcase.DebugInvocationTests.test_run_cleanup)
Simple test run: catches errors and runs cleanup.
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/mock.py", line 1432, in patched
    return func(*newargs, **newkeywargs)
    ^^^^^^^
  File "/django/source/tests/test_utils/test_simpletestcase.py", line 42, in test_run_cleanup
    self.assertIn(
  File "/usr/local/lib/python3.14/unittest/case.py", line 1192, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: 'Exception: debug() bubbles up exceptions before cleanup.' not found in 'Traceback (most recent call last):\n  File \x1b[35m"/django/source/tests/test_utils/test_simpletestcase.py"\x1b[0m, line \x1b[35m12\x1b[0m, in \x1b[35mraising_test\x1b[0m\n    raise Exception("debug() bubbles up exceptions before cleanup.")\n\x1b[1;35mException\x1b[0m: \x1b[35mdebug() bubbles up exceptions before cleanup.\x1b[0m\n'

======================================================================
FAIL: test_run_post_teardown_error (test_utils.test_simpletestcase.DebugInvocationTests.test_run_post_teardown_error)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/mock.py", line 1432, in patched
    return func(*newargs, **newkeywargs)
    ^^^^^^^
  File "/django/source/tests/test_utils/test_simpletestcase.py", line 71, in test_run_post_teardown_error
    self.assertIn("Exception: Exception in _post_teardown.", traceback)
    ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 1192, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: 'Exception: Exception in _post_teardown.' not found in 'Traceback (most recent call last):\n  File \x1b[35m"/usr/local/lib/python3.14/unittest/mock.py"\x1b[0m, line \x1b[35m1175\x1b[0m, in \x1b[35m__call__\x1b[0m\n    return \x1b[31mself._mock_call\x1b[0m\x1b[1;31m(*args, **kwargs)\x1b[0m\n           \x1b[31m~~~~~~~~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^^^^^^^^^^^^\x1b[0m\n  File \x1b[35m"/usr/local/lib/python3.14/unittest/mock.py"\x1b[0m, line \x1b[35m1179\x1b[0m, in \x1b[35m_mock_call\x1b[0m\n    return \x1b[31mself._execute_mock_call\x1b[0m\x1b[1;31m(*args, **kwargs)\x1b[0m\n           \x1b[31m~~~~~~~~~~~~~~~~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^^^^^^^^^^^^\x1b[0m\n  File \x1b[35m"/usr/local/lib/python3.14/unittest/mock.py"\x1b[0m, line \x1b[35m1234\x1b[0m, in \x1b[35m_execute_mock_call\x1b[0m\n    raise effect\n\x1b[1;35mException\x1b[0m: \x1b[35mException in _post_teardown.\x1b[0m\n'

======================================================================
FAIL: test_run_pre_setup_error (test_utils.test_simpletestcase.DebugInvocationTests.test_run_pre_setup_error)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/mock.py", line 1432, in patched
    return func(*newargs, **newkeywargs)
    ^^^^^^^
  File "/django/source/tests/test_utils/test_simpletestcase.py", line 57, in test_run_pre_setup_error
    self.assertIn("Exception: Exception in _pre_setup.", traceback)
    ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 1192, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: 'Exception: Exception in _pre_setup.' not found in 'Traceback (most recent call last):\n  File \x1b[35m"/usr/local/lib/python3.14/unittest/mock.py"\x1b[0m, line \x1b[35m1175\x1b[0m, in \x1b[35m__call__\x1b[0m\n    return \x1b[31mself._mock_call\x1b[0m\x1b[1;31m(*args, **kwargs)\x1b[0m\n           \x1b[31m~~~~~~~~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^^^^^^^^^^^^\x1b[0m\n  File \x1b[35m"/usr/local/lib/python3.14/unittest/mock.py"\x1b[0m, line \x1b[35m1179\x1b[0m, in \x1b[35m_mock_call\x1b[0m\n    return \x1b[31mself._execute_mock_call\x1b[0m\x1b[1;31m(*args, **kwargs)\x1b[0m\n           \x1b[31m~~~~~~~~~~~~~~~~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^^^^^^^^^^^^\x1b[0m\n  File \x1b[35m"/usr/local/lib/python3.14/unittest/mock.py"\x1b[0m, line \x1b[35m1234\x1b[0m, in \x1b[35m_execute_mock_call\x1b[0m\n    raise effect\n\x1b[1;35mException\x1b[0m: \x1b[35mException in _pre_setup.\x1b[0m\n'

======================================================================
FAIL: test_program_name_from_argv (admin_scripts.tests.ExecuteFromCommandLine.test_program_name_from_argv)
Program name is computed from the execute_from_command_line()'s argv
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/admin_scripts/tests.py", line 2564, in test_program_name_from_argv
    self.assertIn("usage: django-admin shell", out.getvalue())
    ^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 1192, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: 'usage: django-admin shell' not found in '\x1b[1;34musage: \x1b[0m\x1b[1;35mdjango-admin shell\x1b[0m [\x1b[32m-h\x1b[0m] [\x1b[36m--no-startup\x1b[0m] [\x1b[36m--no-imports\x1b[0m] [\x1b[32m-i \x1b[33m{ipython,bpython,python}\x1b[0m] [\x1b[32m-c \x1b[33mCOMMAND\x1b[0m] [\x1b[36m--version\x1b[0m]\n                          [\x1b[32m-v \x1b[33m{0,1,2,3}\x1b[0m] [\x1b[36m--settings \x1b[33mSETTINGS\x1b[0m] [\x1b[36m--pythonpath \x1b[33mPYTHONPATH\x1b[0m] [\x1b[36m--traceback\x1b[0m] [\x1b[36m--no-color\x1b[0m]\n                          [\x1b[36m--force-color\x1b[0m]\n\nRuns a Python interactive interpreter. Tries to use IPython or bpython, if one of them is available. Any standard\ninput is executed as code.\n\n\x1b[1;34moptions:\x1b[0m\n  \x1b[1;32m-h\x1b[0m, \x1b[1;36m--help\x1b[0m            show this help message and exit\n  \x1b[1;36m--no-startup\x1b[0m          When using plain Python, ignore the PYTHONSTARTUP environment variable and ~/.pythonrc.py\n                        script.\n  \x1b[1;36m--no-imports\x1b[0m          Disable automatic imports of models.\n  \x1b[1;32m-i\x1b[0m, \x1b[1;36m--interface\x1b[0m \x1b[1;33m{ipython,bpython,python}\x1b[0m\n                        Specify an interactive interpreter interface. Available options: "ipython", "bpython", and\n                        "python"\n  \x1b[1;32m-c\x1b[0m, \x1b[1;36m--command\x1b[0m \x1b[1;33mCOMMAND\x1b[0m\n                        Instead of opening an interactive shell, run a command as Django and exit.\n  \x1b[1;36m--version\x1b[0m             Show program\'s version number and exit.\n  \x1b[1;32m-v\x1b[0m, \x1b[1;36m--verbosity\x1b[0m \x1b[1;33m{0,1,2,3}\x1b[0m\n                        Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output\n  \x1b[1;36m--settings\x1b[0m \x1b[1;33mSETTINGS\x1b[0m   The Python path to a settings module, e.g. "myproject.settings.main". If this isn\'t provided,\n                        the DJANGO_SETTINGS_MODULE environment variable will be used.\n  \x1b[1;36m--pythonpath\x1b[0m \x1b[1;33mPYTHONPATH\x1b[0m\n                        A directory to add to the Python path, e.g. "/home/djangoprojects/myproject".\n  \x1b[1;36m--traceback\x1b[0m           Display a full stack trace on CommandError exceptions.\n  \x1b[1;36m--no-color\x1b[0m            Don\'t colorize the command output.\n  \x1b[1;36m--force-color\x1b[0m         Force colorization of the command output.\n'

======================================================================
FAIL: test_attribute_error (admin_scripts.tests.ManageSettingsWithSettingsErrors.test_attribute_error)
manage.py builtin commands does not swallow attribute error due to bad
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/admin_scripts/tests.py", line 1422, in test_attribute_error
    self.assertOutput(err, "AttributeError: 'list' object has no attribute 'crash'")
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/admin_scripts/tests.py", line 196, in assertOutput
    self.assertIn(
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 1192, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: "AttributeError: 'list' object has no attribute 'crash'" not found in 'Traceback (most recent call last):\n  File \x1b[35m"/tmp/django__i13n7zf/tmpbmf2hfqz/test_project/./manage.py"\x1b[0m, line \x1b[35m22\x1b[0m, in \x1b[35m<module>\x1b[0m\n    \x1b[31mmain\x1b[0m\x1b[1;31m()\x1b[0m\n    \x1b[31m~~~~\x1b[0m\x1b[1;31m^^\x1b[0m\n  File \x1b[35m"/tmp/django__i13n7zf/tmpbmf2hfqz/test_project/./manage.py"\x1b[0m, line \x1b[35m18\x1b[0m, in \x1b[35mmain\x1b[0m\n    \x1b[31mexecute_from_command_line\x1b[0m\x1b[1;31m(sys.argv)\x1b[0m\n    \x1b[31m~~~~~~~~~~~~~~~~~~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^^^^^\x1b[0m\n  File \x1b[35m"/django/source/django/core/management/__init__.py"\x1b[0m, line \x1b[35m443\x1b[0m, in \x1b[35mexecute_from_command_line\x1b[0m\n    \x1b[31mutility.execute\x1b[0m\x1b[1;31m()\x1b[0m\n    \x1b[31m~~~~~~~~~~~~~~~\x1b[0m\x1b[1;31m^^\x1b[0m\n  File \x1b[35m"/django/source/django/core/management/__init__.py"\x1b[0m, line \x1b[35m383\x1b[0m, in \x1b[35mexecute\x1b[0m\n    settings.INSTALLED_APPS\n  File \x1b[35m"/django/source/django/conf/__init__.py"\x1b[0m, line \x1b[35m75\x1b[0m, in \x1b[35m__getattr__\x1b[0m\n    \x1b[31mself._setup\x1b[0m\x1b[1;31m(name)\x1b[0m\n    \x1b[31m~~~~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^\x1b[0m\n  File \x1b[35m"/django/source/django/conf/__init__.py"\x1b[0m, line \x1b[35m62\x1b[0m, in \x1b[35m_setup\x1b[0m\n    self._wrapped = \x1b[31mSettings\x1b[0m\x1b[1;31m(settings_module)\x1b[0m\n                    \x1b[31m~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^^^^^^^^^^^^\x1b[0m\n  File \x1b[35m"/django/source/django/conf/__init__.py"\x1b[0m, line \x1b[35m162\x1b[0m, in \x1b[35m__init__\x1b[0m\n    mod = importlib.import_module(self.SETTINGS_MODULE)\n  File \x1b[35m"/usr/local/lib/python3.14/importlib/__init__.py"\x1b[0m, line \x1b[35m88\x1b[0m, in \x1b[35mimport_module\x1b[0m\n    return \x1b[31m_bootstrap._gcd_import\x1b[0m\x1b[1;31m(name[level:], package, level)\x1b[0m\n           \x1b[31m~~~~~~~~~~~~~~~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap>"\x1b[0m, line \x1b[35m1398\x1b[0m, in \x1b[35m_gcd_import\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap>"\x1b[0m, line \x1b[35m1371\x1b[0m, in \x1b[35m_find_and_load\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap>"\x1b[0m, line \x1b[35m1342\x1b[0m, in \x1b[35m_find_and_load_unlocked\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap>"\x1b[0m, line \x1b[35m938\x1b[0m, in \x1b[35m_load_unlocked\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap_external>"\x1b[0m, line \x1b[35m759\x1b[0m, in \x1b[35mexec_module\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap>"\x1b[0m, line \x1b[35m491\x1b[0m, in \x1b[35m_call_with_frames_removed\x1b[0m\n  File \x1b[35m"/tmp/django__i13n7zf/tmpbmf2hfqz/test_project/settings.py"\x1b[0m, line \x1b[35m7\x1b[0m, in \x1b[35m<module>\x1b[0m\n    BAD_VAR = \x1b[1;31mINSTALLED_APPS.crash\x1b[0m\n              \x1b[1;31m^^^^^^^^^^^^^^^^^^^^\x1b[0m\n\x1b[1;35mAttributeError\x1b[0m: \x1b[35m\'list\' object has no attribute \'crash\'\x1b[0m\n' : 'AttributeError: 'list' object has no attribute 'crash'' does not match actual output text 'Traceback (most recent call last):
  File "/tmp/django__i13n7zf/tmpbmf2hfqz/test_project/./manage.py", line 22, in <module>
    main()
    ~~~~^^
  File "/tmp/django__i13n7zf/tmpbmf2hfqz/test_project/./manage.py", line 18, in main
    execute_from_command_line(sys.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/django/source/django/core/management/__init__.py", line 443, in execute_from_command_line
    utility.execute()
    ~~~~~~~~~~~~~~~^^
  File "/django/source/django/core/management/__init__.py", line 383, in execute
    settings.INSTALLED_APPS
  File "/django/source/django/conf/__init__.py", line 75, in __getattr__
    self._setup(name)
    ~~~~~~~~~~~^^^^^^
  File "/django/source/django/conf/__init__.py", line 62, in _setup
    self._wrapped = Settings(settings_module)
                    ~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/django/source/django/conf/__init__.py", line 162, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/usr/local/lib/python3.14/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1398, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1342, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 938, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 759, in exec_module
  File "<frozen importlib._bootstrap>", line 491, in _call_with_frames_removed
  File "/tmp/django__i13n7zf/tmpbmf2hfqz/test_project/settings.py", line 7, in <module>
    BAD_VAR = INSTALLED_APPS.crash
              ^^^^^^^^^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'crash'
'

======================================================================
FAIL: test_key_error (admin_scripts.tests.ManageSettingsWithSettingsErrors.test_key_error)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/admin_scripts/tests.py", line 1429, in test_key_error
    self.assertOutput(err, "KeyError: 'blah'")
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/admin_scripts/tests.py", line 196, in assertOutput
    self.assertIn(
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 1192, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: "KeyError: 'blah'" not found in 'Traceback (most recent call last):\n  File \x1b[35m"/tmp/django__i13n7zf/tmp7o48qiax/test_project/./manage.py"\x1b[0m, line \x1b[35m22\x1b[0m, in \x1b[35m<module>\x1b[0m\n    \x1b[31mmain\x1b[0m\x1b[1;31m()\x1b[0m\n    \x1b[31m~~~~\x1b[0m\x1b[1;31m^^\x1b[0m\n  File \x1b[35m"/tmp/django__i13n7zf/tmp7o48qiax/test_project/./manage.py"\x1b[0m, line \x1b[35m18\x1b[0m, in \x1b[35mmain\x1b[0m\n    \x1b[31mexecute_from_command_line\x1b[0m\x1b[1;31m(sys.argv)\x1b[0m\n    \x1b[31m~~~~~~~~~~~~~~~~~~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^^^^^\x1b[0m\n  File \x1b[35m"/django/source/django/core/management/__init__.py"\x1b[0m, line \x1b[35m443\x1b[0m, in \x1b[35mexecute_from_command_line\x1b[0m\n    \x1b[31mutility.execute\x1b[0m\x1b[1;31m()\x1b[0m\n    \x1b[31m~~~~~~~~~~~~~~~\x1b[0m\x1b[1;31m^^\x1b[0m\n  File \x1b[35m"/django/source/django/core/management/__init__.py"\x1b[0m, line \x1b[35m383\x1b[0m, in \x1b[35mexecute\x1b[0m\n    settings.INSTALLED_APPS\n  File \x1b[35m"/django/source/django/conf/__init__.py"\x1b[0m, line \x1b[35m75\x1b[0m, in \x1b[35m__getattr__\x1b[0m\n    \x1b[31mself._setup\x1b[0m\x1b[1;31m(name)\x1b[0m\n    \x1b[31m~~~~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^\x1b[0m\n  File \x1b[35m"/django/source/django/conf/__init__.py"\x1b[0m, line \x1b[35m62\x1b[0m, in \x1b[35m_setup\x1b[0m\n    self._wrapped = \x1b[31mSettings\x1b[0m\x1b[1;31m(settings_module)\x1b[0m\n                    \x1b[31m~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^^^^^^^^^^^^\x1b[0m\n  File \x1b[35m"/django/source/django/conf/__init__.py"\x1b[0m, line \x1b[35m162\x1b[0m, in \x1b[35m__init__\x1b[0m\n    mod = importlib.import_module(self.SETTINGS_MODULE)\n  File \x1b[35m"/usr/local/lib/python3.14/importlib/__init__.py"\x1b[0m, line \x1b[35m88\x1b[0m, in \x1b[35mimport_module\x1b[0m\n    return \x1b[31m_bootstrap._gcd_import\x1b[0m\x1b[1;31m(name[level:], package, level)\x1b[0m\n           \x1b[31m~~~~~~~~~~~~~~~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap>"\x1b[0m, line \x1b[35m1398\x1b[0m, in \x1b[35m_gcd_import\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap>"\x1b[0m, line \x1b[35m1371\x1b[0m, in \x1b[35m_find_and_load\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap>"\x1b[0m, line \x1b[35m1342\x1b[0m, in \x1b[35m_find_and_load_unlocked\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap>"\x1b[0m, line \x1b[35m938\x1b[0m, in \x1b[35m_load_unlocked\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap_external>"\x1b[0m, line \x1b[35m759\x1b[0m, in \x1b[35mexec_module\x1b[0m\n  File \x1b[35m"<frozen importlib._bootstrap>"\x1b[0m, line \x1b[35m491\x1b[0m, in \x1b[35m_call_with_frames_removed\x1b[0m\n  File \x1b[35m"/tmp/django__i13n7zf/tmp7o48qiax/test_project/settings.py"\x1b[0m, line \x1b[35m7\x1b[0m, in \x1b[35m<module>\x1b[0m\n    BAD_VAR = \x1b[31mDATABASES\x1b[0m\x1b[1;31m["blah"]\x1b[0m\n              \x1b[31m~~~~~~~~~\x1b[0m\x1b[1;31m^^^^^^^^\x1b[0m\n\x1b[1;35mKeyError\x1b[0m: \x1b[35m\'blah\'\x1b[0m\n' : 'KeyError: 'blah'' does not match actual output text 'Traceback (most recent call last):
  File "/tmp/django__i13n7zf/tmp7o48qiax/test_project/./manage.py", line 22, in <module>
    main()
    ~~~~^^
  File "/tmp/django__i13n7zf/tmp7o48qiax/test_project/./manage.py", line 18, in main
    execute_from_command_line(sys.argv)
    ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^
  File "/django/source/django/core/management/__init__.py", line 443, in execute_from_command_line
    utility.execute()
    ~~~~~~~~~~~~~~~^^
  File "/django/source/django/core/management/__init__.py", line 383, in execute
    settings.INSTALLED_APPS
  File "/django/source/django/conf/__init__.py", line 75, in __getattr__
    self._setup(name)
    ~~~~~~~~~~~^^^^^^
  File "/django/source/django/conf/__init__.py", line 62, in _setup
    self._wrapped = Settings(settings_module)
                    ~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/django/source/django/conf/__init__.py", line 162, in __init__
    mod = importlib.import_module(self.SETTINGS_MODULE)
  File "/usr/local/lib/python3.14/importlib/__init__.py", line 88, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1398, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1371, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1342, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 938, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 759, in exec_module
  File "<frozen importlib._bootstrap>", line 491, in _call_with_frames_removed
  File "/tmp/django__i13n7zf/tmp7o48qiax/test_project/settings.py", line 7, in <module>
    BAD_VAR = DATABASES["blah"]
              ~~~~~~~~~^^^^^^^^
KeyError: 'blah'
'

======================================================================
FAIL: test_base_command_with_wrong_option (admin_scripts.tests.CommandTypes.test_base_command_with_wrong_option)
User BaseCommands outputs command usage when wrong option is specified
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/admin_scripts/tests.py", line 2182, in test_base_command_with_wrong_option
    self.assertOutput(err, "usage: manage.py base_command")
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/admin_scripts/tests.py", line 196, in assertOutput
    self.assertIn(
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 1192, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: 'usage: manage.py base_command' not found in '\x1b[1;34musage: \x1b[0m\x1b[1;35mmanage.py base_command\x1b[0m [\x1b[32m-h\x1b[0m] [\x1b[36m--option_a \x1b[33mOPTION_A\x1b[0m] [\x1b[36m--option_b \x1b[33mOPTION_B\x1b[0m] [\x1b[36m--option_c \x1b[33mOPTION_C\x1b[0m] [\x1b[36m--version\x1b[0m]\n                              [\x1b[32m-v \x1b[33m{0,1,2,3}\x1b[0m] [\x1b[36m--settings \x1b[33mSETTINGS\x1b[0m] [\x1b[36m--pythonpath \x1b[33mPYTHONPATH\x1b[0m] [\x1b[36m--traceback\x1b[0m]\n                              [\x1b[36m--no-color\x1b[0m] [\x1b[36m--force-color\x1b[0m]\n                              \x1b[32m[args ...]\x1b[0m\nmanage.py base_command: error: unrecognized arguments: --invalid\n' : 'usage: manage.py base_command' does not match actual output text 'usage: manage.py base_command [-h] [--option_a OPTION_A] [--option_b OPTION_B] [--option_c OPTION_C] [--version]
                              [-v {0,1,2,3}] [--settings SETTINGS] [--pythonpath PYTHONPATH] [--traceback]
                              [--no-color] [--force-color]
                              [args ...]
manage.py base_command: error: unrecognized arguments: --invalid
'

======================================================================
FAIL: test_help_default_options_with_custom_arguments (admin_scripts.tests.CommandTypes.test_help_default_options_with_custom_arguments)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/admin_scripts/tests.py", line 2022, in test_help_default_options_with_custom_arguments
    self.assertOutput(out, f"[{option}]")
    ^^^^^^^^^^^
  File "/django/source/tests/admin_scripts/tests.py", line 196, in assertOutput
    self.assertIn(
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 1192, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: '[-h]' not found in '\x1b[1;34musage: \x1b[0m\x1b[1;35mmanage.py base_command\x1b[0m [\x1b[32m-h\x1b[0m] [\x1b[36m--option_a \x1b[33mOPTION_A\x1b[0m] [\x1b[36m--option_b \x1b[33mOPTION_B\x1b[0m] [\x1b[36m--option_c \x1b[33mOPTION_C\x1b[0m] [\x1b[36m--version\x1b[0m]\n                              [\x1b[32m-v \x1b[33m{0,1,2,3}\x1b[0m] [\x1b[36m--settings \x1b[33mSETTINGS\x1b[0m] [\x1b[36m--pythonpath \x1b[33mPYTHONPATH\x1b[0m] [\x1b[36m--traceback\x1b[0m]\n                              [\x1b[36m--no-color\x1b[0m] [\x1b[36m--force-color\x1b[0m]\n                              \x1b[32m[args ...]\x1b[0m\n\nTest basic commands\n\n\x1b[1;34mpositional arguments:\x1b[0m\n  \x1b[1;32margs\x1b[0m\n\n\x1b[1;34moptions:\x1b[0m\n  \x1b[1;32m-h\x1b[0m, \x1b[1;36m--help\x1b[0m            show this help message and exit\n  \x1b[1;36m--option_a\x1b[0m, \x1b[1;32m-a\x1b[0m \x1b[1;33mOPTION_A\x1b[0m\n  \x1b[1;36m--option_b\x1b[0m, \x1b[1;32m-b\x1b[0m \x1b[1;33mOPTION_B\x1b[0m\n  \x1b[1;36m--option_c\x1b[0m, \x1b[1;32m-c\x1b[0m \x1b[1;33mOPTION_C\x1b[0m\n  \x1b[1;36m--version\x1b[0m             Show program\'s version number and exit.\n  \x1b[1;32m-v\x1b[0m, \x1b[1;36m--verbosity\x1b[0m \x1b[1;33m{0,1,2,3}\x1b[0m\n                        Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output\n  \x1b[1;36m--settings\x1b[0m \x1b[1;33mSETTINGS\x1b[0m   The Python path to a settings module, e.g. "myproject.settings.main". If this isn\'t provided,\n                        the DJANGO_SETTINGS_MODULE environment variable will be used.\n  \x1b[1;36m--pythonpath\x1b[0m \x1b[1;33mPYTHONPATH\x1b[0m\n                        A directory to add to the Python path, e.g. "/home/djangoprojects/myproject".\n  \x1b[1;36m--traceback\x1b[0m           Display a full stack trace on CommandError exceptions.\n  \x1b[1;36m--no-color\x1b[0m            Don\'t colorize the command output.\n  \x1b[1;36m--force-color\x1b[0m         Force colorization of the command output.\n' : '[-h]' does not match actual output text 'usage: manage.py base_command [-h] [--option_a OPTION_A] [--option_b OPTION_B] [--option_c OPTION_C] [--version]
                              [-v {0,1,2,3}] [--settings SETTINGS] [--pythonpath PYTHONPATH] [--traceback]
                              [--no-color] [--force-color]
                              [args ...]

Test basic commands

positional arguments:
  args

options:
  -h, --help            show this help message and exit
  --option_a, -a OPTION_A
  --option_b, -b OPTION_B
  --option_c, -c OPTION_C
  --version             Show program's version number and exit.
  -v, --verbosity {0,1,2,3}
                        Verbosity level; 0=minimal output, 1=normal output, 2=verbose output, 3=very verbose output
  --settings SETTINGS   The Python path to a settings module, e.g. "myproject.settings.main". If this isn't provided,
                        the DJANGO_SETTINGS_MODULE environment variable will be used.
  --pythonpath PYTHONPATH
                        A directory to add to the Python path, e.g. "/home/djangoprojects/myproject".
  --traceback           Display a full stack trace on CommandError exceptions.
  --no-color            Don't colorize the command output.
  --force-color         Force colorization of the command output.
'

======================================================================
FAIL: test_suppress_base_options_command_help (admin_scripts.tests.CommandTypes.test_suppress_base_options_command_help)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/admin_scripts/tests.py", line 2395, in test_suppress_base_options_command_help
    self.assertOutput(out, "-h, --help")
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/admin_scripts/tests.py", line 196, in assertOutput
    self.assertIn(
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 1192, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: '-h, --help' not found in '\x1b[1;34musage: \x1b[0m\x1b[1;35mmanage.py suppress_base_options_command\x1b[0m [\x1b[32m-h\x1b[0m]\n\nTest suppress base options command.\n\n\x1b[1;34moptions:\x1b[0m\n  \x1b[1;32m-h\x1b[0m, \x1b[1;36m--help\x1b[0m  show this help message and exit\n' : '-h, --help' does not match actual output text 'usage: manage.py suppress_base_options_command [-h]

Test suppress base options command.

options:
  -h, --help  show this help message and exit
'

======================================================================
FAIL: test_output_verbose (test_runner.test_debug_sql.TestDebugSQL.test_output_verbose)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/test_runner/test_debug_sql.py", line 259, in test_output_verbose
    self.assertIn(output, full_output)
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 1192, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: 'runTest (test_runner.test_debug_sql.TestDebugSQL.FailingTest.runTest) ... FAIL' not found in 'runTest (test_runner.test_debug_sql.TestDebugSQL.FailingTest.runTest) ... \x1b[31mFAIL\x1b[0m\n(0.000) SELECT COUNT(*) AS "__count"\nFROM "test_runner_person"\nWHERE "test_runner_person"."first_name" = \'fail\'; args=(\'fail\',); alias=default\n----------------------------------------------------------------------\nrunTest (test_runner.test_debug_sql.TestDebugSQL.ErrorTest.runTest) ... \x1b[31mERROR\x1b[0m\n(0.000) SELECT COUNT(*) AS "__count"\nFROM "test_runner_person"\nWHERE "test_runner_person"."first_name" = \'error\'; args=(\'error\',); alias=default\n----------------------------------------------------------------------\nrunTest (test_runner.test_debug_sql.TestDebugSQL.PassingTest.runTest) ... \x1b[32mok\x1b[0m\n(0.000) SELECT COUNT(*) AS "__count"\nFROM "test_runner_person"\nWHERE "test_runner_person"."first_name" = \'pass\'; args=(\'pass\',); alias=default\n----------------------------------------------------------------------\nrunTest (test_runner.test_debug_sql.TestDebugSQL.PassingSubTest.runTest) ... \x1b[32mok\x1b[0m\n(0.000) SELECT COUNT(*) AS "__count"\nFROM "test_runner_person"\nWHERE "test_runner_person"."first_name" = \'subtest-pass\'; args=(\'subtest-pass\',); alias=default\n----------------------------------------------------------------------\nrunTest (test_runner.test_debug_sql.TestDebugSQL.FailingSubTest.runTest) ... \n  runTest (test_runner.test_debug_sql.TestDebugSQL.FailingSubTest.runTest) (<subtest>) ... \x1b[31mFAIL\x1b[0m\n(0.000) SELECT COUNT(*) AS "__count"\nFROM "test_runner_person"\nWHERE "test_runner_person"."first_name" = \'subtest-fail\'; args=(\'subtest-fail\',); alias=default\n----------------------------------------------------------------------\nrunTest (test_runner.test_debug_sql.TestDebugSQL.ErrorSubTest.runTest) ... \n  runTest (test_runner.test_debug_sql.TestDebugSQL.ErrorSubTest.runTest) (<subtest>) ... \x1b[31mERROR\x1b[0m\n(0.000) SELECT COUNT(*) AS "__count"\nFROM "test_runner_person"\nWHERE "test_runner_person"."first_name" = \'subtest-error\'; args=(\'subtest-error\',); alias=default\n----------------------------------------------------------------------\n\n======================================================================\n\x1b[31mERROR\x1b[0m: runTest (test_runner.test_debug_sql.TestDebugSQL.ErrorTest.runTest)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \x1b[35m"/django/source/tests/test_runner/test_debug_sql.py"\x1b[0m, line \x1b[35m199\x1b[0m, in \x1b[35mrunTest\x1b[0m\n    raise Exception\n\x1b[1;35mException\x1b[0m\n\n----------------------------------------------------------------------\n(0.000) SELECT COUNT(*) AS "__count"\nFROM "test_runner_person"\nWHERE "test_runner_person"."first_name" = \'error\'; args=(\'error\',); alias=default\n\n======================================================================\n\x1b[31mERROR\x1b[0m: runTest (test_runner.test_debug_sql.TestDebugSQL.ErrorSubTest.runTest) (<subtest>)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \x1b[35m"/django/source/tests/test_runner/test_debug_sql.py"\x1b[0m, line \x1b[35m224\x1b[0m, in \x1b[35mrunTest\x1b[0m\n    raise Exception\n\x1b[1;35mException\x1b[0m\n\n----------------------------------------------------------------------\n(0.000) SELECT COUNT(*) AS "__count"\nFROM "test_runner_person"\nWHERE "test_runner_person"."first_name" = \'subtest-error\'; args=(\'subtest-error\',); alias=default\n\n======================================================================\n\x1b[31mFAIL\x1b[0m: runTest (test_runner.test_debug_sql.TestDebugSQL.FailingTest.runTest)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \x1b[35m"/django/source/tests/test_runner/test_debug_sql.py"\x1b[0m, line \x1b[35m194\x1b[0m, in \x1b[35mrunTest\x1b[0m\n    \x1b[31mself.fail\x1b[0m\x1b[1;31m()\x1b[0m\n    \x1b[31m~~~~~~~~~\x1b[0m\x1b[1;31m^^\x1b[0m\n\x1b[1;35mAssertionError\x1b[0m: \x1b[35mNone\x1b[0m\n\n----------------------------------------------------------------------\n(0.000) SELECT COUNT(*) AS "__count"\nFROM "test_runner_person"\nWHERE "test_runner_person"."first_name" = \'fail\'; args=(\'fail\',); alias=default\n\n======================================================================\n\x1b[31mFAIL\x1b[0m: runTest (test_runner.test_debug_sql.TestDebugSQL.FailingSubTest.runTest) (<subtest>)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \x1b[35m"/django/source/tests/test_runner/test_debug_sql.py"\x1b[0m, line \x1b[35m218\x1b[0m, in \x1b[35mrunTest\x1b[0m\n    \x1b[31mself.fail\x1b[0m\x1b[1;31m()\x1b[0m\n    \x1b[31m~~~~~~~~~\x1b[0m\x1b[1;31m^^\x1b[0m\n\x1b[1;35mAssertionError\x1b[0m: \x1b[35mNone\x1b[0m\n\n----------------------------------------------------------------------\n(0.000) SELECT COUNT(*) AS "__count"\nFROM "test_runner_person"\nWHERE "test_runner_person"."first_name" = \'subtest-fail\'; args=(\'subtest-fail\',); alias=default\n\n----------------------------------------------------------------------\nRan 6 tests in 0.131s\n\n\x1b[1;31mFAILED\x1b[0m (\x1b[1;31mfailures=2\x1b[0m, \x1b[1;31merrors=2\x1b[0m)\n'

======================================================================
FAIL: test_setupclass_exception (test_runner.test_debug_sql.TestDebugSQL.test_setupclass_exception)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/local/lib/python3.14/unittest/case.py", line 58, in testPartExecutor
    yield
  File "/usr/local/lib/python3.14/unittest/case.py", line 669, in run
    self._callTestMethod(testMethod)
    
  File "/usr/local/lib/python3.14/unittest/case.py", line 615, in _callTestMethod
    result = method()
    ^^^^^^^^^^^^^^^
  File "/django/source/tests/test_runner/test_debug_sql.py", line 324, in test_setupclass_exception
    self.assertIn(
  File "/usr/local/lib/python3.14/unittest/case.py", line 1192, in assertIn
    self.fail(self._formatMessage(msg, standardMsg))
    ^^^^^^^^^^^
  File "/usr/local/lib/python3.14/unittest/case.py", line 750, in fail
    raise self.failureException(msg)
    ^^^^^^^^^^^^^^^
AssertionError: 'ERROR: setUpClass (test_runner.test_debug_sql.TestDebugSQL.ErrorSetUpTestDataTest)' not found in '======================================================================\n\x1b[31mERROR\x1b[0m: setUpClass (test_runner.test_debug_sql.TestDebugSQL.ErrorSetUpTestDataTest)\n----------------------------------------------------------------------\nTraceback (most recent call last):\n  File \x1b[35m"/django/source/tests/test_runner/test_debug_sql.py"\x1b[0m, line \x1b[35m204\x1b[0m, in \x1b[35msetUpTestData\x1b[0m\n    raise Exception\n\x1b[1;35mException\x1b[0m\n\n----------------------------------------------------------------------\n\n----------------------------------------------------------------------\nRan 0 tests in 0.000s\n\n\x1b[1;31mFAILED\x1b[0m (\x1b[1;31merrors=1\x1b[0m)\n'

----------------------------------------------------------------------
Ran 18984 tests in 151.610s

FAILED (failures=12, errors=1, skipped=1181, expected failures=5)

Change History (10)

comment:1 by Pete Rosenblum, 3 weeks ago

Owner: set to Pete Rosenblum
Status: newassigned
Triage Stage: UnreviewedAccepted

I'm able to reproduce, will work on a fix.

comment:2 by Pete Rosenblum, 3 weeks ago

Has patch: set

comment:3 by Jacob Walls, 3 weeks ago

Component: Testing frameworkMigrations
Version: 6.0dev

Thanks, as I mentioned on Discord the failure on test_loading_order_does_not_create_circular_dependency was on my list to look into.

comment:4 by Jacob Walls, 2 weeks ago

Patch needs improvement: set

Thanks for the PR. I think we should have separate commits for the three classes of issue here (tests pathing, force color, redis typo). I've asked Nick for input on the tests pathing one vis a vis Docker, but the other two can advance separately (and more quickly) if we isolate them. Does that make sense?

comment:5 by Pete Rosenblum, 2 weeks ago

Thanks… Yes, makes sense. I’ll separate these out into multiple PRs this afternoon.

comment:6 by Pete Rosenblum, 2 weeks ago

Opened https://github.com/django/django/pull/20771 and https://github.com/django/django/pull/20770 to track the terminal color and redis typo issues, respectively, and reduced the scope of https://github.com/django/django/pull/20728 to include only the PYTHONPATH issue.

comment:7 by GitHub <noreply@…>, 2 weeks ago

In a91e03d7:

Refs #36879, #36936 -- Fixed typo in RedisCacheTests.test_client_driver_info.

comment:8 by GitHub <noreply@…>, 2 weeks ago

In f991a18:

Refs #36652, #36936 -- Improved path manipulation in a migration test launching a subprocess.

comment:9 by Jacob Walls <jacobtylerwalls@…>, 2 weeks ago

In 71d1e92e:

Refs #36936 - Adjusted tests to set PYTHON_COLORS environment variable.

When "FORCE_COLOR" was set in the environment (such as in django-docker-box)
several test cases that rely on string comparisons against exception
messages or command line results would fail due to ANSI escape sequences
being present in the output. This change resolved the issue by setting
the "PYTHON_COLORS" environment variable to "0" for those specific tests,
which takes precendence over the presence of "FORCE_COLOR".

comment:10 by Jacob Walls, 2 weeks ago

Patch needs improvement: unset
Resolution: fixed
Status: assignedclosed
Triage Stage: AcceptedReady for checkin
Note: See TracTickets for help on using tickets.
Back to Top