Make QUIC EXPECT and ASSERT test macros reject comparison of unsigned integers

This CL overrides the CHECK/DCHECK/EXPECT/ASSERT macros. Unfortunately these macros allow comparison of integers of different signs, which allows us to write EXPECT_EQ(a, b) when a and b have different signs. However, the equivalent macros in Chromium do not allow this mismatch, and this has caused as number of quiche merge issues. Therefore, to avoid those, we add a non-executed comparison to the macros which ensures that compilation fails if there is a comparison of different signs. An example of the fix previously required for quiche merge can be found in cl/244853842.

gfe-relnote: n/a, changes only impact compile-time for debug builds and tests
PiperOrigin-RevId: 245325129
Change-Id: I1e4d0bb424754c62e62a72378789ae6902eb9af5
2 files changed
tree: dbb57af5ff5182ff1e69275a193c3a96e15a66f3
  1. common/
  2. epoll_server/
  3. http2/
  4. quic/
  5. spdy/
  6. CONTRIBUTING.md
  7. LICENSE
  8. README.md
README.md

QUICHE

QUICHE (QUIC, Http/2, Etc) is Google‘s implementation of QUIC and related protocols. It powers Chromium as well as Google’s QUIC servers and some other projects.

The code is currently in process of being moved from https://cs.chromium.org/chromium/src/net/third_party/ into this repository. Please excuse our appearance while we're under construction.