1 // Copyright 2022 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef QUICHE_HTTP2_TEST_TOOLS_VERIFY_MACROS_H_ 6 #define QUICHE_HTTP2_TEST_TOOLS_VERIFY_MACROS_H_ 7 8 #include "quiche/common/platform/api/quiche_test.h" 9 10 #define HTTP2_VERIFY_CORE(value, str) \ 11 if ((value)) \ 12 ; \ 13 else \ 14 return ::testing::AssertionFailure() \ 15 << __FILE__ << ":" << __LINE__ << " " \ 16 << "Failed to verify that '" << str << "'" 17 18 #define HTTP2_VERIFY_TRUE(value) HTTP2_VERIFY_CORE(value, #value) 19 #define HTTP2_VERIFY_FALSE(value) HTTP2_VERIFY_CORE(!value, "!" #value) 20 #define HTTP2_VERIFY_SUCCESS HTTP2_VERIFY_TRUE 21 #define HTTP2_VERIFY_EQ(value1, value2) \ 22 HTTP2_VERIFY_CORE((value1) == (value2), #value1 "==" #value2) 23 #define HTTP2_VERIFY_NE(value1, value2) \ 24 HTTP2_VERIFY_CORE((value1) != (value2), #value1 "!=" #value2) 25 #define HTTP2_VERIFY_LE(value1, value2) \ 26 HTTP2_VERIFY_CORE((value1) <= (value2), #value1 "<=" #value2) 27 #define HTTP2_VERIFY_LT(value1, value2) \ 28 HTTP2_VERIFY_CORE((value1) < (value2), #value1 "<" #value2) 29 #define HTTP2_VERIFY_GT(value1, value2) \ 30 HTTP2_VERIFY_CORE((value1) > (value2), #value1 ">" #value2) 31 32 #endif // QUICHE_HTTP2_TEST_TOOLS_VERIFY_MACROS_H_ 33