My app is called abcapp. I am running Django 1.5b1 on Python 2.7. The same issue happens in the latest trunk release of django.
When I run manage.py test abcapp
all tests which I have written pass.
When I run manage.py test
I get a cascade of failures. The first of these failures is shown:
Traceback (most recent call last):
File "C:\Program Files\Django-1.5b1\django\core\handlers\base.py", line 116, in get_response
response = callback(request, *callback_args, **callback_kwargs)
File "C:\Program Files\Django-1.5b1\django\views\decorators\cache.py", line 89, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "C:\Program Files\Django-1.5b1\django\contrib\messages\tests\urls.py", line 30, in add
getattr(messages, message_type)(request, msg)
File "C:\Program Files\Django-1.5b1\django\contrib\messages\api.py", line 70, in debug
fail_silently=fail_silently)
File "C:\Program Files\Django-1.5b1\django\contrib\messages\api.py", line 22, in add_message
raise MessageFailure('You cannot add messages without installing '
MessageFailure: You cannot add messages without installing django.contrib.messages.middleware.MessageMiddleware
The test results are:
======================================================================
FAIL: test_clearsessions_command (django.contrib.sessions.tests.FileSessionTests)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Program Files\Django-1.5b1\django\test\utils.py", line 213, in inner
return test_func(*args, **kwargs)
File "C:\Program Files\Django-1.5b1\django\contrib\sessions\tests.py", line 444, in test_clearsessions_command
self.assertEqual(1, count_sessions())
AssertionError: 1 != 2
----------------------------------------------------------------------
Ran 474 tests in 5.768s
FAILED (failures=1, skipped=141, expected failures=1)
Contrary to the messages, I do have django.contrib.messages.middleware.MessageMiddleware
in my MIDDLEWARE_CLASSES
. The value of my MIDDLEWARE_CLASSES
is below. I use messages within my app without any issues.
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'debug_toolbar.middleware.DebugToolbarMiddleware',
)
Can anyone shed some light on this issue? While I can run my own tests only, I would like to run the entire suite to ensure proper quality control.
Research results: I noticed through my own testing, that when the test http Client is used, none of the middleware is loaded. I discovered this when I was trying to test my own middleware through web requests in the test Client. If that is the case, would this mean that there is untestable code in the djanog core?
It seems that is a bug of the windows version.
Here is the issue File-based session does not store any data on Windows.
Recommended workaround: just replace os.rename
with shutil.move
in django/contrib/sessions/backends/file.py
:
+import shutil
....
-os.rename(output_file_name, session_file_name)
+shutil.move(output_file_name, session_file_name)
Original patch
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With