Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Fixed #14351 -- Modified the requests test case to avoid an timing pr…

…oblem in the test.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@13922 bcc190cf-cafb-0310-a4f2-bffc1f526a37
  • Loading branch information...
commit 1637fefcb04a219a7fa0517db7d29e3cd7cb214e 1 parent d80d2e8
Russell Keith-Magee freakboy3742 authored
Showing with 13 additions and 2 deletions.
  1. +13 −2 tests/regressiontests/requests/tests.py
15 tests/regressiontests/requests/tests.py
View
@@ -48,9 +48,20 @@
# Test cookie datetime expiration logic
>>> from datetime import datetime, timedelta
+>>> import time
>>> delta = timedelta(seconds=10)
>>> response = HttpResponse()
->>> response.set_cookie('datetime', expires=datetime.utcnow()+delta)
+>>> expires = datetime.utcnow() + delta
+
+# There is a timing weakness in this test; The
+# expected result for max-age requires that there be
+# a very slight difference between the evaluated expiration
+# time, and the time evaluated in set_cookie(). If this
+# difference doesn't exist, the cookie time will be
+# 1 second larger. To avoid the problem, put in a quick sleep,
+# which guarantees that there will be a time difference.
+>>> time.sleep(0.001)
+>>> response.set_cookie('datetime', expires=expires)
>>> datetime_cookie = response.cookies['datetime']
>>> datetime_cookie['max-age']
10
@@ -58,7 +69,7 @@
>>> response.cookies['datetime']['expires']
'Sat, 01-Jan-2028 04:05:06 GMT'
-# Test automatically setting cookie expires if only max_age is provided
+# Test automatically setting cookie expires if only max_age is provided
>>> response.set_cookie('max_age', max_age=10)
>>> max_age_cookie = response.cookies['max_age']
>>> max_age_cookie['max-age']
Please sign in to comment.
Something went wrong with that request. Please try again.