def METHOD_NAME(self):
    app = flask.Flask(__name__)
    greenlets = []
    @app.route('/')
    def index():
        reqctx = flask._request_ctx_stack.top.copy()
        @flask.copy_current_request_context
        def g():
            self.assert_true(flask.request)
            self.assert_equal(flask.current_app, app)
            self.assert_equal(flask.request.path, '/')
            self.assert_equal(flask.request.args['foo'], 'bar')
            return 42
        greenlets.append(greenlet(g))
        return 'Hello World!'
    rv = app.test_client().get('/?foo=bar')
    self.assert_equal(rv.data, b'Hello World!')
    result = greenlets[0].run()
    self.assert_equal(result, 42)