diff --git a/src/grpc/qgrpcchannel.cpp b/src/grpc/qgrpcchannel.cpp index b4fd26c9..98d6504f 100644 --- a/src/grpc/qgrpcchannel.cpp +++ b/src/grpc/qgrpcchannel.cpp @@ -289,6 +289,7 @@ void QGrpcChannelPrivate::stream(QGrpcStream *stream, const QString &service, if (sub->status.code() != QGrpcStatus::Ok) { stream->errorOccurred(sub->status); } + stream->finished(); }); *abortConnection = QObject::connect(stream, &QGrpcStream::finished, sub.get(), diff --git a/src/grpc/qgrpchttp2channel.cpp b/src/grpc/qgrpchttp2channel.cpp index 74acbe6b..e8294c50 100644 --- a/src/grpc/qgrpchttp2channel.cpp +++ b/src/grpc/qgrpchttp2channel.cpp @@ -390,9 +390,8 @@ void QGrpcHttp2Channel::stream(QGrpcStream *grpcStream, const QString &service, grpcStream->errorOccurred(QGrpcStatus{ grpcStatus, QLatin1StringView(networkReply->rawHeader(GrpcStatusMessage)) }); - } else { - grpcStream->finished(); } + grpcStream->finished(); break; } default: diff --git a/tests/auto/grpc/client/tst_grpc_client.cpp b/tests/auto/grpc/client/tst_grpc_client.cpp index 42e37490..7579ea4b 100644 --- a/tests/auto/grpc/client/tst_grpc_client.cpp +++ b/tests/auto/grpc/client/tst_grpc_client.cpp @@ -260,9 +260,6 @@ void QtGrpcClientTest::StreamStringTest() void QtGrpcClientTest::StreamStringAndAbortTest() { - // TODO - QSKIP("Fix-me: QTBUG-10821"); - SimpleStringMessage result; SimpleStringMessage request; request.setTestFieldString("Stream"); @@ -284,15 +281,12 @@ void QtGrpcClientTest::StreamStringAndAbortTest() void QtGrpcClientTest::StreamStringAndDeferredAbortTest() { - // TODO - QSKIP("Fix-me: QTBUG-10821"); - SimpleStringMessage result; SimpleStringMessage request; request.setTestFieldString("Stream"); auto stream = _client->streamTestMethodServerStream(request); - QTimer::singleShot(3100, stream.get(), [stream]() { stream->abort(); }); + QTimer::singleShot(3400, stream.get(), [stream]() { stream->abort(); }); QSignalSpy streamFinishedSpy(stream.get(), &QGrpcStream::finished); QVERIFY(streamFinishedSpy.isValid()); @@ -456,9 +450,6 @@ void QtGrpcClientTest::StreamAndGetAsyncReplyTest() void QtGrpcClientTest::MultipleStreamsTest() { - // TODO - QSKIP("Fix-me: QTBUG-10821"); - SimpleStringMessage result; SimpleStringMessage request; request.setTestFieldString("Stream");