Pretty print Http2FrameHeaderTypeAndFlagTest params.
Do not use Http2FrameFlagsToString() for flags, because its output might contain
'|', which is not a valid character in a parametrized test name, instead just
print integer value.
PiperOrigin-RevId: 446424218
diff --git a/quiche/http2/http2_structures_test.cc b/quiche/http2/http2_structures_test.cc
index ab3dd99..7293f2f 100644
--- a/quiche/http2/http2_structures_test.cc
+++ b/quiche/http2/http2_structures_test.cc
@@ -148,10 +148,19 @@
}
#if GTEST_HAS_DEATH_TEST && !defined(NDEBUG)
+
+using TestParams = std::tuple<Http2FrameType, Http2FrameFlag>;
+
+std::string TestParamToString(const testing::TestParamInfo<TestParams>& info) {
+ Http2FrameType type = std::get<0>(info.param);
+ Http2FrameFlag flags = std::get<1>(info.param);
+
+ return absl::StrCat(Http2FrameTypeToString(type), static_cast<int>(flags));
+}
+
// The tests of the valid frame types include EXPECT_DEBUG_DEATH, which is
// quite slow, so using value parameterized tests in order to allow sharding.
-class Http2FrameHeaderTypeAndFlagTest
- : public QuicheTestWithParam<std::tuple<Http2FrameType, Http2FrameFlag>> {
+class Http2FrameHeaderTypeAndFlagTest : public QuicheTestWithParam<TestParams> {
protected:
Http2FrameHeaderTypeAndFlagTest()
: type_(std::get<0>(GetParam())), flags_(std::get<1>(GetParam())) {
@@ -167,7 +176,8 @@
class IsEndStreamTest : public Http2FrameHeaderTypeAndFlagTest {};
INSTANTIATE_TEST_SUITE_P(IsEndStream, IsEndStreamTest,
Combine(ValuesIn(ValidFrameTypes()),
- Values(~Http2FrameFlag::END_STREAM, 0xff)));
+ Values(~Http2FrameFlag::END_STREAM, 0xff)),
+ TestParamToString);
TEST_P(IsEndStreamTest, IsEndStream) {
const bool is_set =
(flags_ & Http2FrameFlag::END_STREAM) == Http2FrameFlag::END_STREAM;
@@ -204,7 +214,8 @@
class IsACKTest : public Http2FrameHeaderTypeAndFlagTest {};
INSTANTIATE_TEST_SUITE_P(IsAck, IsACKTest,
Combine(ValuesIn(ValidFrameTypes()),
- Values(~Http2FrameFlag::ACK, 0xff)));
+ Values(~Http2FrameFlag::ACK, 0xff)),
+ TestParamToString);
TEST_P(IsACKTest, IsAck) {
const bool is_set = (flags_ & Http2FrameFlag::ACK) == Http2FrameFlag::ACK;
std::string flags_string;
@@ -240,7 +251,8 @@
class IsEndHeadersTest : public Http2FrameHeaderTypeAndFlagTest {};
INSTANTIATE_TEST_SUITE_P(IsEndHeaders, IsEndHeadersTest,
Combine(ValuesIn(ValidFrameTypes()),
- Values(~Http2FrameFlag::END_HEADERS, 0xff)));
+ Values(~Http2FrameFlag::END_HEADERS, 0xff)),
+ TestParamToString);
TEST_P(IsEndHeadersTest, IsEndHeaders) {
const bool is_set =
(flags_ & Http2FrameFlag::END_HEADERS) == Http2FrameFlag::END_HEADERS;
@@ -280,7 +292,8 @@
class IsPaddedTest : public Http2FrameHeaderTypeAndFlagTest {};
INSTANTIATE_TEST_SUITE_P(IsPadded, IsPaddedTest,
Combine(ValuesIn(ValidFrameTypes()),
- Values(~Http2FrameFlag::PADDED, 0xff)));
+ Values(~Http2FrameFlag::PADDED, 0xff)),
+ TestParamToString);
TEST_P(IsPaddedTest, IsPadded) {
const bool is_set =
(flags_ & Http2FrameFlag::PADDED) == Http2FrameFlag::PADDED;
@@ -318,7 +331,8 @@
class HasPriorityTest : public Http2FrameHeaderTypeAndFlagTest {};
INSTANTIATE_TEST_SUITE_P(HasPriority, HasPriorityTest,
Combine(ValuesIn(ValidFrameTypes()),
- Values(~Http2FrameFlag::PRIORITY, 0xff)));
+ Values(~Http2FrameFlag::PRIORITY, 0xff)),
+ TestParamToString);
TEST_P(HasPriorityTest, HasPriority) {
const bool is_set =
(flags_ & Http2FrameFlag::PRIORITY) == Http2FrameFlag::PRIORITY;