Konstantin Alekseev
b514dc14f4
Fixed #30015 -- Ensured request body is properly consumed for keep-alive connections.
2018-12-19 11:27:08 +01:00
Florian Apolloner
934acf1126
Fixed keep-alive support in manage.py runserver.
...
Ticket #25619 changed the default protocol to HTTP/1.1 but did not
properly implement keep-alive. As a "fix" keep-alive was disabled in
ticket #28440 to prevent clients from hanging (they expect the server to
send more data if the connection is not closed and there is no content
length set).
The combination of those two fixes resulted in yet another problem:
HTTP/1.1 by default allows a client to assume that keep-alive is
supported unless the server disables it via 'Connection: close' -- see
RFC2616 8.1.2.1 for details on persistent connection negotiation. Now if
the client receives a response from Django without 'Connection: close'
and immediately sends a new request (on the same tcp connection) before
our server closes the tcp connection, it will error out at some point
because the connection does get closed a few milli seconds later.
This patch fixes the mentioned issues by always sending 'Connection:
close' if we cannot determine a content length. The code is inefficient
in the sense that it does not allow for persistent connections when
chunked responses are used, but that should not really cause any
problems (Django does not generate those) and it only affects the
development server anyways.
Refs #25619 , #28440 .
2018-11-10 13:54:45 +01:00
Tom
32ade78c55
Refs #28440 -- Fixed server connection closing test on macOS.
2017-10-13 13:29:29 -04:00
Tim Graham
cfff2af02b
Fixed #27857 -- Dropped support for Python 3.4.
2017-09-25 17:11:03 -04:00
Tom
ac756f16c5
Fixed #28440 -- Fixed WSGIServer hang on responses without a Content-Length.
...
Disabled keep-alive to fix the regression in
e6065c7b83
.
2017-09-12 10:41:28 -04:00
Jon Dufresne
a0f8c52ae2
Fixed ResourceWarnings in tests/servers/tests.py.
...
e.g. ResourceWarning: unclosed <socket.socket [closed] fd=6, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=6>
2017-06-05 09:56:51 -04:00
Robert Rollins
b6d4b6e544
Fixed #28212 -- Allowed customizing the port that LiveServerTestCase uses.
...
Forwardport of 877d7b71ae
from stable/1.11.x
2017-05-30 18:49:10 -04:00
Claude Paroz
e6065c7b83
Fixed #25619 -- Made runserver serve with HTTP 1.1 protocol
...
Thanks Tim Graham for the review.
2017-02-23 09:04:53 +01:00
Nadège Michel
bece837829
Fixed #20238 -- Added threading support to LiveServerTestCase.
2017-02-09 19:08:32 -05:00
Claude Paroz
fee42fd99e
Refs #23919 -- Replaced usage of django.utils.http utilities with Python equivalents
...
Thanks Tim Graham for the review.
2017-01-26 19:49:03 +01:00
chillaranand
d6eaf7c018
Refs #23919 -- Replaced super(ClassName, self) with super().
2017-01-25 12:23:46 -05:00
Tim Graham
4e729feaa6
Refs #23919 -- Removed django.utils._os.upath()/npath()/abspathu() usage.
...
These functions do nothing on Python 3.
2017-01-20 08:01:02 -05:00
Simon Charette
9695b14982
Refs #23919 -- Removed str() conversion of type and method __name__.
2017-01-19 11:31:07 -05:00
Tim Graham
5320fa77c3
Refs #23919 -- Removed obsolete contextlib.closing() calls (for Python 2).
2017-01-19 08:50:28 -05:00
Claude Paroz
2b281cc35e
Refs #23919 -- Removed most of remaining six usage
...
Thanks Tim Graham for the review.
2017-01-18 21:33:28 +01:00
Claude Paroz
7b2f2e74ad
Refs #23919 -- Removed six.<various>_types usage
...
Thanks Tim Graham and Simon Charette for the reviews.
2017-01-18 20:18:46 +01:00
Claude Paroz
d7b9aaa366
Refs #23919 -- Removed encoding preambles and future imports
2017-01-18 09:55:19 +01:00
za
321e94fa41
Refs #27392 -- Removed "Tests that", "Ensures that", etc. from test docstrings.
2016-11-10 21:30:21 -05:00
Chris Jerdonek
f6cd669ff2
Fixed #22414 -- Ensured that LiveServerTestCase closes connections.
2016-08-19 12:47:41 -04:00
Tim Graham
81cdcb66bc
Fixed #26791 -- Replaced LiveServerTestCase port ranges with binding to port 0.
2016-06-23 12:04:05 -04:00
Tim Graham
ea34426ae7
Fixed flake8 2.6 warnings.
2016-06-16 09:12:50 -04:00
Marten Kenbeek
b551eda9c5
Refs #26011 -- Fixed AttributeError in test_port_bind test.
2016-01-02 11:03:24 -05:00
Marten Kenbeek
c87540cee5
Fixed #26011 -- Prevented random LiveServerTestCase test failures on Windows.
...
Prevented LiveServerTestCase from stealing ports used by concurrent
processes on Windows.
2015-12-31 10:57:03 -05:00
Andriy Sokolovskiy
b40c551fdf
Fixed some unclosed objects in tests
2015-07-06 10:10:40 -04:00
Moritz Sichert
296919e7a5
Fixed #24965 -- Made LiveServerTestCase.live_server_url accessible from class
2015-06-12 17:44:54 -04:00
Tim Graham
0ed7d15563
Sorted imports with isort; refs #23860 .
2015-02-06 08:16:28 -05:00
Thomas Chaumeny
d89f56dc4d
Fixed #21281 -- Made override_settings act at class level when used as a TestCase decorator.
2014-11-03 14:14:39 -05:00
Anubhav Joshi
cd914e31c9
Fixed #21977 -- Deprecated SimpleTestCase.urls
2014-04-06 17:33:43 -04:00
Rodolfo Carvalho
0d91225892
Fixed many typos in comments and docstrings.
...
Thanks Piotr Kasprzyk for help with the patch.
2014-03-03 07:38:09 -05:00
Aymeric Augustin
e32095616c
Imported override_settings from its new location.
2013-12-23 21:37:56 +01:00
Jason Myers
c3791463a5
Fixing E302 Errors
...
Signed-off-by: Jason Myers <jason@jasonamyers.com>
2013-11-02 23:48:47 -05:00
Florian Apolloner
2ca00faa91
Fixed "Address already in use" from liveserver.
...
Our WSGIServer rewrapped the socket errors from server_bind into
WSGIServerExceptions, which is used later on to provide nicer
error messages in runserver and used by the liveserver to see if
the port is already in use. But wrapping server_bind isn't enough since
it only binds to the socket, socket.listen (which is called from
server_activate) could also raise "Address already in use".
Instead of overriding server_activate too I chose to just catch socket
errors, which seems to make more sense anyways and should be more robust
against changes in wsgiref.
2013-09-22 22:02:59 +02:00
Aymeric Augustin
6a6428a36f
Took advantage of django.utils.six.moves.urllib.*.
2013-09-05 14:39:23 -05:00
Ramiro Morales
e909ceae9b
Made django.test.testcases not depend on staticfiles contrib app.
...
Do this by introducing a django.contrib.staticfiles.testing.StaticLiveServerCase
unittest TestCase subclass.
Fixes #20739 .
2013-08-31 11:02:32 -03:00
Ramiro Morales
22af1394c6
Expand testing of Test LiveServerTestCase static files serving.
2013-08-10 16:32:07 -03:00
Julien Phalip
47c755327b
Fixed a number of minor misspellings.
2013-07-27 18:46:03 -07:00
Oliver Beattie
552a90b444
Fixed #20290 -- Allow override_settings to be nested
...
Refactored override_settings to store the underlying settings._wrapped
value seen at runtime, not instantiation time.
2013-06-21 16:57:47 +02:00
Aymeric Augustin
c6e6d4eeb7
Defined available_apps in relevant tests.
...
Fixed #20483 .
2013-06-10 11:30:01 +02:00
Florian Apolloner
33836cf88d
Renamed some tests and removed references to modeltests/regressiontests.
2013-02-26 14:36:57 +01:00
Florian Apolloner
89f40e3624
Merged regressiontests and modeltests into the test root.
2013-02-26 14:36:57 +01:00