Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

storage: RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider leaking mock objects

Ouverte Adaptée aux débutants
#16,522 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@kalragauri y travaille déjà.

Depuis le 5/10/2026.

  • #16534 par @kalragauri — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
84/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
cpp
Domaine
testing

Piste de recherche

Commencez dans google/cloud/storage/internal/connection_impl_test.cc, autour de la configuration des mocks signalée aux lignes 829, 830, 835 et 857, en vous concentrant sur RetryClientTest.HedgedReadRecordsMetricsOnGlobalMeterProvider. Exécutez //google/cloud/storage:internal_connection_impl_test avec des tests randomisés et confirmez qu’il réussit sans signaler d’objets mock ayant fuité.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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.
Langage dominant
C++
Étoiles
659
Forks
471
Merge moyen
1 j 9 h
PR mergées (30 j)
102

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de googleapis/google-cloud-cpp

Toutes les issues de googleapis/google-cloud-cpp

Issues similaires

Plus d'issues C++

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.