MCPcopy Create free account
hub / github.com/DeepRec-AI/DeepRec / TEST

Function TEST

tensorflow/core/platform/cloud/retrying_utils_test.cc:26–54  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

24namespace {
25
26TEST(RetryingUtilsTest, CallWithRetries_RetryDelays) {
27 std::vector<double> requested_delays; // requested delays in seconds
28 std::function<void(int64)> sleep = [&requested_delays](int64 delay) {
29 requested_delays.emplace_back(delay / 1000000.0);
30 };
31 std::function<Status()> f = []() { return errors::Unavailable("Failed."); };
32
33 const auto& status = RetryingUtils::CallWithRetries(
34 f, sleep, RetryConfig(500000 /* init_delay_time_us */));
35 EXPECT_EQ(errors::Code::ABORTED, status.code());
36 EXPECT_TRUE(absl::StrContains(
37 status.error_message(),
38 "All 10 retry attempts failed. The last failure: Unavailable: Failed."))
39 << status;
40
41 EXPECT_EQ(10, requested_delays.size());
42 EXPECT_NEAR(0.5, requested_delays[0], 1.0);
43 EXPECT_NEAR(1.0, requested_delays[1], 1.0);
44 EXPECT_NEAR(2.0, requested_delays[2], 1.0);
45 EXPECT_NEAR(4.0, requested_delays[3], 1.0);
46 EXPECT_NEAR(8.0, requested_delays[4], 1.0);
47 EXPECT_NEAR(16.0, requested_delays[5], 1.0);
48
49 // All subsequent delays are capped at 32 seconds (plus jitter).
50 EXPECT_NEAR(32.0, requested_delays[6], 1.0);
51 EXPECT_NEAR(32.0, requested_delays[7], 1.0);
52 EXPECT_NEAR(32.0, requested_delays[8], 1.0);
53 EXPECT_NEAR(32.0, requested_delays[9], 1.0);
54}
55
56TEST(RetryingUtilsTest, CallWithRetries_NotFoundIsNotRetried) {
57 std::vector<Status> results(

Callers

nothing calls this directly

Calls 9

UnavailableFunction · 0.85
RetryConfigClass · 0.85
NotFoundFunction · 0.85
StrContainsFunction · 0.50
emplace_backMethod · 0.45
codeMethod · 0.45
sizeMethod · 0.45
eraseMethod · 0.45
beginMethod · 0.45

Tested by

no test coverage detected