summaryrefslogtreecommitdiff
path: root/tests/regressiontests/requests/tests.py
diff options
context:
space:
mode:
authorRussell Keith-Magee <russell@keith-magee.com>2010-09-28 04:35:50 +0000
committerRussell Keith-Magee <russell@keith-magee.com>2010-09-28 04:35:50 +0000
commit1637fefcb04a219a7fa0517db7d29e3cd7cb214e (patch)
tree4eb809977913f16913678eb2b7748f8428957caa /tests/regressiontests/requests/tests.py
parentd80d2e8103a5d8a96863cebf433d61afa45e319e (diff)
Fixed #14351 -- Modified the requests test case to avoid an timing problem in the test.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@13922 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/requests/tests.py')
-rw-r--r--tests/regressiontests/requests/tests.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/tests/regressiontests/requests/tests.py b/tests/regressiontests/requests/tests.py
index 22bc88c172..a0abbabea5 100644
--- a/tests/regressiontests/requests/tests.py
+++ b/tests/regressiontests/requests/tests.py
@@ -48,9 +48,20 @@ http://www.example.com/path/with:colons
# 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 @@ http://www.example.com/path/with:colons
>>> 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']