From 0a7f2cd67dda27ea4d38389b49a4e2a1899b834e Mon Sep 17 00:00:00 2001 From: Pavel Minaev Date: Tue, 25 May 2021 14:06:14 -0700 Subject: [PATCH] Fix #628: Flask tests fail because werkzeug.server.shutdown is deprecated Use @app.teardown_request to exit asynchronously after serving the response. --- tests/test_data/flask1/app.py | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/tests/test_data/flask1/app.py b/tests/test_data/flask1/app.py index b0934e38..a45f8aff 100644 --- a/tests/test_data/flask1/app.py +++ b/tests/test_data/flask1/app.py @@ -1,8 +1,10 @@ +import os from flask import Flask from flask import render_template app = Flask(__name__) +exiting = False @app.route("/") @@ -34,10 +36,11 @@ def bad_template(): @app.route("/exit") def exit_app(): - from flask import request - - func = request.environ.get("werkzeug.server.shutdown") - if func is None: - raise RuntimeError("No shutdown") - func() + global exiting + exiting = True return "Done" + +@app.teardown_request +def teardown(exception): + if exiting: + os._exit(0)