﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
36083	tests.file_storage.tests can fail when run in isolation	Adam Zapletal		"The full test suite run with multiple threads passes for me, but when I run the `tests.file_storage.tests` file in isolation (`./runtests.py file_storage.tests`), I get a failure. It passes in isolation if I run the tests with only one thread (`./runtests.py --parallel 1 file_storage.tests`). This happened to others when I asked about it in the Django Discord server, but not everyone. For what it's worth, I'm on the latest macOS running Python v3.12.

When a failure happens, I get the following error:

`django.core.exceptions.ImproperlyConfigured: AUTH_USER_MODEL refers to model 'auth.User' that has not been installed`

I have narrowed the issue down to the fact that this test file contains a class that inherits from `LiveServerTestCase`. It seems like any test file that mixes `LiveServerTestCase` and something more normal like `unittest.TestCase` will fail for me when run in isolation with more than one thread.

Here's a minimal example if anyone is interested:

{{{#!python
from unittest import TestCase

from django.test import LiveServerTestCase


class TestCaseTests(TestCase):
    def test(self):
        self.assertEqual(2, 2)


class LiveServerTestCaseTests(LiveServerTestCase):
    available_apps = []

    def test(self):
        self.client.get(self.live_server_url + '/')
}}}

I have a fix, but I'm not sure if it's a good one. Setting `available_apps = ['django.contrib.auth']` on the `LiveServerTestCase`-based class fixes it as one would expect from the error message, but I wonder if this is hiding something like a race condition. I wonder why it passes the full test suite when run with multiple threads, but it can't pass in isolation when run with multiple threads.

Should I open a pull request to fix [https://github.com/django/django/blob/8bee7fa45cd7bfe70b68784314e994e2d193fd70/tests/file_storage/tests.py#L1241 the test] in the way I mentioned above, or is something deeper going on here? It could be that I'm misunderstanding something about how `LiveServerTestCase` is isolated during test runs."	Bug	new	Testing framework	dev	Normal			Adam Zapletal	Unreviewed	0	0	0	0	0	0
