Add static_cast<uint8_t> in HpackVarintEncoderTest. This is because Chromium's std::string is based on signed char, so without this change tests fail since https://quiche-review.googlesource.com/c/quiche/+/6000. I have verified locally that HpackVarintEncoderTest.Short and .LastByteIsZero fail on Chromium without this patch but they pass with. gfe-relnote: n/a, test-only change. PiperOrigin-RevId: 254955501 Change-Id: I9cf5413b1de05fec86698ef6cdab6662fa44ead4
diff --git a/http2/hpack/varint/hpack_varint_encoder_test.cc b/http2/hpack/varint/hpack_varint_encoder_test.cc index fa05948..94f9a9e 100644 --- a/http2/hpack/varint/hpack_varint_encoder_test.cc +++ b/http2/hpack/varint/hpack_varint_encoder_test.cc
@@ -36,7 +36,8 @@ kShortTestData[i].prefix_length, kShortTestData[i].value, &output); ASSERT_EQ(1u, output.size()); - EXPECT_EQ(kShortTestData[i].expected_encoding, output[0]); + EXPECT_EQ(kShortTestData[i].expected_encoding, + static_cast<uint8_t>(output[0])); } } @@ -136,7 +137,7 @@ kLastByteIsZeroTestData[i].value, &output); ASSERT_EQ(2u, output.size()); EXPECT_EQ(kLastByteIsZeroTestData[i].expected_encoding_first_byte, - output[0]); + static_cast<uint8_t>(output[0])); EXPECT_EQ(0b00000000, output[1]); } }