diff --git a/test/core/surface/completion_queue_test.c b/test/core/surface/completion_queue_test.c index e26f379bfc3..f895336fba2 100644 --- a/test/core/surface/completion_queue_test.c +++ b/test/core/surface/completion_queue_test.c @@ -94,6 +94,16 @@ static void test_cq_end_op(void) { shutdown_and_destroy(cc); } +static void test_shutdown_then_next(void) { + grpc_completion_queue *cc; + LOG_TEST("test_shutdown_then_next"); + + cc = grpc_completion_queue_create(); + grpc_completion_queue_shutdown(cc); + GPR_ASSERT(grpc_completion_queue_next(cc, gpr_inf_past).type == GRPC_QUEUE_SHUTDOWN); + grpc_completion_queue_destroy(cc); +} + static void test_pluck(void) { grpc_event ev; grpc_completion_queue *cc; @@ -291,6 +301,7 @@ int main(int argc, char **argv) { grpc_iomgr_init(); test_no_op(); test_wait_empty(); + test_shutdown_then_next(); test_cq_end_op(); test_pluck(); test_threading(1, 1);