Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

storage: RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider leaking mock objects

Đang mở Phù hợp với người mới
#16,522 0 bình luận 0 reaction 0 người được giao Xem trên GitHub

Maintainer thường phản hồi trong vòng 1 ngày

@kalragauri đang làm issue này rồi.

Từ ngày 5/10/2026.

  • #16534 của @kalragauri — đang mở

Đánh giá

Độ khó
2/5
Thời gian dự kiến
1-3 giờ
Mức phù hợp với người mới
84/100
Loại issue
Lỗi
Độ rõ ràng
Đặc tả rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
cpp
Lĩnh vực
testing

Hướng nghiên cứu

Bắt đầu trong google/cloud/storage/internal/connection_impl_test.cc, tại phần thiết lập mock được báo cáo xung quanh các dòng 829, 830, 835 và 857, tập trung vào RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider. Chạy //google/cloud/storage:internal_connection_impl_test với các test được ngẫu nhiên hóa và xác nhận rằng test này vượt qua mà không báo cáo các đối tượng mock bị rò rỉ.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

api: storage type: cleanup
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.
Ngôn ngữ chính
C++
Star
658
Fork
469
Merge trung bình
1 ngày 8 giờ
Pull request đã merge (30 ngày)
96

Chuẩn bị môi trường

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của googleapis/google-cloud-cpp

Tất cả issue của googleapis/google-cloud-cpp

Issue tương tự

Thêm issue về C++

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.