The FacesBridge must follow the requirements in the JSF 2.2 JavaDoc. However, rather than call HttpServletResponse.flushBuffer() the FacesBridge must call MimeResponse.flushBuffer(). It is only valid to call this method during the HEADER_PHASE, RENDER_PHASE, and RESOURCE_PHASE of the portlet lifecycle.
TCK: In the HEADER_PHASE, dispatch to a JSF view that produces markup. In the RENDER_PHASE, call ExternalContext.responseFlushBuffer() followed by manually writing something to the response with ExternalContext.getResponseOutputWriter().write("<span>response buffer was flushed</span>"). Then verify that the only markup for the portlet is the span. It is not possible to test during the RESOURCE_PHASE since the <partial-response> generated by the Faces runtime would be lost.