Use a condition variable instead of sleeping
This commit is contained in:
parent
280d865960
commit
75f2af7a6a
1 changed files with 6 additions and 3 deletions
|
|
@ -15,8 +15,7 @@ import flask
|
|||
import pickle
|
||||
import unittest
|
||||
from datetime import datetime
|
||||
from threading import Thread
|
||||
from time import sleep
|
||||
from threading import Thread, Condition
|
||||
from flask.testsuite import FlaskTestCase, emits_module_deprecation_warning
|
||||
from flask._compat import text_type
|
||||
from werkzeug.exceptions import BadRequest, NotFound
|
||||
|
|
@ -1019,12 +1018,16 @@ class BasicFunctionalityTestCase(FlaskTestCase):
|
|||
def test_before_first_request_functions_concurrent(self):
|
||||
got = []
|
||||
app = flask.Flask(__name__)
|
||||
cv = Condition()
|
||||
@app.before_first_request
|
||||
def foo():
|
||||
sleep(1)
|
||||
with cv:
|
||||
cv.wait()
|
||||
got.append(42)
|
||||
c = app.test_client()
|
||||
def get_and_assert():
|
||||
with cv:
|
||||
cv.notify()
|
||||
c.get("/")
|
||||
self.assert_equal(got, [42])
|
||||
t = Thread(target=get_and_assert)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue