diff --git a/test/core/support/useful_test.c b/test/core/support/useful_test.c
index 34f4ce6870ab59cc19ca7a3fcc2217c2c1ce5c1a..cbf4f02e267f172e09c05eee7c81c44c14581b9b 100644
--- a/test/core/support/useful_test.c
+++ b/test/core/support/useful_test.c
@@ -56,6 +56,10 @@ int main(int argc, char **argv) {
   GPR_ASSERT(GPR_ARRAY_SIZE(four) == 4);
   GPR_ASSERT(GPR_ARRAY_SIZE(five) == 5);
 
+  GPR_ASSERT(GPR_BITCOUNT((1u << 31) - 1) == 31);
+  GPR_ASSERT(GPR_BITCOUNT(1u << 3) == 1);
+  GPR_ASSERT(GPR_BITCOUNT(0) == 0);
+
   GPR_ASSERT(GPR_BITSET(&bitset, 3) == 8);
   GPR_ASSERT(GPR_BITCOUNT(bitset) == 1);
   GPR_ASSERT(GPR_BITGET(bitset, 3) == 1);