blob: fb7ac0ff16380e0c3936753a8fdedd8dc7194628 [file] [log] [blame]
// 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_