bloaty/third_party/abseil-cpp/absl/status/status_test.cc
Go to the documentation of this file.
1 // Copyright 2019 The Abseil Authors.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // https://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 #include "absl/status/status.h"
16 
17 #include "gmock/gmock.h"
18 #include "gtest/gtest.h"
19 #include "absl/strings/str_cat.h"
20 
21 namespace {
22 
27 
28 TEST(StatusCode, InsertionOperator) {
30  std::ostringstream oss;
31  oss << code;
33 }
34 
35 // This structure holds the details for testing a single error code,
36 // its creator, and its classifier.
37 struct ErrorTest {
39  using Creator = absl::Status (*)(
41  );
42  using Classifier = bool (*)(const absl::Status&);
43  Creator creator;
44  Classifier classifier;
45 };
46 
47 constexpr ErrorTest kErrorTests[]{
73 };
74 
75 TEST(Status, CreateAndClassify) {
76  for (const auto& test : kErrorTests) {
78 
79  // Ensure that the creator does, in fact, create status objects with the
80  // expected error code and message.
82  absl::StrCat("error code ", test.code, " test message");
83  absl::Status status = test.creator(
84  message
85  );
86  EXPECT_EQ(test.code, status.code());
88 
89  // Ensure that the classifier returns true for a status produced by the
90  // creator.
91  EXPECT_TRUE(test.classifier(status));
92 
93  // Ensure that the classifier returns false for status with a different
94  // code.
95  for (const auto& other : kErrorTests) {
96  if (other.code != test.code) {
97  EXPECT_FALSE(test.classifier(absl::Status(other.code, "")))
98  << " other.code = " << other.code;
99  }
100  }
101  }
102 }
103 
104 TEST(Status, DefaultConstructor) {
106  EXPECT_TRUE(status.ok());
108  EXPECT_EQ("", status.message());
109 }
110 
111 TEST(Status, OkStatus) {
113  EXPECT_TRUE(status.ok());
115  EXPECT_EQ("", status.message());
116 }
117 
118 TEST(Status, ConstructorWithCodeMessage) {
119  {
123  EXPECT_EQ("", status.message());
124  }
125  {
129  EXPECT_EQ("message", status.message());
130  }
131 }
132 
133 TEST(Status, ConstructOutOfRangeCode) {
134  const int kRawCode = 9999;
135  absl::Status status(static_cast<absl::StatusCode>(kRawCode), "");
137  EXPECT_EQ(kRawCode, status.raw_code());
138 }
139 
140 constexpr char kUrl1[] = "url.payload.1";
141 constexpr char kUrl2[] = "url.payload.2";
142 constexpr char kUrl3[] = "url.payload.3";
143 constexpr char kUrl4[] = "url.payload.xx";
144 
145 constexpr char kPayload1[] = "aaaaa";
146 constexpr char kPayload2[] = "bbbbb";
147 constexpr char kPayload3[] = "ccccc";
148 
149 using PayloadsVec = std::vector<std::pair<std::string, absl::Cord>>;
150 
151 TEST(Status, TestGetSetPayload) {
152  absl::Status ok_status = absl::OkStatus();
153  ok_status.SetPayload(kUrl1, absl::Cord(kPayload1));
154  ok_status.SetPayload(kUrl2, absl::Cord(kPayload2));
155 
156  EXPECT_FALSE(ok_status.GetPayload(kUrl1));
157  EXPECT_FALSE(ok_status.GetPayload(kUrl2));
158 
159  absl::Status bad_status(absl::StatusCode::kInternal, "fail");
160  bad_status.SetPayload(kUrl1, absl::Cord(kPayload1));
161  bad_status.SetPayload(kUrl2, absl::Cord(kPayload2));
162 
163  EXPECT_THAT(bad_status.GetPayload(kUrl1), Optional(Eq(kPayload1)));
164  EXPECT_THAT(bad_status.GetPayload(kUrl2), Optional(Eq(kPayload2)));
165 
166  EXPECT_FALSE(bad_status.GetPayload(kUrl3));
167 
168  bad_status.SetPayload(kUrl1, absl::Cord(kPayload3));
169  EXPECT_THAT(bad_status.GetPayload(kUrl1), Optional(Eq(kPayload3)));
170 
171  // Testing dynamically generated type_url
172  bad_status.SetPayload(absl::StrCat(kUrl1, ".1"), absl::Cord(kPayload1));
173  EXPECT_THAT(bad_status.GetPayload(absl::StrCat(kUrl1, ".1")),
174  Optional(Eq(kPayload1)));
175 }
176 
177 TEST(Status, TestErasePayload) {
178  absl::Status bad_status(absl::StatusCode::kInternal, "fail");
179  bad_status.SetPayload(kUrl1, absl::Cord(kPayload1));
180  bad_status.SetPayload(kUrl2, absl::Cord(kPayload2));
181  bad_status.SetPayload(kUrl3, absl::Cord(kPayload3));
182 
183  EXPECT_FALSE(bad_status.ErasePayload(kUrl4));
184 
185  EXPECT_TRUE(bad_status.GetPayload(kUrl2));
186  EXPECT_TRUE(bad_status.ErasePayload(kUrl2));
187  EXPECT_FALSE(bad_status.GetPayload(kUrl2));
188  EXPECT_FALSE(bad_status.ErasePayload(kUrl2));
189 
190  EXPECT_TRUE(bad_status.ErasePayload(kUrl1));
191  EXPECT_TRUE(bad_status.ErasePayload(kUrl3));
192 
193  bad_status.SetPayload(kUrl1, absl::Cord(kPayload1));
194  EXPECT_TRUE(bad_status.ErasePayload(kUrl1));
195 }
196 
197 TEST(Status, TestComparePayloads) {
198  absl::Status bad_status1(absl::StatusCode::kInternal, "fail");
199  bad_status1.SetPayload(kUrl1, absl::Cord(kPayload1));
200  bad_status1.SetPayload(kUrl2, absl::Cord(kPayload2));
201  bad_status1.SetPayload(kUrl3, absl::Cord(kPayload3));
202 
203  absl::Status bad_status2(absl::StatusCode::kInternal, "fail");
204  bad_status2.SetPayload(kUrl2, absl::Cord(kPayload2));
205  bad_status2.SetPayload(kUrl3, absl::Cord(kPayload3));
206  bad_status2.SetPayload(kUrl1, absl::Cord(kPayload1));
207 
208  EXPECT_EQ(bad_status1, bad_status2);
209 }
210 
211 TEST(Status, TestComparePayloadsAfterErase) {
212  absl::Status payload_status(absl::StatusCode::kInternal, "");
213  payload_status.SetPayload(kUrl1, absl::Cord(kPayload1));
214  payload_status.SetPayload(kUrl2, absl::Cord(kPayload2));
215 
216  absl::Status empty_status(absl::StatusCode::kInternal, "");
217 
218  // Different payloads, not equal
219  EXPECT_NE(payload_status, empty_status);
220  EXPECT_TRUE(payload_status.ErasePayload(kUrl1));
221 
222  // Still Different payloads, still not equal.
223  EXPECT_NE(payload_status, empty_status);
224  EXPECT_TRUE(payload_status.ErasePayload(kUrl2));
225 
226  // Both empty payloads, should be equal
227  EXPECT_EQ(payload_status, empty_status);
228 }
229 
230 PayloadsVec AllVisitedPayloads(const absl::Status& s) {
231  PayloadsVec result;
232 
233  s.ForEachPayload([&](absl::string_view type_url, const absl::Cord& payload) {
234  result.push_back(std::make_pair(std::string(type_url), payload));
235  });
236 
237  return result;
238 }
239 
240 TEST(Status, TestForEachPayload) {
241  absl::Status bad_status(absl::StatusCode::kInternal, "fail");
242  bad_status.SetPayload(kUrl1, absl::Cord(kPayload1));
243  bad_status.SetPayload(kUrl2, absl::Cord(kPayload2));
244  bad_status.SetPayload(kUrl3, absl::Cord(kPayload3));
245 
246  int count = 0;
247 
248  bad_status.ForEachPayload(
249  [&count](absl::string_view, const absl::Cord&) { ++count; });
250 
251  EXPECT_EQ(count, 3);
252 
253  PayloadsVec expected_payloads = {{kUrl1, absl::Cord(kPayload1)},
254  {kUrl2, absl::Cord(kPayload2)},
255  {kUrl3, absl::Cord(kPayload3)}};
256 
257  // Test that we visit all the payloads in the status.
258  PayloadsVec visited_payloads = AllVisitedPayloads(bad_status);
259  EXPECT_THAT(visited_payloads, UnorderedElementsAreArray(expected_payloads));
260 
261  // Test that visitation order is not consistent between run.
262  std::vector<absl::Status> scratch;
263  while (true) {
264  scratch.emplace_back(absl::StatusCode::kInternal, "fail");
265 
266  scratch.back().SetPayload(kUrl1, absl::Cord(kPayload1));
267  scratch.back().SetPayload(kUrl2, absl::Cord(kPayload2));
268  scratch.back().SetPayload(kUrl3, absl::Cord(kPayload3));
269 
270  if (AllVisitedPayloads(scratch.back()) != visited_payloads) {
271  break;
272  }
273  }
274 }
275 
276 TEST(Status, ToString) {
278  EXPECT_EQ("INTERNAL: fail", s.ToString());
279  s.SetPayload("foo", absl::Cord("bar"));
280  EXPECT_EQ("INTERNAL: fail [foo='bar']", s.ToString());
281  s.SetPayload("bar", absl::Cord("\377"));
282  EXPECT_THAT(s.ToString(),
283  AllOf(HasSubstr("INTERNAL: fail"), HasSubstr("[foo='bar']"),
284  HasSubstr("[bar='\\xff']")));
285 }
286 
287 TEST(Status, ToStringMode) {
289  s.SetPayload("foo", absl::Cord("bar"));
290  s.SetPayload("bar", absl::Cord("\377"));
291 
292  EXPECT_EQ("INTERNAL: fail",
294 
296  AllOf(HasSubstr("INTERNAL: fail"), HasSubstr("[foo='bar']"),
297  HasSubstr("[bar='\\xff']")));
298 
300  AllOf(HasSubstr("INTERNAL: fail"), HasSubstr("[foo='bar']"),
301  HasSubstr("[bar='\\xff']")));
302 
304  AllOf(HasSubstr("INTERNAL: fail"), Not(HasSubstr("[foo='bar']")),
305  Not(HasSubstr("[bar='\\xff']"))));
306 }
307 
308 absl::Status EraseAndReturn(const absl::Status& base) {
310  EXPECT_TRUE(copy.ErasePayload(kUrl1));
311  return copy;
312 }
313 
314 TEST(Status, CopyOnWriteForErasePayload) {
315  {
317  base.SetPayload(kUrl1, absl::Cord(kPayload1));
318  EXPECT_TRUE(base.GetPayload(kUrl1).has_value());
319  absl::Status copy = EraseAndReturn(base);
320  EXPECT_TRUE(base.GetPayload(kUrl1).has_value());
321  EXPECT_FALSE(copy.GetPayload(kUrl1).has_value());
322  }
323  {
325  base.SetPayload(kUrl1, absl::Cord(kPayload1));
327 
328  EXPECT_TRUE(base.GetPayload(kUrl1).has_value());
329  EXPECT_TRUE(copy.GetPayload(kUrl1).has_value());
330 
331  EXPECT_TRUE(base.ErasePayload(kUrl1));
332 
333  EXPECT_FALSE(base.GetPayload(kUrl1).has_value());
334  EXPECT_TRUE(copy.GetPayload(kUrl1).has_value());
335  }
336 }
337 
338 TEST(Status, CopyConstructor) {
339  {
343  }
344  {
348  }
349  {
351  status.SetPayload(kUrl1, absl::Cord(kPayload1));
354  }
355 }
356 
357 TEST(Status, CopyAssignment) {
358  absl::Status assignee;
359  {
361  assignee = status;
362  EXPECT_EQ(assignee, status);
363  }
364  {
366  assignee = status;
367  EXPECT_EQ(assignee, status);
368  }
369  {
371  status.SetPayload(kUrl1, absl::Cord(kPayload1));
372  assignee = status;
373  EXPECT_EQ(assignee, status);
374  }
375 }
376 
377 TEST(Status, CopyAssignmentIsNotRef) {
378  const absl::Status status_orig(absl::StatusCode::kInvalidArgument, "message");
379  absl::Status status_copy = status_orig;
380  EXPECT_EQ(status_orig, status_copy);
381  status_copy.SetPayload(kUrl1, absl::Cord(kPayload1));
382  EXPECT_NE(status_orig, status_copy);
383 }
384 
385 TEST(Status, MoveConstructor) {
386  {
390  }
391  {
396  }
397  {
399  status.SetPayload(kUrl1, absl::Cord(kPayload1));
400  absl::Status copy1(status);
401  absl::Status copy2(std::move(status));
402  EXPECT_EQ(copy1, copy2);
403  }
404 }
405 
406 TEST(Status, MoveAssignment) {
407  absl::Status assignee;
408  {
410  assignee = absl::Status();
411  EXPECT_EQ(assignee, status);
412  }
413  {
415  assignee = absl::Status(absl::StatusCode::kInvalidArgument, "message");
416  EXPECT_EQ(assignee, status);
417  }
418  {
420  status.SetPayload(kUrl1, absl::Cord(kPayload1));
422  assignee = std::move(status);
423  EXPECT_EQ(assignee, copy);
424  }
425  {
428  status = static_cast<absl::Status&&>(status);
430  }
431 }
432 
433 TEST(Status, Update) {
434  absl::Status s;
435  s.Update(absl::OkStatus());
436  EXPECT_TRUE(s.ok());
437  const absl::Status a(absl::StatusCode::kCancelled, "message");
438  s.Update(a);
439  EXPECT_EQ(s, a);
440  const absl::Status b(absl::StatusCode::kInternal, "other message");
441  s.Update(b);
442  EXPECT_EQ(s, a);
443  s.Update(absl::OkStatus());
444  EXPECT_EQ(s, a);
445  EXPECT_FALSE(s.ok());
446 }
447 
448 TEST(Status, Equality) {
450  absl::Status no_payload = absl::CancelledError("no payload");
451  absl::Status one_payload = absl::InvalidArgumentError("one payload");
452  one_payload.SetPayload(kUrl1, absl::Cord(kPayload1));
453  absl::Status two_payloads = one_payload;
454  two_payloads.SetPayload(kUrl2, absl::Cord(kPayload2));
455  const std::array<absl::Status, 4> status_arr = {ok, no_payload, one_payload,
456  two_payloads};
457  for (int i = 0; i < status_arr.size(); i++) {
458  for (int j = 0; j < status_arr.size(); j++) {
459  if (i == j) {
460  EXPECT_TRUE(status_arr[i] == status_arr[j]);
461  EXPECT_FALSE(status_arr[i] != status_arr[j]);
462  } else {
463  EXPECT_TRUE(status_arr[i] != status_arr[j]);
464  EXPECT_FALSE(status_arr[i] == status_arr[j]);
465  }
466  }
467  }
468 }
469 
470 TEST(Status, Swap) {
471  auto test_swap = [](const absl::Status& s1, const absl::Status& s2) {
472  absl::Status copy1 = s1, copy2 = s2;
473  swap(copy1, copy2);
474  EXPECT_EQ(copy1, s2);
475  EXPECT_EQ(copy2, s1);
476  };
477  const absl::Status ok;
478  const absl::Status no_payload(absl::StatusCode::kAlreadyExists, "no payload");
479  absl::Status with_payload(absl::StatusCode::kInternal, "with payload");
480  with_payload.SetPayload(kUrl1, absl::Cord(kPayload1));
481  test_swap(ok, no_payload);
482  test_swap(no_payload, ok);
483  test_swap(ok, with_payload);
484  test_swap(with_payload, ok);
485  test_swap(no_payload, with_payload);
486  test_swap(with_payload, no_payload);
487 }
488 } // namespace
absl::StatusCode::kDeadlineExceeded
@ kDeadlineExceeded
EXPECT_FALSE
#define EXPECT_FALSE(condition)
Definition: bloaty/third_party/googletest/googletest/include/gtest/gtest.h:1970
absl::InvalidArgumentError
Status InvalidArgumentError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:351
_gevent_test_main.result
result
Definition: _gevent_test_main.py:96
absl::Cord
Definition: abseil-cpp/absl/strings/cord.h:150
absl::StatusCode::kResourceExhausted
@ kResourceExhausted
absl::debugging_internal::Optional
static bool Optional(bool)
Definition: abseil-cpp/absl/debugging/internal/demangle.cc:333
absl::swap_internal::Swap
void Swap(T &lhs, T &rhs) noexcept(IsNothrowSwappable< T >::value)
Definition: abseil-cpp/absl/meta/type_traits.h:772
absl::str_format_internal::LengthMod::j
@ j
testing::Not
internal::NotMatcher< InnerMatcher > Not(InnerMatcher m)
Definition: cares/cares/test/gmock-1.8.0/gmock/gmock.h:8926
bool
bool
Definition: setup_once.h:312
absl::AbortedError
Status AbortedError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:323
absl::StrCat
std::string StrCat(const AlphaNum &a, const AlphaNum &b)
Definition: abseil-cpp/absl/strings/str_cat.cc:98
absl::StatusCode::kFailedPrecondition
@ kFailedPrecondition
absl::IsDeadlineExceeded
bool IsDeadlineExceeded(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:403
absl::Status::raw_code
int raw_code() const
Definition: third_party/abseil-cpp/absl/status/status.cc:225
absl::IsUnavailable
bool IsUnavailable(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:439
EXPECT_THAT
#define EXPECT_THAT(value, matcher)
test
Definition: spinlock_test.cc:36
absl::IsInternal
bool IsInternal(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:411
absl::CancelledError
Status CancelledError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:331
absl::IsOutOfRange
bool IsOutOfRange(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:423
absl::StatusCodeToString
ABSL_NAMESPACE_BEGIN std::string StatusCodeToString(StatusCode code)
Definition: third_party/abseil-cpp/absl/status/status.cc:33
copy
static int copy(grpc_slice_buffer *input, grpc_slice_buffer *output)
Definition: message_compress.cc:145
absl::StatusCode::kUnimplemented
@ kUnimplemented
absl::string_view
Definition: abseil-cpp/absl/strings/string_view.h:167
absl::str_format_internal::AllOf
constexpr bool AllOf()
Definition: abseil-cpp/absl/strings/internal/str_format/checker.h:39
testing::internal::string
::std::string string
Definition: bloaty/third_party/protobuf/third_party/googletest/googletest/include/gtest/internal/gtest-port.h:881
vs_toolchain.Update
def Update(version)
Definition: vs_toolchain.py:76
absl::OkStatus
Status OkStatus()
Definition: third_party/abseil-cpp/absl/status/status.h:882
absl::StatusCode::kAborted
@ kAborted
status
absl::Status status
Definition: rls.cc:251
absl::FormatConversionChar::s
@ s
a
int a
Definition: abseil-cpp/absl/container/internal/hash_policy_traits_test.cc:88
absl::InternalError
Status InternalError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:347
absl::IsDataLoss
bool IsDataLoss(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:399
message
char * message
Definition: libuv/docs/code/tty-gravity/main.c:12
absl::StatusCode::kPermissionDenied
@ kPermissionDenied
absl::StatusCode::kDataLoss
@ kDataLoss
grpc_status._async.code
code
Definition: grpcio_status/grpc_status/_async.py:34
absl::PermissionDeniedError
Status PermissionDeniedError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:363
EXPECT_EQ
#define EXPECT_EQ(a, b)
Definition: iomgr/time_averaged_stats_test.cc:27
absl::StatusCode::kInternal
@ kInternal
absl::UnauthenticatedError
Status UnauthenticatedError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:371
SCOPED_TRACE
#define SCOPED_TRACE(message)
Definition: bloaty/third_party/googletest/googletest/include/gtest/gtest.h:2264
absl::StatusCode::kOutOfRange
@ kOutOfRange
absl::move
constexpr absl::remove_reference_t< T > && move(T &&t) noexcept
Definition: abseil-cpp/absl/utility/utility.h:221
absl::IsUnknown
bool IsUnknown(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:447
swap
#define swap(a, b)
Definition: qsort.h:111
ToString
std::string ToString(const grpc::string_ref &r)
Definition: string_ref_helper.cc:24
TEST
#define TEST(name, init_size,...)
Definition: arena_test.cc:75
absl::FailedPreconditionError
Status FailedPreconditionError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:343
EXPECT_NE
#define EXPECT_NE(val1, val2)
Definition: bloaty/third_party/googletest/googletest/include/gtest/gtest.h:2028
absl::IsCancelled
bool IsCancelled(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:395
absl::IsUnauthenticated
bool IsUnauthenticated(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:435
absl::UnknownError
Status UnknownError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:383
absl::Status::SetPayload
void SetPayload(absl::string_view type_url, absl::Cord payload)
Definition: third_party/abseil-cpp/absl/status/status.cc:128
testing::Eq
internal::EqMatcher< T > Eq(T x)
Definition: cares/cares/test/gmock-1.8.0/gmock/gmock.h:8561
absl::Status::message
absl::string_view message() const
Definition: third_party/abseil-cpp/absl/status/status.h:806
absl::IsNotFound
bool IsNotFound(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:419
absl::DataLossError
Status DataLossError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:335
gen_synthetic_protos.base
base
Definition: gen_synthetic_protos.py:31
absl::IsInvalidArgument
bool IsInvalidArgument(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:415
grpc::StatusCode
StatusCode
Definition: grpcpp/impl/codegen/status_code_enum.h:26
absl::OutOfRangeError
Status OutOfRangeError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:359
absl::StatusCode::kUnauthenticated
@ kUnauthenticated
absl::StatusToStringMode::kWithEverything
@ kWithEverything
b
uint64_t b
Definition: abseil-cpp/absl/container/internal/layout_test.cc:53
absl::StatusCode::kInvalidArgument
@ kInvalidArgument
absl::Status
ABSL_NAMESPACE_BEGIN class ABSL_MUST_USE_RESULT Status
Definition: abseil-cpp/absl/status/internal/status_internal.h:36
absl::StatusCode::kOk
@ kOk
absl::StatusCode::kCancelled
@ kCancelled
absl::ResourceExhaustedError
Status ResourceExhaustedError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:367
absl::StatusCode::kAlreadyExists
@ kAlreadyExists
scratch
static char scratch[256]
Definition: test-random.c:27
absl::StatusCode
StatusCode
Definition: third_party/abseil-cpp/absl/status/status.h:92
absl::StatusToStringMode::kWithPayload
@ kWithPayload
absl::IsFailedPrecondition
bool IsFailedPrecondition(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:407
count
int * count
Definition: bloaty/third_party/googletest/googlemock/test/gmock_stress_test.cc:96
absl::Status
Definition: third_party/abseil-cpp/absl/status/status.h:424
absl::StatusCode::kUnknown
@ kUnknown
absl::IsResourceExhausted
bool IsResourceExhausted(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:431
string_view
absl::string_view string_view
Definition: attr.cc:22
absl::DeadlineExceededError
Status DeadlineExceededError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:339
grpc::protobuf::util::Status
GRPC_CUSTOM_UTIL_STATUS Status
Definition: include/grpcpp/impl/codegen/config_protobuf.h:93
type_url
string * type_url
Definition: bloaty/third_party/protobuf/conformance/conformance_cpp.cc:72
ok
bool ok
Definition: async_end2end_test.cc:197
absl::IsUnimplemented
bool IsUnimplemented(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:443
absl::NotFoundError
Status NotFoundError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:355
absl::Status::ok
ABSL_MUST_USE_RESULT bool ok() const
Definition: third_party/abseil-cpp/absl/status/status.h:802
absl::UnavailableError
Status UnavailableError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:375
absl::Status::GetPayload
absl::optional< absl::Cord > GetPayload(absl::string_view type_url) const
Definition: third_party/abseil-cpp/absl/status/status.cc:119
EXPECT_TRUE
#define EXPECT_TRUE(condition)
Definition: bloaty/third_party/googletest/googletest/include/gtest/gtest.h:1967
absl::UnimplementedError
Status UnimplementedError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:379
absl::IsPermissionDenied
bool IsPermissionDenied(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:427
testing::UnorderedElementsAreArray
internal::UnorderedElementsAreArrayMatcher< typename ::std::iterator_traits< Iter >::value_type > UnorderedElementsAreArray(Iter first, Iter last)
Definition: cares/cares/test/gmock-1.8.0/gmock/gmock.h:8507
absl::IsAborted
bool IsAborted(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:387
code
Definition: bloaty/third_party/zlib/contrib/infback9/inftree9.h:24
absl::StatusCode::kUnavailable
@ kUnavailable
absl::StatusToStringMode::kWithNoExtraData
@ kWithNoExtraData
absl::Status::code
absl::StatusCode code() const
Definition: third_party/abseil-cpp/absl/status/status.cc:233
gen_server_registered_method_bad_client_test_body.payload
list payload
Definition: gen_server_registered_method_bad_client_test_body.py:40
testing::HasSubstr
PolymorphicMatcher< internal::HasSubstrMatcher< internal::string > > HasSubstr(const internal::string &substring)
Definition: cares/cares/test/gmock-1.8.0/gmock/gmock.h:8803
absl::IsAlreadyExists
bool IsAlreadyExists(const Status &status)
Definition: third_party/abseil-cpp/absl/status/status.cc:391
i
uint64_t i
Definition: abseil-cpp/absl/container/btree_benchmark.cc:230
absl::AlreadyExistsError
Status AlreadyExistsError(absl::string_view message)
Definition: third_party/abseil-cpp/absl/status/status.cc:327
absl::StatusCode::kNotFound
@ kNotFound


grpc
Author(s):
autogenerated on Fri May 16 2025 03:00:18