| // Copyright 2022 The Chromium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef QUICHE_HTTP2_TEST_TOOLS_VERIFY_MACROS_H_ | |
| #define QUICHE_HTTP2_TEST_TOOLS_VERIFY_MACROS_H_ | |
| #include "quiche/common/platform/api/quiche_test.h" | |
| #define HTTP2_VERIFY_CORE(value, str) \ | |
| if ((value)) \ | |
| ; \ | |
| else \ | |
| return ::testing::AssertionFailure() \ | |
| << __FILE__ << ":" << __LINE__ << " " \ | |
| << "Failed to verify that '" << str << "'" | |
| #define HTTP2_VERIFY_TRUE(value) HTTP2_VERIFY_CORE(value, #value) | |
| #define HTTP2_VERIFY_FALSE(value) HTTP2_VERIFY_CORE(!value, "!" #value) | |
| #define HTTP2_VERIFY_SUCCESS HTTP2_VERIFY_TRUE | |
| #define HTTP2_VERIFY_EQ(value1, value2) \ | |
| HTTP2_VERIFY_CORE((value1) == (value2), #value1 "==" #value2) | |
| #define HTTP2_VERIFY_NE(value1, value2) \ | |
| HTTP2_VERIFY_CORE((value1) != (value2), #value1 "!=" #value2) | |
| #define HTTP2_VERIFY_LE(value1, value2) \ | |
| HTTP2_VERIFY_CORE((value1) <= (value2), #value1 "<=" #value2) | |
| #define HTTP2_VERIFY_LT(value1, value2) \ | |
| HTTP2_VERIFY_CORE((value1) < (value2), #value1 "<" #value2) | |
| #define HTTP2_VERIFY_GT(value1, value2) \ | |
| HTTP2_VERIFY_CORE((value1) > (value2), #value1 ">" #value2) | |
| #endif // QUICHE_HTTP2_TEST_TOOLS_VERIFY_MACROS_H_ |