storage: RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider leaking mock objects
维护者通常 1 天内回复
评估
调研方向
从 google/cloud/storage/internal/connection_impl_test.cc 中报告的第 829、830、835 和 857 行附近的 mock 设置开始,重点关注 RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider。使用随机化测试运行 //google/cloud/storage:internal_connection_impl_test,并确认其通过且未报告泄漏的 mock 对象。
由索引模型根据 Issue 内容生成。
描述
Step #2 - "build.sh": FAIL: //google/cloud/storage:internal_connection_impl_test (Exit 1) (see /h/.cache/bazel/_bazel_root/eab0d61a99b6696edb3d2aff87b585e8/execroot/_main/bazel-out/k8-fastbuild/testlogs/google/cloud/storage/internal_connection_impl_test/test.log)
Step #2 - "build.sh": INFO: From Testing //google/cloud/storage:internal_connection_impl_test:
Step #2 - "build.sh": ==================== Test output for //google/cloud/storage:internal_connection_impl_test:
Step #2 - "build.sh": Running main() from gmock_main.cc
Step #2 - "build.sh": Note: Randomizing tests' orders with a seed of 46316 .
Step #2 - "build.sh": [==========] Running 28 tests from 1 test suite.
Step #2 - "build.sh": [----------] Global test environment set-up.
Step #2 - "build.sh": [----------] 28 tests from RetryClientTest
Step #2 - "build.sh": [ RUN ] RetryClientTest.ReadObjectPositionsPlainRequest
Step #2 - "build.sh": [ OK ] RetryClientTest.ReadObjectPositionsPlainRequest (1 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkUploadChunkPolicyExhaustedOnStart
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkUploadChunkPolicyExhaustedOnStart (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkMissingRangeHeaderInUpload
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkMissingRangeHeaderInUpload (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkRestoreSession
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkRestoreSession (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadFinalChunkQueryTooManyMissingPayloads
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadFinalChunkQueryTooManyMissingPayloads (4 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.BackoffSpansUploadChunk
Step #2 - "build.sh": [ OK ] RetryClientTest.BackoffSpansUploadChunk (6 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkHandleRollback
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkHandleRollback (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkPermanentError
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkPermanentError (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.CreateResumableUploadHandlesTransient
Step #2 - "build.sh": [ OK ] RetryClientTest.CreateResumableUploadHandlesTransient (2 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadFinalChunkQueryMissingPayloadTriggersRetry
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadFinalChunkQueryMissingPayloadTriggersRetry (2 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.PermanentErrorHandling
Step #2 - "build.sh": [ OK ] RetryClientTest.PermanentErrorHandling (1 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.QueryResumableUploadHandlesTransient
Step #2 - "build.sh": [ OK ] RetryClientTest.QueryResumableUploadHandlesTransient (2 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.TooManyTransientsHandling
Step #2 - "build.sh": [ OK ] RetryClientTest.TooManyTransientsHandling (4 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkPermanentErrorOnQuery
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkPermanentErrorOnQuery (1 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkExhausted
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkExhausted (5 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.ReadObjectPinsGeneration
Step #2 - "build.sh": [ OK ] RetryClientTest.ReadObjectPinsGeneration (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.NonIdempotentErrorHandling
Step #2 - "build.sh": [ OK ] RetryClientTest.NonIdempotentErrorHandling (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.BackoffSpansSimple
Step #2 - "build.sh": [ OK ] RetryClientTest.BackoffSpansSimple (5 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.ReadObjectPositionsReadFromOffset
Step #2 - "build.sh": [ OK ] RetryClientTest.ReadObjectPositionsReadFromOffset (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkHandleOvercommit
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkHandleOvercommit (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.ReadObjectPositionsReadRange
Step #2 - "build.sh": [ OK ] RetryClientTest.ReadObjectPositionsReadRange (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkAbortedMaybeIsTransient
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkAbortedMaybeIsTransient (4 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkHandleTransient
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkHandleTransient (4 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkMissingRangeHeaderInQueryResumableUpload
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkMissingRangeHeaderInQueryResumableUpload (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.ExpiredRetryPolicy
Step #2 - "build.sh": [ OK ] RetryClientTest.ExpiredRetryPolicy (0 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.UploadChunkHandleTransientPartialFailures
Step #2 - "build.sh": [ OK ] RetryClientTest.UploadChunkHandleTransientPartialFailures (7 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider
Step #2 - "build.sh": [ OK ] RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider (5 ms)
Step #2 - "build.sh": [ RUN ] RetryClientTest.ReadObjectPositionsReadLast
Step #2 - "build.sh": [ OK ] RetryClientTest.ReadObjectPositionsReadLast (0 ms)
Step #2 - "build.sh": [----------] 28 tests from RetryClientTest (69 ms total)
Step #2 - "build.sh":
Step #2 - "build.sh": [----------] Global test environment tear-down
Step #2 - "build.sh": [==========] 28 tests from 1 test suite ran. (69 ms total)
Step #2 - "build.sh": [ PASSED ] 28 tests.
Step #2 - "build.sh":
Step #2 - "build.sh": google/cloud/storage/internal/connection_impl_test.cc:835: ERROR: this mock object (used in test RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider) should be deleted but never is. Its address is @0x133ef68.
Step #2 - "build.sh": google/cloud/storage/internal/connection_impl_test.cc:830: ERROR: this mock object (used in test RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider) should be deleted but never is. Its address is @0x134c040.
Step #2 - "build.sh": google/cloud/storage/internal/connection_impl_test.cc:857: ERROR: this mock object (used in test RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider) should be deleted but never is. Its address is @0x13631c0.
Step #2 - "build.sh": google/cloud/storage/internal/connection_impl_test.cc:829: ERROR: this mock object (used in test RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider) should be deleted but never is. Its address is @0x1374120.
Step #2 - "build.sh": ERROR: 4 leaked mock objects found at program exit. Expectations on a mock object are verified when the object is destructed. Leaking a mock means that its expectations aren't verified, which is usually a test bug. If you really intend to leak a mock, you can suppress this error using testing::Mock::AllowLeak(mock_object), or you may use a fake or stub instead of a mock.
- 主要语言
- C++
- 星标
- 659
- 派生
- 471
- 平均合并
- 1 天 10 小时
- 30 天内合并 PR
- 100
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
googleapis/google-cloud-cpp 的其他 Issue
-
cleanup(storage): remove deprecated OpenTelemetry rpc.message.type and rpc.message.id attributes未关闭api: storage type: cleanup
难度 2/5 1-3 小时 新手友好度 76/100
googleapis/google-cloud-cpp#16544 ·
维护者通常 1 天内回复
-
api: storage priority: p2 type: bug
难度 2/5 1-3 小时 新手友好度 82/100
googleapis/google-cloud-cpp#16529 ·
维护者通常 1 天内回复
-
type: feature request
难度 2/5 1-3 小时 新手友好度 73/100
googleapis/google-cloud-cpp#16193 ·
维护者通常 1 天内回复
-
api: storage type: cleanup
难度 3/5 1-2 天 新手友好度 55/100
googleapis/google-cloud-cpp#16545 ·
维护者通常 1 天内回复
-
api: storage type: cleanup
难度 3/5 1-2 天 新手友好度 68/100
googleapis/google-cloud-cpp#16404 ·
维护者通常 1 天内回复
查看 googleapis/google-cloud-cpp 的全部 Issue
相似的 Issue
-
难度 2/5 1 小时以内 新手友好度 72/100
ashhart/TensorFold#535 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 66/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复
-
agent:Windows bug
难度 2/5 1-3 小时 新手友好度 62/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
维护者通常 1 天内回复