[test] Convert cq verifier to C++ (#30256)

* [test] Convert cq verifier to C++

* Automated change: Fix sanity tests

* fix

* dead code

* strength reduction

* dead code

* fix

* when search/replace goes wrong

* review feedback

* review feedback

* cleanup

* fixes

* fix

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
pull/29849/merge
Craig Tiller 3 years ago committed by GitHub
parent caf0a49e67
commit 3ec0e29bcf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 686
      CMakeLists.txt
  2. 232
      build_autogenerated.yaml
  3. 46
      src/core/lib/gprpp/debug_location.h
  4. 16
      src/objective-c/tests/CronetTests/CronetUnitTests.mm
  5. 2
      templates/CMakeLists.txt.template
  6. 7
      test/core/bad_client/bad_client.cc
  7. 13
      test/core/bad_client/tests/duplicate_header.cc
  8. 7
      test/core/bad_client/tests/head_of_line_blocking.cc
  9. 7
      test/core/bad_client/tests/server_registered_method.cc
  10. 7
      test/core/bad_client/tests/simple_request.cc
  11. 7
      test/core/bad_ssl/bad_ssl_test.cc
  12. 1
      test/core/end2end/BUILD
  13. 8
      test/core/end2end/bad_server_response_test.cc
  14. 8
      test/core/end2end/connection_refused_test.cc
  15. 235
      test/core/end2end/cq_verifier.cc
  16. 97
      test/core/end2end/cq_verifier.h
  17. 32
      test/core/end2end/cq_verifier_internal.h
  18. 55
      test/core/end2end/cq_verifier_native.cc
  19. 19
      test/core/end2end/dualstack_socket_test.cc
  20. 38
      test/core/end2end/goaway_server_test.cc
  21. 5
      test/core/end2end/h2_ssl_cert_test.cc
  22. 14
      test/core/end2end/h2_ssl_session_reuse_test.cc
  23. 23
      test/core/end2end/invalid_call_argument_test.cc
  24. 7
      test/core/end2end/no_server_test.cc
  25. 8
      test/core/end2end/tests/authority_not_supported.cc
  26. 8
      test/core/end2end/tests/bad_hostname.cc
  27. 46
      test/core/end2end/tests/bad_ping.cc
  28. 18
      test/core/end2end/tests/binary_metadata.cc
  29. 31
      test/core/end2end/tests/call_creds.cc
  30. 14
      test/core/end2end/tests/call_host_override.cc
  31. 13
      test/core/end2end/tests/cancel_after_accept.cc
  32. 13
      test/core/end2end/tests/cancel_after_client_done.cc
  33. 7
      test/core/end2end/tests/cancel_after_invoke.cc
  34. 19
      test/core/end2end/tests/cancel_after_round_trip.cc
  35. 7
      test/core/end2end/tests/cancel_before_invoke.cc
  36. 2
      test/core/end2end/tests/cancel_in_a_vacuum.cc
  37. 8
      test/core/end2end/tests/cancel_with_status.cc
  38. 14
      test/core/end2end/tests/channelz.cc
  39. 34
      test/core/end2end/tests/client_streaming.cc
  40. 49
      test/core/end2end/tests/compressed_payload.cc
  41. 22
      test/core/end2end/tests/connectivity.cc
  42. 14
      test/core/end2end/tests/default_host.cc
  43. 20
      test/core/end2end/tests/disappearing_server.cc
  44. 8
      test/core/end2end/tests/empty_batch.cc
  45. 8
      test/core/end2end/tests/filter_causes_close.cc
  46. 14
      test/core/end2end/tests/filter_context.cc
  47. 28
      test/core/end2end/tests/filter_init_fails.cc
  48. 14
      test/core/end2end/tests/filter_latency.cc
  49. 14
      test/core/end2end/tests/filter_status_code.cc
  50. 18
      test/core/end2end/tests/filtered_metadata.cc
  51. 18
      test/core/end2end/tests/graceful_server_shutdown.cc
  52. 20
      test/core/end2end/tests/grpc_authz.cc
  53. 16
      test/core/end2end/tests/high_initial_seqno.cc
  54. 14
      test/core/end2end/tests/hpack_size.cc
  55. 18
      test/core/end2end/tests/invoke_large_request.cc
  56. 36
      test/core/end2end/tests/keepalive_timeout.cc
  57. 32
      test/core/end2end/tests/large_metadata.cc
  58. 18
      test/core/end2end/tests/load_reporting_hook.cc
  59. 85
      test/core/end2end/tests/max_concurrent_streams.cc
  60. 47
      test/core/end2end/tests/max_connection_age.cc
  61. 30
      test/core/end2end/tests/max_connection_idle.cc
  62. 62
      test/core/end2end/tests/max_message_length.cc
  63. 8
      test/core/end2end/tests/negative_deadline.cc
  64. 14
      test/core/end2end/tests/no_error_on_hotpath.cc
  65. 14
      test/core/end2end/tests/no_logging.cc
  66. 18
      test/core/end2end/tests/payload.cc
  67. 18
      test/core/end2end/tests/ping.cc
  68. 28
      test/core/end2end/tests/ping_pong_streaming.cc
  69. 14
      test/core/end2end/tests/proxy_auth.cc
  70. 14
      test/core/end2end/tests/registered_call.cc
  71. 8
      test/core/end2end/tests/request_with_flags.cc
  72. 18
      test/core/end2end/tests/request_with_payload.cc
  73. 22
      test/core/end2end/tests/retry.cc
  74. 12
      test/core/end2end/tests/retry_cancel_after_first_attempt_starts.cc
  75. 16
      test/core/end2end/tests/retry_cancel_during_delay.cc
  76. 14
      test/core/end2end/tests/retry_cancel_with_multiple_send_batches.cc
  77. 20
      test/core/end2end/tests/retry_cancellation.cc
  78. 14
      test/core/end2end/tests/retry_disabled.cc
  79. 28
      test/core/end2end/tests/retry_exceeds_buffer_size_in_delay.cc
  80. 14
      test/core/end2end/tests/retry_exceeds_buffer_size_in_initial_batch.cc
  81. 18
      test/core/end2end/tests/retry_exceeds_buffer_size_in_subsequent_batch.cc
  82. 8
      test/core/end2end/tests/retry_lb_drop.cc
  83. 12
      test/core/end2end/tests/retry_lb_fail.cc
  84. 14
      test/core/end2end/tests/retry_non_retriable_status.cc
  85. 18
      test/core/end2end/tests/retry_non_retriable_status_before_recv_trailing_metadata_started.cc
  86. 26
      test/core/end2end/tests/retry_per_attempt_recv_timeout.cc
  87. 16
      test/core/end2end/tests/retry_per_attempt_recv_timeout_on_last_attempt.cc
  88. 18
      test/core/end2end/tests/retry_recv_initial_metadata.cc
  89. 14
      test/core/end2end/tests/retry_recv_message.cc
  90. 18
      test/core/end2end/tests/retry_recv_message_replay.cc
  91. 18
      test/core/end2end/tests/retry_recv_trailing_metadata_error.cc
  92. 26
      test/core/end2end/tests/retry_send_initial_metadata_refs.cc
  93. 18
      test/core/end2end/tests/retry_send_op_fails.cc
  94. 18
      test/core/end2end/tests/retry_send_recv_batch.cc
  95. 22
      test/core/end2end/tests/retry_server_pushback_delay.cc
  96. 22
      test/core/end2end/tests/retry_server_pushback_disabled.cc
  97. 54
      test/core/end2end/tests/retry_streaming.cc
  98. 42
      test/core/end2end/tests/retry_streaming_after_commit.cc
  99. 50
      test/core/end2end/tests/retry_streaming_succeeds_before_replay_finished.cc
  100. 14
      test/core/end2end/tests/retry_throttled.cc
  101. Some files were not shown because too many files have changed in this diff Show More

686
CMakeLists.txt generated

@ -778,24 +778,13 @@ if(gRPC_BUILD_TESTS)
add_custom_target(buildtests_c)
add_dependencies(buildtests_c alloc_test)
add_dependencies(buildtests_c b64_test)
add_dependencies(buildtests_c bad_server_response_test)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_c bad_ssl_alpn_test)
endif()
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_c bad_ssl_cert_test)
endif()
add_dependencies(buildtests_c buffer_list_test)
add_dependencies(buildtests_c c_slice_buffer_test)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_c combiner_test)
endif()
add_dependencies(buildtests_c compression_test)
add_dependencies(buildtests_c connection_refused_test)
add_dependencies(buildtests_c cpu_test)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_c dualstack_socket_test)
endif()
add_dependencies(buildtests_c endpoint_pair_test)
add_dependencies(buildtests_c env_test)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@ -811,16 +800,11 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_c fling_test)
endif()
add_dependencies(buildtests_c format_request_test)
add_dependencies(buildtests_c goaway_server_test)
add_dependencies(buildtests_c grpc_ipv6_loopback_available_test)
add_dependencies(buildtests_c inproc_callback_test)
add_dependencies(buildtests_c invalid_call_argument_test)
add_dependencies(buildtests_c load_file_test)
add_dependencies(buildtests_c message_compress_test)
add_dependencies(buildtests_c minimal_stack_is_minimal_test)
add_dependencies(buildtests_c multiple_server_queues_test)
add_dependencies(buildtests_c murmur_hash_test)
add_dependencies(buildtests_c no_server_test)
add_dependencies(buildtests_c parser_test)
add_dependencies(buildtests_c percent_encoding_test)
add_dependencies(buildtests_c public_headers_must_be_c89)
@ -889,6 +873,13 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_cxx avl_test)
add_dependencies(buildtests_cxx aws_request_signer_test)
add_dependencies(buildtests_cxx backoff_test)
add_dependencies(buildtests_cxx bad_server_response_test)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_cxx bad_ssl_alpn_test)
endif()
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_cxx bad_ssl_cert_test)
endif()
add_dependencies(buildtests_cxx bad_streaming_id_bad_client_test)
add_dependencies(buildtests_cxx badreq_bad_client_test)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
@ -941,6 +932,7 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_cxx completion_queue_threading_test)
add_dependencies(buildtests_cxx concurrent_connectivity_test)
add_dependencies(buildtests_cxx connection_prefix_bad_client_test)
add_dependencies(buildtests_cxx connection_refused_test)
add_dependencies(buildtests_cxx connectivity_state_test)
add_dependencies(buildtests_cxx context_allocator_end2end_test)
add_dependencies(buildtests_cxx context_list_test)
@ -955,6 +947,9 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_cxx dns_resolver_cooldown_test)
add_dependencies(buildtests_cxx dns_resolver_test)
add_dependencies(buildtests_cxx dual_ref_counted_test)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_cxx dualstack_socket_test)
endif()
add_dependencies(buildtests_cxx duplicate_header_bad_client_test)
add_dependencies(buildtests_cxx end2end_binder_transport_test)
add_dependencies(buildtests_cxx end2end_test)
@ -989,6 +984,7 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_cxx global_config_env_test)
endif()
add_dependencies(buildtests_cxx global_config_test)
add_dependencies(buildtests_cxx goaway_server_test)
add_dependencies(buildtests_cxx google_c2p_resolver_test)
add_dependencies(buildtests_cxx google_mesh_ca_certificate_provider_factory_test)
add_dependencies(buildtests_cxx graceful_shutdown_test)
@ -1036,9 +1032,11 @@ if(gRPC_BUILD_TESTS)
add_dependencies(buildtests_cxx if_test)
add_dependencies(buildtests_cxx init_test)
add_dependencies(buildtests_cxx initial_settings_frame_bad_client_test)
add_dependencies(buildtests_cxx inproc_callback_test)
add_dependencies(buildtests_cxx insecure_security_connector_test)
add_dependencies(buildtests_cxx interop_client)
add_dependencies(buildtests_cxx interop_server)
add_dependencies(buildtests_cxx invalid_call_argument_test)
add_dependencies(buildtests_cxx iomgr_event_engine_test)
add_dependencies(buildtests_cxx istio_echo_server_test)
add_dependencies(buildtests_cxx join_test)
@ -1066,6 +1064,8 @@ if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_dependencies(buildtests_cxx mpscq_test)
endif()
add_dependencies(buildtests_cxx multiple_server_queues_test)
add_dependencies(buildtests_cxx no_server_test)
add_dependencies(buildtests_cxx nonblocking_test)
add_dependencies(buildtests_cxx num_external_connectivity_watchers_test)
add_dependencies(buildtests_cxx observable_test)
@ -1451,6 +1451,10 @@ target_include_directories(end2end_tests
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
)
target_link_libraries(end2end_tests
${_gRPC_ALLTARGETS_LIBRARIES}
@ -4334,94 +4338,6 @@ target_link_libraries(b64_test
endif()
if(gRPC_BUILD_TESTS)
add_executable(bad_server_response_test
test/core/end2end/bad_server_response_test.cc
test/core/end2end/cq_verifier.cc
)
target_include_directories(bad_server_response_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
)
target_link_libraries(bad_server_response_test
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_executable(bad_ssl_alpn_test
test/core/bad_ssl/bad_ssl_test.cc
test/core/end2end/cq_verifier.cc
)
target_include_directories(bad_ssl_alpn_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
)
target_link_libraries(bad_ssl_alpn_test
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
endif()
if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_executable(bad_ssl_cert_test
test/core/bad_ssl/bad_ssl_test.cc
test/core/end2end/cq_verifier.cc
)
target_include_directories(bad_ssl_cert_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
)
target_link_libraries(bad_ssl_cert_test
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
endif()
if(gRPC_BUILD_TESTS)
add_executable(buffer_list_test
test/core/iomgr/buffer_list_test.cc
)
@ -4530,34 +4446,6 @@ target_link_libraries(compression_test
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(connection_refused_test
test/core/end2end/connection_refused_test.cc
test/core/end2end/cq_verifier.cc
)
target_include_directories(connection_refused_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
)
target_link_libraries(connection_refused_test
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
@ -4585,36 +4473,6 @@ target_link_libraries(cpu_test
)
endif()
if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_executable(dualstack_socket_test
test/core/end2end/cq_verifier.cc
test/core/end2end/dualstack_socket_test.cc
)
target_include_directories(dualstack_socket_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
)
target_link_libraries(dualstack_socket_test
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
endif()
if(gRPC_BUILD_TESTS)
@ -4825,34 +4683,6 @@ target_link_libraries(format_request_test
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(goaway_server_test
test/core/end2end/cq_verifier.cc
test/core/end2end/goaway_server_test.cc
)
target_include_directories(goaway_server_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
)
target_link_libraries(goaway_server_test
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
@ -4880,61 +4710,6 @@ target_link_libraries(grpc_ipv6_loopback_available_test
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(inproc_callback_test
test/core/end2end/inproc_callback_test.cc
)
target_include_directories(inproc_callback_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
)
target_link_libraries(inproc_callback_test
${_gRPC_ALLTARGETS_LIBRARIES}
end2end_tests
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(invalid_call_argument_test
test/core/end2end/cq_verifier.cc
test/core/end2end/invalid_call_argument_test.cc
)
target_include_directories(invalid_call_argument_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
)
target_link_libraries(invalid_call_argument_test
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
@ -5016,34 +4791,6 @@ target_link_libraries(minimal_stack_is_minimal_test
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(multiple_server_queues_test
test/core/end2end/cq_verifier.cc
test/core/end2end/multiple_server_queues_test.cc
)
target_include_directories(multiple_server_queues_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
)
target_link_libraries(multiple_server_queues_test
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
@ -5071,34 +4818,6 @@ target_link_libraries(murmur_hash_test
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(no_server_test
test/core/end2end/cq_verifier.cc
test/core/end2end/no_server_test.cc
)
target_include_directories(no_server_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
)
target_link_libraries(no_server_test
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
@ -6771,6 +6490,118 @@ target_link_libraries(backoff_test
endif()
if(gRPC_BUILD_TESTS)
add_executable(bad_server_response_test
test/core/end2end/bad_server_response_test.cc
test/core/end2end/cq_verifier.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(bad_server_response_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(bad_server_response_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_executable(bad_ssl_alpn_test
test/core/bad_ssl/bad_ssl_test.cc
test/core/end2end/cq_verifier.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(bad_ssl_alpn_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(bad_ssl_alpn_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
endif()
if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_executable(bad_ssl_cert_test
test/core/bad_ssl/bad_ssl_test.cc
test/core/end2end/cq_verifier.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(bad_ssl_cert_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(bad_ssl_cert_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
endif()
if(gRPC_BUILD_TESTS)
add_executable(bad_streaming_id_bad_client_test
test/core/bad_client/bad_client.cc
test/core/bad_client/tests/bad_streaming_id.cc
@ -8597,6 +8428,42 @@ target_link_libraries(connection_prefix_bad_client_test
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(connection_refused_test
test/core/end2end/connection_refused_test.cc
test/core/end2end/cq_verifier.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(connection_refused_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(connection_refused_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
@ -9052,6 +8919,44 @@ target_link_libraries(dual_ref_counted_test
)
endif()
if(gRPC_BUILD_TESTS)
if(_gRPC_PLATFORM_LINUX OR _gRPC_PLATFORM_MAC OR _gRPC_PLATFORM_POSIX)
add_executable(dualstack_socket_test
test/core/end2end/cq_verifier.cc
test/core/end2end/dualstack_socket_test.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(dualstack_socket_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(dualstack_socket_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
endif()
if(gRPC_BUILD_TESTS)
@ -10307,6 +10212,42 @@ target_link_libraries(global_config_test
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(goaway_server_test
test/core/end2end/cq_verifier.cc
test/core/end2end/goaway_server_test.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(goaway_server_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(goaway_server_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
@ -12056,6 +11997,41 @@ target_link_libraries(initial_settings_frame_bad_client_test
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(inproc_callback_test
test/core/end2end/inproc_callback_test.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(inproc_callback_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(inproc_callback_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
end2end_tests
)
endif()
if(gRPC_BUILD_TESTS)
@ -12192,6 +12168,42 @@ target_link_libraries(interop_server
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(invalid_call_argument_test
test/core/end2end/cq_verifier.cc
test/core/end2end/invalid_call_argument_test.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(invalid_call_argument_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(invalid_call_argument_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
@ -13190,6 +13202,78 @@ endif()
endif()
if(gRPC_BUILD_TESTS)
add_executable(multiple_server_queues_test
test/core/end2end/cq_verifier.cc
test/core/end2end/multiple_server_queues_test.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(multiple_server_queues_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(multiple_server_queues_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(no_server_test
test/core/end2end/cq_verifier.cc
test/core/end2end/no_server_test.cc
third_party/googletest/googletest/src/gtest-all.cc
third_party/googletest/googlemock/src/gmock-all.cc
)
target_include_directories(no_server_test
PRIVATE
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_SOURCE_DIR}/include
${_gRPC_ADDRESS_SORTING_INCLUDE_DIR}
${_gRPC_RE2_INCLUDE_DIR}
${_gRPC_SSL_INCLUDE_DIR}
${_gRPC_UPB_GENERATED_DIR}
${_gRPC_UPB_GRPC_GENERATED_DIR}
${_gRPC_UPB_INCLUDE_DIR}
${_gRPC_XXHASH_INCLUDE_DIR}
${_gRPC_ZLIB_INCLUDE_DIR}
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include
third_party/googletest/googlemock
${_gRPC_PROTO_GENS_DIR}
)
target_link_libraries(no_server_test
${_gRPC_PROTOBUF_LIBRARIES}
${_gRPC_ALLTARGETS_LIBRARIES}
grpc_test_util
)
endif()
if(gRPC_BUILD_TESTS)
add_executable(nonblocking_test
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.pb.cc
${_gRPC_PROTO_GENS_DIR}/src/proto/grpc/testing/echo.grpc.pb.cc

@ -3212,44 +3212,6 @@ targets:
deps:
- grpc_test_util
uses_polling: false
- name: bad_server_response_test
build: test
language: c
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/bad_server_response_test.cc
- test/core/end2end/cq_verifier.cc
deps:
- grpc_test_util
- name: bad_ssl_alpn_test
build: test
language: c
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/bad_ssl/bad_ssl_test.cc
- test/core/end2end/cq_verifier.cc
deps:
- grpc_test_util
platforms:
- linux
- posix
- mac
- name: bad_ssl_cert_test
build: test
language: c
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/bad_ssl/bad_ssl_test.cc
- test/core/end2end/cq_verifier.cc
deps:
- grpc_test_util
platforms:
- linux
- posix
- mac
- name: buffer_list_test
build: test
language: c
@ -3290,16 +3252,6 @@ targets:
deps:
- grpc_test_util
uses_polling: false
- name: connection_refused_test
build: test
language: c
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/connection_refused_test.cc
- test/core/end2end/cq_verifier.cc
deps:
- grpc_test_util
- name: cpu_test
build: test
language: c
@ -3309,20 +3261,6 @@ targets:
deps:
- grpc_test_util
uses_polling: false
- name: dualstack_socket_test
build: test
language: c
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/cq_verifier.cc
- test/core/end2end/dualstack_socket_test.cc
deps:
- grpc_test_util
platforms:
- linux
- posix
- mac
- name: endpoint_pair_test
build: test
language: c
@ -3413,16 +3351,6 @@ targets:
- test/core/http/format_request_test.cc
deps:
- grpc_test_util
- name: goaway_server_test
build: test
language: c
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/cq_verifier.cc
- test/core/end2end/goaway_server_test.cc
deps:
- grpc_test_util
- name: grpc_ipv6_loopback_available_test
build: test
language: c
@ -3431,25 +3359,6 @@ targets:
- test/core/iomgr/grpc_ipv6_loopback_available_test.cc
deps:
- grpc_test_util
- name: inproc_callback_test
build: test
language: c
headers: []
src:
- test/core/end2end/inproc_callback_test.cc
deps:
- end2end_tests
uses_polling: false
- name: invalid_call_argument_test
build: test
language: c
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/cq_verifier.cc
- test/core/end2end/invalid_call_argument_test.cc
deps:
- grpc_test_util
- name: load_file_test
build: test
language: c
@ -3477,16 +3386,6 @@ targets:
deps:
- grpc_test_util
uses_polling: false
- name: multiple_server_queues_test
build: test
language: c
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/cq_verifier.cc
- test/core/end2end/multiple_server_queues_test.cc
deps:
- grpc_test_util
- name: murmur_hash_test
build: test
language: c
@ -3496,16 +3395,6 @@ targets:
deps:
- grpc_test_util
uses_polling: false
- name: no_server_test
build: test
language: c
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/cq_verifier.cc
- test/core/end2end/no_server_test.cc
deps:
- grpc_test_util
- name: parser_test
build: test
language: c
@ -4221,6 +4110,47 @@ targets:
deps:
- grpc_test_util
uses_polling: false
- name: bad_server_response_test
gtest: true
build: test
language: c++
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/bad_server_response_test.cc
- test/core/end2end/cq_verifier.cc
deps:
- grpc_test_util
- name: bad_ssl_alpn_test
gtest: true
build: test
language: c++
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/bad_ssl/bad_ssl_test.cc
- test/core/end2end/cq_verifier.cc
deps:
- grpc_test_util
platforms:
- linux
- posix
- mac
- name: bad_ssl_cert_test
gtest: true
build: test
language: c++
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/bad_ssl/bad_ssl_test.cc
- test/core/end2end/cq_verifier.cc
deps:
- grpc_test_util
platforms:
- linux
- posix
- mac
- name: bad_streaming_id_bad_client_test
gtest: true
build: test
@ -4941,6 +4871,17 @@ targets:
- test/core/end2end/cq_verifier.cc
deps:
- grpc_test_util
- name: connection_refused_test
gtest: true
build: test
language: c++
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/connection_refused_test.cc
- test/core/end2end/cq_verifier.cc
deps:
- grpc_test_util
- name: connectivity_state_test
gtest: true
build: test
@ -5072,6 +5013,21 @@ targets:
- test/core/gprpp/dual_ref_counted_test.cc
deps:
- grpc_test_util
- name: dualstack_socket_test
gtest: true
build: test
language: c++
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/cq_verifier.cc
- test/core/end2end/dualstack_socket_test.cc
deps:
- grpc_test_util
platforms:
- linux
- posix
- mac
- name: duplicate_header_bad_client_test
gtest: true
build: test
@ -5773,6 +5729,17 @@ targets:
deps:
- grpc_test_util
uses_polling: false
- name: goaway_server_test
gtest: true
build: test
language: c++
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/cq_verifier.cc
- test/core/end2end/goaway_server_test.cc
deps:
- grpc_test_util
- name: google_c2p_resolver_test
gtest: true
build: test
@ -6309,6 +6276,16 @@ targets:
- test/core/end2end/cq_verifier.cc
deps:
- grpc_test_util
- name: inproc_callback_test
gtest: true
build: test
language: c++
headers: []
src:
- test/core/end2end/inproc_callback_test.cc
deps:
- end2end_tests
uses_polling: false
- name: insecure_security_connector_test
gtest: true
build: test
@ -6353,6 +6330,17 @@ targets:
deps:
- grpc++_test_config
- grpc++_test_util
- name: invalid_call_argument_test
gtest: true
build: test
language: c++
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/cq_verifier.cc
- test/core/end2end/invalid_call_argument_test.cc
deps:
- grpc_test_util
- name: iomgr_event_engine_test
gtest: true
build: test
@ -6874,6 +6862,28 @@ targets:
- posix
- mac
uses_polling: false
- name: multiple_server_queues_test
gtest: true
build: test
language: c++
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/cq_verifier.cc
- test/core/end2end/multiple_server_queues_test.cc
deps:
- grpc_test_util
- name: no_server_test
gtest: true
build: test
language: c++
headers:
- test/core/end2end/cq_verifier.h
src:
- test/core/end2end/cq_verifier.cc
- test/core/end2end/no_server_test.cc
deps:
- grpc_test_util
- name: nonblocking_test
gtest: true
build: test

@ -19,8 +19,39 @@
#ifndef GRPC_CORE_LIB_GPRPP_DEBUG_LOCATION_H
#define GRPC_CORE_LIB_GPRPP_DEBUG_LOCATION_H
#if defined(__has_builtin)
#if __has_builtin(__builtin_FILE)
#define GRPC_DEFAULT_FILE __builtin_FILE()
#endif
#endif
#ifndef GRPC_DEFAULT_FILE
#define GRPC_DEFAULT_FILE "<unknown>"
#endif
#if defined(__has_builtin)
#if __has_builtin(__builtin_LINE)
#define GRPC_DEFAULT_LINE __builtin_LINE()
#endif
#endif
#ifndef GRPC_DEFAULT_LINE
#define GRPC_DEFAULT_LINE -1
#endif
namespace grpc_core {
class SourceLocation {
public:
// NOLINTNEXTLINE
SourceLocation(const char* file = GRPC_DEFAULT_FILE,
int line = GRPC_DEFAULT_LINE)
: file_(file), line_(line) {}
const char* file() const { return file_; }
int line() const { return line_; }
private:
const char* file_;
int line_;
};
// Used for tracking file and line where a call is made for debug builds.
// No-op for non-debug builds.
// Callers can use the DEBUG_LOCATION macro in either case.
@ -30,15 +61,15 @@ namespace grpc_core {
// callers don't need to explicitly pass DEBUG_LOCATION anywhere.
class DebugLocation {
public:
DebugLocation(const char* file, int line) : file_(file), line_(line) {}
const char* file() const { return file_; }
int line() const { return line_; }
DebugLocation(const char* file = GRPC_DEFAULT_FILE,
int line = GRPC_DEFAULT_LINE)
: location_(file, line) {}
const char* file() const { return location_.file(); }
int line() const { return location_.line(); }
private:
const char* file_;
const int line_;
SourceLocation location_;
};
#define DEBUG_LOCATION ::grpc_core::DebugLocation(__FILE__, __LINE__)
#else
class DebugLocation {
public:
@ -47,9 +78,10 @@ class DebugLocation {
const char* file() const { return nullptr; }
int line() const { return -1; }
};
#define DEBUG_LOCATION ::grpc_core::DebugLocation()
#endif
#define DEBUG_LOCATION ::grpc_core::DebugLocation()
} // namespace grpc_core
#endif /* GRPC_CORE_LIB_GPRPP_DEBUG_LOCATION_H */

@ -136,7 +136,7 @@ unsigned int parse_h2_length(const char *field) {
stream_engine *cronetEngine = [Cronet getGlobalEngine];
grpc_channel *client = grpc_cronet_secure_channel_create(cronetEngine, addr.c_str(), NULL, NULL);
cq_verifier *cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
grpc_op ops[6];
grpc_op *op;
grpc_metadata_array initial_metadata_recv;
@ -216,8 +216,8 @@ unsigned int parse_h2_length(const char *field) {
close(sl);
});
CQ_EXPECT_COMPLETION(cqv, (void *)1, 1);
cq_verify(cqv);
cqv.Expect((void *)1, true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNAVAILABLE);
@ -229,8 +229,6 @@ unsigned int parse_h2_length(const char *field) {
grpc_call_unref(c);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(response_payload_recv);
@ -266,7 +264,7 @@ unsigned int parse_h2_length(const char *field) {
stream_engine *cronetEngine = [Cronet getGlobalEngine];
grpc_channel *client = grpc_cronet_secure_channel_create(cronetEngine, addr.c_str(), args, NULL);
cq_verifier *cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
grpc_op ops[6];
grpc_op *op;
grpc_metadata_array initial_metadata_recv;
@ -391,8 +389,8 @@ unsigned int parse_h2_length(const char *field) {
error = grpc_call_start_batch(c, ops, (size_t)(op - ops), (void *)1, NULL);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, (void *)1, 1);
cq_verify(cqv);
cqv.Expect((void *)1, true);
cqv.Verify();
grpc_slice_unref(details);
grpc_metadata_array_destroy(&initial_metadata_recv);
@ -402,8 +400,6 @@ unsigned int parse_h2_length(const char *field) {
grpc_call_unref(c);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(response_payload_recv);

@ -690,7 +690,7 @@
<%text>${_gRPC_UPB_INCLUDE_DIR}</%text>
<%text>${_gRPC_XXHASH_INCLUDE_DIR}</%text>
<%text>${_gRPC_ZLIB_INCLUDE_DIR}</%text>
% if lib.build in ['test', 'private'] and lib.language == 'c++':
% if (lib.build in ['test', 'private'] and lib.language == 'c++') or lib.name == 'end2end_tests':
third_party/googletest/googletest/include
third_party/googletest/googletest
third_party/googletest/googlemock/include

@ -322,7 +322,7 @@ void server_verifier_request_call(grpc_server* server,
grpc_call_error error;
grpc_call* s;
grpc_call_details call_details;
cq_verifier* cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
grpc_metadata_array request_metadata_recv;
grpc_call_details_init(&call_details);
@ -331,8 +331,8 @@ void server_verifier_request_call(grpc_server* server,
error = grpc_server_request_call(server, &s, &call_details,
&request_metadata_recv, cq, cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.host, "localhost"));
GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo/bar"));
@ -340,5 +340,4 @@ void server_verifier_request_call(grpc_server* server,
grpc_metadata_array_destroy(&request_metadata_recv);
grpc_call_details_destroy(&call_details);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}

@ -58,7 +58,7 @@ static void verifier(grpc_server* server, grpc_completion_queue* cq,
grpc_byte_buffer* request_payload_recv = nullptr;
grpc_op* op;
grpc_op ops[6];
cq_verifier* cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
grpc_metadata_array request_metadata_recv;
int was_cancelled = 2;
@ -68,8 +68,8 @@ static void verifier(grpc_server* server, grpc_completion_queue* cq,
error = grpc_server_request_call(server, &s, &call_details,
&request_metadata_recv, cq, cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.host, "localhost"));
GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo/bar"));
@ -90,8 +90,8 @@ static void verifier(grpc_server* server, grpc_completion_queue* cq,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION_ANY_STATUS(cqv, tag(102));
cq_verify(cqv);
cqv.Expect(tag(102), grpc_core::CqVerifier::AnyStatus());
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -112,12 +112,11 @@ static void verifier(grpc_server* server, grpc_completion_queue* cq,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
cqv.Expect(tag(103), true);
grpc_metadata_array_destroy(&request_metadata_recv);
grpc_call_details_destroy(&call_details);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}
int main(int argc, char** argv) {

@ -71,7 +71,7 @@ static void verifier(grpc_server* server, grpc_completion_queue* cq,
void* registered_method) {
grpc_call_error error;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
grpc_metadata_array request_metadata_recv;
gpr_timespec deadline;
grpc_byte_buffer* payload = nullptr;
@ -82,15 +82,14 @@ static void verifier(grpc_server* server, grpc_completion_queue* cq,
&deadline, &request_metadata_recv,
&payload, cq, cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
GPR_ASSERT(payload != nullptr);
grpc_metadata_array_destroy(&request_metadata_recv);
grpc_call_unref(s);
grpc_byte_buffer_destroy(payload);
cq_verifier_destroy(cqv);
}
char* g_buffer;

@ -43,7 +43,7 @@ static void verifier_succeeds(grpc_server* server, grpc_completion_queue* cq,
void* registered_method) {
grpc_call_error error;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
grpc_metadata_array request_metadata_recv;
gpr_timespec deadline;
grpc_byte_buffer* payload = nullptr;
@ -54,15 +54,14 @@ static void verifier_succeeds(grpc_server* server, grpc_completion_queue* cq,
&deadline, &request_metadata_recv,
&payload, cq, cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
GPR_ASSERT(payload != nullptr);
grpc_metadata_array_destroy(&request_metadata_recv);
grpc_call_unref(s);
grpc_byte_buffer_destroy(payload);
cq_verifier_destroy(cqv);
}
static void verifier_fails(grpc_server* server, grpc_completion_queue* cq,

@ -91,7 +91,7 @@ static void verifier(grpc_server* server, grpc_completion_queue* cq,
grpc_call_error error;
grpc_call* s;
grpc_call_details call_details;
cq_verifier* cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
grpc_metadata_array request_metadata_recv;
grpc_call_details_init(&call_details);
@ -100,8 +100,8 @@ static void verifier(grpc_server* server, grpc_completion_queue* cq,
error = grpc_server_request_call(server, &s, &call_details,
&request_metadata_recv, cq, cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.host, "localhost"));
GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo/bar"));
@ -109,7 +109,6 @@ static void verifier(grpc_server* server, grpc_completion_queue* cq,
grpc_metadata_array_destroy(&request_metadata_recv);
grpc_call_details_destroy(&call_details);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}
static void failure_verifier(grpc_server* server, grpc_completion_queue* cq,

@ -49,7 +49,7 @@ static void run_test(const char* target, size_t nops) {
grpc_call_error error;
gpr_timespec deadline = grpc_timeout_seconds_to_deadline(5);
grpc_completion_queue* cq = grpc_completion_queue_create_for_next(nullptr);
cq_verifier* cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
grpc_op ops[6];
grpc_op* op;
@ -98,8 +98,8 @@ static void run_test(const char* target, size_t nops) {
error = grpc_call_start_batch(c, ops, nops, tag(1), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status != GRPC_STATUS_OK);
@ -110,7 +110,6 @@ static void run_test(const char* target, size_t nops) {
grpc_channel_destroy(channel);
grpc_completion_queue_destroy(cq);
cq_verifier_destroy(cqv);
grpc_channel_credentials_release(ssl_creds);
}

@ -23,6 +23,7 @@ grpc_cc_library(
name = "cq_verifier",
srcs = ["cq_verifier.cc"],
hdrs = ["cq_verifier.h"],
external_deps = ["gtest"],
language = "C++",
visibility = ["//test:__subpackages__"],
deps = [

@ -186,11 +186,10 @@ static void start_rpc(int target_port, grpc_status_code expected_status,
grpc_metadata_array trailing_metadata_recv;
grpc_status_code status;
grpc_call_error error;
cq_verifier* cqv;
grpc_slice details;
state.cq = grpc_completion_queue_create_for_next(nullptr);
cqv = cq_verifier_create(state.cq);
grpc_core::CqVerifier cqv(state.cq);
state.target = grpc_core::JoinHostPort("127.0.0.1", target_port);
grpc_channel_credentials* creds = grpc_insecure_credentials_create();
@ -239,8 +238,8 @@ static void start_rpc(int target_port, grpc_status_code expected_status,
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == expected_status);
if (expected_detail != nullptr) {
@ -251,7 +250,6 @@ static void start_rpc(int target_port, grpc_status_code expected_status,
grpc_metadata_array_destroy(&initial_metadata_recv);
grpc_metadata_array_destroy(&trailing_metadata_recv);
grpc_slice_unref(details);
cq_verifier_destroy(cqv);
}
static void cleanup_rpc() {

@ -38,7 +38,6 @@ static void run_test(bool wait_for_ready, bool use_service_config) {
grpc_channel* chan;
grpc_call* call;
grpc_completion_queue* cq;
cq_verifier* cqv;
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array trailing_metadata_recv;
@ -53,7 +52,7 @@ static void run_test(bool wait_for_ready, bool use_service_config) {
grpc_metadata_array_init(&trailing_metadata_recv);
cq = grpc_completion_queue_create_for_next(nullptr);
cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
/* if using service config, create channel args */
grpc_channel_args* args = nullptr;
@ -108,8 +107,8 @@ static void run_test(bool wait_for_ready, bool use_service_config) {
(size_t)(op - ops), tag(1),
nullptr));
/* verify that all tags get completed */
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
if (wait_for_ready) {
GPR_ASSERT(status == GRPC_STATUS_DEADLINE_EXCEEDED);
@ -125,7 +124,6 @@ static void run_test(bool wait_for_ready, bool use_service_config) {
grpc_completion_queue_destroy(cq);
grpc_call_unref(call);
grpc_channel_destroy(chan);
cq_verifier_destroy(cqv);
grpc_slice_unref(details);
grpc_metadata_array_destroy(&trailing_metadata_recv);

@ -32,6 +32,7 @@
#include <grpc/byte_buffer.h>
#include <grpc/byte_buffer_reader.h>
#include <grpc/grpc.h>
#include <grpc/support/alloc.h>
#include <grpc/support/log.h>
#include <grpc/support/string_util.h>
@ -40,10 +41,10 @@
#include "src/core/lib/compression/compression_internal.h"
#include "src/core/lib/compression/message_compress.h"
#include "src/core/lib/gpr/string.h"
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/match.h"
#include "src/core/lib/surface/event_string.h"
#define ROOT_EXPECTATION 1000
// a set of metadata we expect to find on an event
typedef struct metadata {
size_t count;
@ -52,48 +53,6 @@ typedef struct metadata {
char** values;
} metadata;
// details what we expect to find on a single event
struct Expectation {
Expectation(const char* f, int l, grpc_completion_type t, void* tag_arg,
bool check_success_arg, int success_arg, bool* seen_arg)
: file(f),
line(l),
type(t),
tag(tag_arg),
check_success(check_success_arg),
success(success_arg),
seen(seen_arg) {}
const char* file;
int line;
grpc_completion_type type;
void* tag;
bool check_success;
int success;
bool* seen;
};
// the verifier itself
struct cq_verifier {
// bound completion queue
grpc_completion_queue* cq;
// expectation list
std::list<Expectation> expectations;
// maybe expectation list
std::list<Expectation> maybe_expectations;
};
// TODO(yashykt): Convert this to constructor/destructor pair
cq_verifier* cq_verifier_create(grpc_completion_queue* cq) {
cq_verifier* v = new cq_verifier;
v->cq = cq;
return v;
}
void cq_verifier_destroy(cq_verifier* v) {
cq_verify(v);
delete v;
}
static int has_metadata(const grpc_metadata* md, size_t count, const char* key,
const char* value) {
size_t i;
@ -187,139 +146,121 @@ int byte_buffer_eq_string(grpc_byte_buffer* bb, const char* str) {
return byte_buffer_eq_slice(bb, grpc_slice_from_copied_string(str));
}
static bool is_probably_integer(void* p) {
namespace {
bool IsProbablyInteger(void* p) {
return reinterpret_cast<uintptr_t>(p) < 1000000;
}
namespace {
std::string ExpectationString(const Expectation& e) {
std::string out;
if (is_probably_integer(e.tag)) {
out = absl::StrFormat("tag(%" PRIdPTR ") ",
reinterpret_cast<intptr_t>(e.tag));
std::string TagStr(void* tag) {
if (IsProbablyInteger(tag)) {
return absl::StrFormat("tag(%" PRIdPTR ")",
reinterpret_cast<intptr_t>(tag));
} else {
out = absl::StrFormat("%p ", e.tag);
}
switch (e.type) {
case GRPC_OP_COMPLETE:
absl::StrAppendFormat(&out, "GRPC_OP_COMPLETE success=%d %s:%d",
e.success, e.file, e.line);
break;
case GRPC_QUEUE_TIMEOUT:
case GRPC_QUEUE_SHUTDOWN:
gpr_log(GPR_ERROR, "not implemented");
abort();
return absl::StrFormat("%p", tag);
}
return out;
}
} // namespace
namespace grpc_core {
CqVerifier::CqVerifier(grpc_completion_queue* cq) : cq_(cq) {}
std::string ExpectationsString(const cq_verifier& v) {
CqVerifier::~CqVerifier() { Verify(); }
std::string CqVerifier::Expectation::ToString() const {
return absl::StrCat(
location.file(), ":", location.line(), ": ", TagStr(tag), " ",
Match(
result,
[](bool success) {
return absl::StrCat("success=", success ? "true" : "false");
},
[](Maybe) { return std::string("maybe"); },
[](AnyStatus) { return std::string("any success value"); }));
}
std::string CqVerifier::ToString() const {
std::vector<std::string> expectations;
for (const auto& e : v.expectations) {
expectations.push_back(ExpectationString(e));
for (const auto& e : expectations_) {
expectations.push_back(e.ToString());
}
return absl::StrJoin(expectations, "\n");
}
} // namespace
static void fail_no_event_received(cq_verifier* v) {
gpr_log(GPR_ERROR, "no event received, but expected:%s",
ExpectationsString(*v).c_str());
void CqVerifier::FailNoEventReceived() const {
gpr_log(GPR_ERROR, "no event received, but expected:%s", ToString().c_str());
abort();
}
static void verify_matches(const Expectation& e, const grpc_event& ev) {
GPR_ASSERT(e.type == ev.type);
switch (e.type) {
case GRPC_OP_COMPLETE:
if (e.check_success && e.success != ev.success) {
gpr_log(GPR_ERROR, "actual success does not match expected: %s",
ExpectationString(e).c_str());
abort();
}
break;
case GRPC_QUEUE_SHUTDOWN:
gpr_log(GPR_ERROR, "premature queue shutdown");
abort();
case GRPC_QUEUE_TIMEOUT:
gpr_log(GPR_ERROR, "not implemented");
abort();
}
void CqVerifier::FailUnexpectedEvent(grpc_event* ev) const {
gpr_log(GPR_ERROR, "cq returned unexpected event: %s",
grpc_event_string(ev).c_str());
gpr_log(GPR_ERROR, "expected tags:\n%s", ToString().c_str());
abort();
}
// Try to find the event in the expectations list
bool FindExpectations(std::list<Expectation>* expectations,
const grpc_event& ev) {
for (auto e = expectations->begin(); e != expectations->end(); ++e) {
if (e->tag == ev.tag) {
verify_matches(*e, ev);
if (e->seen != nullptr) {
*(e->seen) = true;
void CqVerifier::Verify(Duration timeout) {
const gpr_timespec deadline =
grpc_timeout_milliseconds_to_deadline(timeout.millis());
while (!expectations_.empty()) {
grpc_event ev = grpc_completion_queue_next(cq_, deadline, nullptr);
if (ev.type == GRPC_QUEUE_TIMEOUT) break;
if (ev.type != GRPC_OP_COMPLETE) {
FailUnexpectedEvent(&ev);
}
bool found = false;
for (auto it = expectations_.begin(); it != expectations_.end(); ++it) {
if (it->tag != ev.tag) continue;
const bool expected = Match(
it->result, [ev](bool success) { return ev.success == success; },
[ev](Maybe m) {
if (m.seen != nullptr) *m.seen = true;
return ev.success != 0;
},
[ev](AnyStatus a) {
if (a.result != nullptr) *a.result = ev.success;
return true;
});
if (!expected) {
FailUnexpectedEvent(&ev);
}
expectations->erase(e);
return true;
expectations_.erase(it);
found = true;
break;
}
if (!found) FailUnexpectedEvent(&ev);
if (AllMaybes()) break;
}
return false;
expectations_.erase(
std::remove_if(expectations_.begin(), expectations_.end(),
[](const Expectation& e) {
return absl::holds_alternative<Maybe>(e.result);
}),
expectations_.end());
if (!expectations_.empty()) FailNoEventReceived();
}
void cq_verify(cq_verifier* v, int timeout_sec) {
const gpr_timespec deadline = grpc_timeout_seconds_to_deadline(timeout_sec);
while (!v->expectations.empty()) {
grpc_event ev = grpc_completion_queue_next(v->cq, deadline, nullptr);
if (ev.type == GRPC_QUEUE_TIMEOUT) {
fail_no_event_received(v);
break;
}
if (FindExpectations(&v->expectations, ev)) continue;
if (FindExpectations(&v->maybe_expectations, ev)) continue;
gpr_log(GPR_ERROR, "cq returned unexpected event: %s",
grpc_event_string(&ev).c_str());
gpr_log(GPR_ERROR, "expected tags:\n%s", ExpectationsString(*v).c_str());
abort();
bool CqVerifier::AllMaybes() const {
for (const auto& e : expectations_) {
if (!absl::holds_alternative<Maybe>(e.result)) return false;
}
v->maybe_expectations.clear();
return true;
}
void cq_verify_empty_timeout(cq_verifier* v, int timeout_sec) {
gpr_timespec deadline =
gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC),
gpr_time_from_seconds(timeout_sec, GPR_TIMESPAN));
grpc_event ev;
GPR_ASSERT(v->expectations.empty() && "expectation queue must be empty");
ev = grpc_completion_queue_next(v->cq, deadline, nullptr);
void CqVerifier::VerifyEmpty(Duration timeout) {
const gpr_timespec deadline =
gpr_time_add(gpr_now(GPR_CLOCK_MONOTONIC), timeout.as_timespec());
GPR_ASSERT(expectations_.empty());
grpc_event ev = grpc_completion_queue_next(cq_, deadline, nullptr);
if (ev.type != GRPC_QUEUE_TIMEOUT) {
gpr_log(GPR_ERROR, "unexpected event (expected nothing): %s",
grpc_event_string(&ev).c_str());
abort();
}
}
void cq_verify_empty(cq_verifier* v) { cq_verify_empty_timeout(v, 1); }
void cq_maybe_expect_completion(cq_verifier* v, const char* file, int line,
void* tag, bool success, bool* seen) {
v->maybe_expectations.emplace_back(file, line, GRPC_OP_COMPLETE, tag,
true /* check_success */, success, seen);
void CqVerifier::Expect(void* tag, ExpectedResult result,
SourceLocation location) {
expectations_.push_back(Expectation{location, tag, result});
}
static void add(cq_verifier* v, const char* file, int line,
grpc_completion_type type, void* tag, bool check_success,
bool success) {
v->expectations.emplace_back(file, line, type, tag, check_success, success,
nullptr);
}
void cq_expect_completion(cq_verifier* v, const char* file, int line, void* tag,
bool success) {
add(v, file, line, GRPC_OP_COMPLETE, tag, true, success);
}
void cq_expect_completion_any_status(cq_verifier* v, const char* file, int line,
void* tag) {
add(v, file, line, GRPC_OP_COMPLETE, tag, false, false);
}
} // namespace grpc_core

@ -23,44 +23,69 @@
#include <grpc/grpc.h>
#include "src/core/lib/gprpp/debug_location.h"
#include "src/core/lib/gprpp/time.h"
#include "test/core/util/test_config.h"
/* A cq_verifier can verify that expected events arrive in a timely fashion
on a single completion queue */
typedef struct cq_verifier cq_verifier;
/* construct/destroy a cq_verifier */
cq_verifier* cq_verifier_create(grpc_completion_queue* cq);
void cq_verifier_destroy(cq_verifier* v);
/* ensure all expected events (and only those events) are present on the
bound completion queue within \a timeout_sec */
void cq_verify(cq_verifier* v, int timeout_sec = 10);
/* ensure that the completion queue is empty */
void cq_verify_empty(cq_verifier* v);
/* ensure that the completion queue is empty, waiting up to \a timeout secs. */
void cq_verify_empty_timeout(cq_verifier* v, int timeout_sec);
/* Various expectation matchers
Any functions taking ... expect a NULL terminated list of key/value pairs
(each pair using two parameter slots) of metadata that MUST be present in
the event. */
void cq_expect_completion(cq_verifier* v, const char* file, int line, void* tag,
bool success);
/* If the \a tag is seen, \a seen is set to true. */
void cq_maybe_expect_completion(cq_verifier* v, const char* file, int line,
void* tag, bool success, bool* seen);
void cq_expect_completion_any_status(cq_verifier* v, const char* file, int line,
void* tag);
#define CQ_EXPECT_COMPLETION(v, tag, success) \
cq_expect_completion(v, __FILE__, __LINE__, tag, success)
#define CQ_MAYBE_EXPECT_COMPLETION(v, tag, success, seen) \
cq_maybe_expect_completion(v, __FILE__, __LINE__, tag, success, seen)
#define CQ_EXPECT_COMPLETION_ANY_STATUS(v, tag) \
cq_expect_completion_any_status(v, __FILE__, __LINE__, tag)
namespace grpc_core {
// A CqVerifier can verify that expected events arrive in a timely fashion
// on a single completion queue
class CqVerifier {
public:
// ExpectedResult - if the tag is received, set *seen to true (if seen is
// non-null).
struct Maybe {
bool* seen = nullptr;
};
// ExpectedResult - expect the tag, but its result may be true or false.
// Store the result in result (if result is non-null).
struct AnyStatus {
bool* result = nullptr;
};
using ExpectedResult = absl::variant<bool, Maybe, AnyStatus>;
explicit CqVerifier(grpc_completion_queue* cq);
~CqVerifier();
CqVerifier(const CqVerifier&) = delete;
CqVerifier& operator=(const CqVerifier&) = delete;
// Ensure all expected events (and only those events) are present on the
// bound completion queue within \a timeout.
void Verify(Duration timeout = Duration::Seconds(10));
// Ensure that the completion queue is empty, waiting up to \a timeout.
void VerifyEmpty(Duration timeout = Duration::Seconds(1));
// Match an expectation about a status.
// location must be DEBUG_LOCATION.
// result can be any of the types in ExpectedResult - a plain bool means
// 'expect success to be true/false'.
void Expect(void* tag, ExpectedResult result,
SourceLocation location = SourceLocation());
std::string ToString() const;
private:
struct Expectation {
SourceLocation location;
void* tag;
ExpectedResult result;
std::string ToString() const;
};
void FailNoEventReceived() const;
void FailUnexpectedEvent(grpc_event* ev) const;
bool AllMaybes() const;
grpc_completion_queue* const cq_;
std::vector<Expectation> expectations_;
};
} // namespace grpc_core
int byte_buffer_eq_slice(grpc_byte_buffer* bb, grpc_slice b);
int byte_buffer_eq_string(grpc_byte_buffer* bb, const char* str);

@ -1,32 +0,0 @@
/*
*
* Copyright 2015 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#ifndef GRPC_TEST_CORE_END2END_CQ_VERIFIER_INTERNAL_H
#define GRPC_TEST_CORE_END2END_CQ_VERIFIER_INTERNAL_H
#include "test/core/end2end/cq_verifier.h"
typedef struct expectation expectation;
expectation* cq_verifier_get_first_expectation(cq_verifier* v);
void cq_verifier_set_first_expectation(cq_verifier* v, expectation* e);
grpc_event cq_verifier_next_event(cq_verifier* v, int timeout_seconds);
#endif /* GRPC_TEST_CORE_END2END_CQ_VERIFIER_INTERNAL_H */

@ -1,55 +0,0 @@
/*
*
* Copyright 2016 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#include <grpc/support/alloc.h>
#include "test/core/end2end/cq_verifier_internal.h"
/* the verifier itself */
struct cq_verifier {
/* bound completion queue */
grpc_completion_queue* cq;
/* start of expectation list */
expectation* first_expectation;
};
cq_verifier* cq_verifier_create(grpc_completion_queue* cq) {
cq_verifier* v = static_cast<cq_verifier*>(gpr_malloc(sizeof(cq_verifier)));
v->cq = cq;
cq_verifier_set_first_expectation(v, nullptr);
return v;
}
void cq_verifier_destroy(cq_verifier* v) {
cq_verify(v);
gpr_free(v);
}
expectation* cq_verifier_get_first_expectation(cq_verifier* v) {
return v->first_expectation;
}
void cq_verifier_set_first_expectation(cq_verifier* v, expectation* e) {
v->first_expectation = e;
}
grpc_event cq_verifier_next_event(cq_verifier* v, int timeout_seconds) {
const gpr_timespec deadline =
grpc_timeout_seconds_to_deadline(timeout_seconds);
return grpc_completion_queue_next(v->cq, deadline, nullptr);
}

@ -80,7 +80,6 @@ void test_connect(const char* server_host, const char* client_host, int port,
grpc_completion_queue* cq;
grpc_call* c;
grpc_call* s;
cq_verifier* cqv;
gpr_timespec deadline;
int got_port;
grpc_op ops[6];
@ -123,7 +122,7 @@ void test_connect(const char* server_host, const char* client_host, int port,
GPR_ASSERT(port == got_port);
}
grpc_server_start(server);
cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
/* Create client. */
std::string client_hostport;
@ -198,8 +197,8 @@ void test_connect(const char* server_host, const char* client_host, int port,
error = grpc_server_request_call(server, &s, &call_details,
&request_metadata_recv, cq, cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -222,9 +221,9 @@ void test_connect(const char* server_host, const char* client_host, int port,
tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
peer = grpc_call_get_peer(c);
gpr_log(GPR_DEBUG, "got peer: '%s'", peer);
@ -240,8 +239,8 @@ void test_connect(const char* server_host, const char* client_host, int port,
grpc_call_unref(s);
} else {
/* Check for a failed connection. */
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
gpr_log(GPR_INFO, "status: %d (expected: %d)", status,
GRPC_STATUS_UNAVAILABLE);
@ -250,8 +249,6 @@ void test_connect(const char* server_host, const char* client_host, int port,
grpc_call_unref(c);
cq_verifier_destroy(cqv);
/* Destroy client. */
grpc_channel_destroy(client);

@ -179,7 +179,6 @@ static void my_cancel_ares_request(grpc_ares_request* request) {
int main(int argc, char** argv) {
grpc_completion_queue* cq;
cq_verifier* cqv;
grpc_op ops[6];
grpc_op* op;
@ -217,7 +216,7 @@ int main(int argc, char** argv) {
grpc_call_details_init(&request_details2);
cq = grpc_completion_queue_create_for_next(nullptr);
cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
/* reserve two ports */
int port1 = grpc_pick_unused_port_or_die();
@ -298,9 +297,9 @@ int main(int argc, char** argv) {
set_resolve_port(port1);
/* first call should now start */
CQ_EXPECT_COMPLETION(cqv, tag(0x101), 1);
CQ_EXPECT_COMPLETION(cqv, tag(0x301), 1);
cq_verify(cqv);
cqv.Expect(tag(0x101), true);
cqv.Expect(tag(0x301), true);
cqv.Verify();
GPR_ASSERT(GRPC_CHANNEL_READY ==
grpc_channel_check_connectivity_state(chan, 0));
@ -323,9 +322,9 @@ int main(int argc, char** argv) {
* we should see a connectivity change and then nothing */
set_resolve_port(-1);
grpc_server_shutdown_and_notify(server1, cq, tag(0xdead1));
CQ_EXPECT_COMPLETION(cqv, tag(0x9999), 1);
cq_verify(cqv);
cq_verify_empty(cqv);
cqv.Expect(tag(0x9999), true);
cqv.Verify();
cqv.VerifyEmpty();
/* and a new call: should go through to server2 when we start it */
grpc_call* call2 =
@ -375,9 +374,9 @@ int main(int argc, char** argv) {
&request_metadata2, cq, cq, tag(0x401)));
/* second call should now start */
CQ_EXPECT_COMPLETION(cqv, tag(0x201), 1);
CQ_EXPECT_COMPLETION(cqv, tag(0x401), 1);
cq_verify(cqv);
cqv.Expect(tag(0x201), true);
cqv.Expect(tag(0x401), true);
cqv.Verify();
/* listen for close on the server call to probe for finishing */
memset(ops, 0, sizeof(ops));
@ -392,19 +391,19 @@ int main(int argc, char** argv) {
/* shutdown second server: we should see nothing */
grpc_server_shutdown_and_notify(server2, cq, tag(0xdead2));
cq_verify_empty(cqv);
cqv.VerifyEmpty();
grpc_call_cancel(call1, nullptr);
grpc_call_cancel(call2, nullptr);
/* now everything else should finish */
CQ_EXPECT_COMPLETION(cqv, tag(0x102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(0x202), 1);
CQ_EXPECT_COMPLETION(cqv, tag(0x302), 1);
CQ_EXPECT_COMPLETION(cqv, tag(0x402), 1);
CQ_EXPECT_COMPLETION(cqv, tag(0xdead1), 1);
CQ_EXPECT_COMPLETION(cqv, tag(0xdead2), 1);
cq_verify(cqv);
cqv.Expect(tag(0x102), true);
cqv.Expect(tag(0x202), true);
cqv.Expect(tag(0x302), true);
cqv.Expect(tag(0x402), true);
cqv.Expect(tag(0xdead1), true);
cqv.Expect(tag(0xdead2), true);
cqv.Verify();
grpc_call_unref(call1);
grpc_call_unref(call2);
@ -423,7 +422,6 @@ int main(int argc, char** argv) {
grpc_call_details_destroy(&request_details2);
grpc_slice_unref(details2);
cq_verifier_destroy(cqv);
grpc_completion_queue_destroy(cq);
grpc_core::SetDNSResolver(g_default_dns_resolver);

@ -302,7 +302,7 @@ static void simple_request_body(grpc_end2end_test_fixture f,
test_result expected_result) {
grpc_call* c;
gpr_timespec deadline = five_seconds_time();
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_call_error error;
@ -325,10 +325,9 @@ static void simple_request_body(grpc_end2end_test_fixture f,
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), expected_result == SUCCESS);
cq_verify(cqv);
cqv.Verify();
grpc_call_unref(c);
cq_verifier_destroy(cqv);
}
class H2SslCertTest

@ -132,7 +132,7 @@ void do_round_trip(grpc_completion_queue* cq, grpc_server* server,
bool expect_session_reuse) {
grpc_channel* client = client_create(server_addr, cache);
cq_verifier* cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -186,8 +186,8 @@ void do_round_trip(grpc_completion_queue* cq, grpc_server* server,
error = grpc_server_request_call(server, &s, &call_details,
&request_metadata_recv, cq, cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
grpc_auth_context* auth = grpc_call_auth_context(s);
grpc_auth_property_iterator it = grpc_auth_context_find_properties_by_name(
@ -223,9 +223,9 @@ void do_round_trip(grpc_completion_queue* cq, grpc_server* server,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(1), true);
cqv.Verify();
grpc_metadata_array_destroy(&initial_metadata_recv);
grpc_metadata_array_destroy(&trailing_metadata_recv);
@ -235,8 +235,6 @@ void do_round_trip(grpc_completion_queue* cq, grpc_server* server,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_channel_destroy(client);
}

@ -40,7 +40,7 @@ struct test_state {
grpc_call* call;
gpr_timespec deadline;
grpc_completion_queue* cq;
cq_verifier* cqv;
std::unique_ptr<grpc_core::CqVerifier> cqv;
grpc_op ops[6];
grpc_metadata_array initial_metadata_recv;
grpc_metadata_array trailing_metadata_recv;
@ -62,7 +62,7 @@ static void prepare_test(int is_client) {
grpc_metadata_array_init(&g_state.trailing_metadata_recv);
g_state.deadline = grpc_timeout_seconds_to_deadline(5);
g_state.cq = grpc_completion_queue_create_for_next(nullptr);
g_state.cqv = cq_verifier_create(g_state.cq);
g_state.cqv = absl::make_unique<grpc_core::CqVerifier>(g_state.cq);
g_state.details = grpc_empty_slice();
memset(g_state.ops, 0, sizeof(g_state.ops));
@ -111,15 +111,14 @@ static void prepare_test(int is_client) {
&g_state.call_details,
&g_state.server_initial_metadata_recv,
g_state.cq, g_state.cq, tag(101)));
CQ_EXPECT_COMPLETION(g_state.cqv, tag(101), 1);
CQ_EXPECT_COMPLETION(g_state.cqv, tag(1), 1);
cq_verify(g_state.cqv);
g_state.cqv->Expect(tag(101), true);
g_state.cqv->Expect(tag(1), true);
g_state.cqv->Verify();
}
}
static void cleanup_test() {
grpc_call_unref(g_state.call);
cq_verifier_destroy(g_state.cqv);
grpc_channel_destroy(g_state.chan);
grpc_slice_unref(g_state.details);
grpc_metadata_array_destroy(&g_state.initial_metadata_recv);
@ -188,8 +187,8 @@ static void test_send_initial_metadata_more_than_once() {
GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(g_state.call, g_state.ops,
(size_t)(op - g_state.ops),
tag(1), nullptr));
CQ_EXPECT_COMPLETION(g_state.cqv, tag(1), 0);
cq_verify(g_state.cqv);
g_state.cqv->Expect(tag(1), false);
g_state.cqv->Verify();
op = g_state.ops;
op->op = GRPC_OP_SEND_INITIAL_METADATA;
@ -317,8 +316,8 @@ static void test_receive_initial_metadata_twice_at_client() {
GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(g_state.call, g_state.ops,
(size_t)(op - g_state.ops),
tag(1), nullptr));
CQ_EXPECT_COMPLETION(g_state.cqv, tag(1), 0);
cq_verify(g_state.cqv);
g_state.cqv->Expect(tag(1), false);
g_state.cqv->Verify();
op = g_state.ops;
op->op = GRPC_OP_RECV_INITIAL_METADATA;
op->data.recv_initial_metadata.recv_initial_metadata =
@ -413,8 +412,8 @@ static void test_recv_status_on_client_twice() {
GPR_ASSERT(GRPC_CALL_OK == grpc_call_start_batch(g_state.call, g_state.ops,
(size_t)(op - g_state.ops),
tag(1), nullptr));
CQ_EXPECT_COMPLETION(g_state.cqv, tag(1), 1);
cq_verify(g_state.cqv);
g_state.cqv->Expect(tag(1), true);
g_state.cqv->Verify();
op = g_state.ops;
op->op = GRPC_OP_RECV_STATUS_ON_CLIENT;

@ -36,7 +36,7 @@ void run_test(bool wait_for_ready) {
grpc_init();
grpc_completion_queue* cq = grpc_completion_queue_create_for_next(nullptr);
cq_verifier* cqv = cq_verifier_create(cq);
grpc_core::CqVerifier cqv(cq);
grpc_core::RefCountedPtr<grpc_core::FakeResolverResponseGenerator>
response_generator =
@ -83,8 +83,8 @@ void run_test(bool wait_for_ready) {
}
/* verify that all tags get completed */
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
gpr_log(GPR_INFO, "call status: %d", status);
if (wait_for_ready) {
@ -104,7 +104,6 @@ void run_test(bool wait_for_ready) {
grpc_completion_queue_destroy(cq);
grpc_call_unref(call);
grpc_channel_destroy(chan);
cq_verifier_destroy(cqv);
grpc_shutdown();
}

@ -98,7 +98,7 @@ static void test_with_authority_header(grpc_end2end_test_config config) {
{{nullptr, nullptr, nullptr, nullptr}}}};
grpc_end2end_test_fixture f =
begin_test(config, "test_with_authority_header", nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -156,8 +156,8 @@ static void test_with_authority_header(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_CANCELLED);
@ -167,8 +167,6 @@ static void test_with_authority_header(grpc_end2end_test_config config) {
grpc_call_unref(c);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(response_payload_recv);

@ -87,7 +87,7 @@ static void end_test(grpc_end2end_test_fixture* f) {
static void simple_request_body(grpc_end2end_test_fixture f) {
grpc_call* c;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -137,8 +137,8 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_INTERNAL);
@ -149,8 +149,6 @@ static void simple_request_body(grpc_end2end_test_fixture f) {
grpc_call_details_destroy(&call_details);
grpc_call_unref(c);
cq_verifier_destroy(cqv);
}
static void test_invoke_simple_request(grpc_end2end_test_config config) {

@ -65,7 +65,7 @@ static void end_test(grpc_end2end_test_fixture* f) {
// Send more pings than server allows to trigger server's GOAWAY.
static void test_bad_ping(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f = config.create_fixture(nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_arg client_a[] = {
grpc_channel_arg_integer_create(
const_cast<char*>(GRPC_ARG_HTTP2_MAX_PINGS_WITHOUT_DATA), 0),
@ -142,8 +142,8 @@ static void test_bad_ping(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
// Send too many pings to the server to trigger the punishment:
// The first ping will let server mark its last_recv time. Afterwards, each
@ -153,11 +153,11 @@ static void test_bad_ping(grpc_end2end_test_config config) {
int i;
for (i = 1; i <= MAX_PING_STRIKES + 2; i++) {
grpc_channel_ping(f.client, f.cq, tag(200 + i), nullptr);
CQ_EXPECT_COMPLETION(cqv, tag(200 + i), 1);
cqv.Expect(tag(200 + i), true);
if (i == MAX_PING_STRIKES + 2) {
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cqv.Expect(tag(1), true);
}
cq_verify(cqv);
cqv.Verify();
}
memset(ops, 0, sizeof(ops));
@ -184,12 +184,12 @@ static void test_bad_ping(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
grpc_server_shutdown_and_notify(f.server, f.cq, tag(0xdead));
CQ_EXPECT_COMPLETION(cqv, tag(0xdead), 1);
cq_verify(cqv);
cqv.Expect(tag(0xdead), true);
cqv.Verify();
grpc_call_unref(s);
@ -205,7 +205,6 @@ static void test_bad_ping(grpc_end2end_test_config config) {
grpc_metadata_array_destroy(&request_metadata_recv);
grpc_call_details_destroy(&call_details);
grpc_call_unref(c);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}
@ -214,7 +213,7 @@ static void test_bad_ping(grpc_end2end_test_config config) {
// max_pings_without_data should limit pings sent out on wire.
static void test_pings_without_data(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f = config.create_fixture(nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
// Only allow MAX_PING_STRIKES pings without data (DATA/HEADERS/WINDOW_UPDATE)
// so that the transport will throttle the excess pings.
grpc_arg client_a[] = {
@ -294,8 +293,8 @@ static void test_pings_without_data(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
// Send too many pings to the server similar to the previous test case.
// However, since we set the MAX_PINGS_WITHOUT_DATA at the client side, only
@ -304,9 +303,9 @@ static void test_pings_without_data(grpc_end2end_test_config config) {
for (i = 1; i <= MAX_PING_STRIKES + 2; i++) {
grpc_channel_ping(f.client, f.cq, tag(200 + i), nullptr);
if (i <= MAX_PING_STRIKES) {
CQ_EXPECT_COMPLETION(cqv, tag(200 + i), 1);
cqv.Expect(tag(200 + i), true);
}
cq_verify(cqv);
cqv.Verify();
}
memset(ops, 0, sizeof(ops));
@ -333,19 +332,19 @@ static void test_pings_without_data(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cqv.Expect(tag(102), true);
// Client call should return.
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
grpc_server_shutdown_and_notify(f.server, f.cq, tag(0xdead));
CQ_EXPECT_COMPLETION(cqv, tag(0xdead), 1);
cqv.Expect(tag(0xdead), true);
// Also expect the previously blocked pings to complete with an error
CQ_EXPECT_COMPLETION(cqv, tag(200 + MAX_PING_STRIKES + 1), 0);
CQ_EXPECT_COMPLETION(cqv, tag(200 + MAX_PING_STRIKES + 2), 0);
cqv.Expect(tag(200 + MAX_PING_STRIKES + 1), false);
cqv.Expect(tag(200 + MAX_PING_STRIKES + 2), false);
cq_verify(cqv);
cqv.Verify();
grpc_call_unref(s);
@ -359,7 +358,6 @@ static void test_pings_without_data(grpc_end2end_test_config config) {
grpc_metadata_array_destroy(&request_metadata_recv);
grpc_call_details_destroy(&call_details);
grpc_call_unref(c);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -132,7 +132,7 @@ static void test_request_response_with_metadata_and_payload(
grpc_end2end_test_fixture f =
begin_test(config, "test_request_response_with_metadata_and_payload",
nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -199,8 +199,8 @@ static void test_request_response_with_metadata_and_payload(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -219,8 +219,8 @@ static void test_request_response_with_metadata_and_payload(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -261,9 +261,9 @@ static void test_request_response_with_metadata_and_payload(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
GPR_ASSERT(
@ -312,8 +312,6 @@ static void test_request_response_with_metadata_and_payload(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(response_payload);
grpc_byte_buffer_destroy(request_payload_recv);

@ -142,7 +142,6 @@ static void request_response_with_payload_and_call_creds(
grpc_byte_buffer* response_payload =
grpc_raw_byte_buffer_create(&response_payload_slice, 1);
grpc_end2end_test_fixture f;
cq_verifier* cqv;
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -160,7 +159,7 @@ static void request_response_with_payload_and_call_creds(
grpc_auth_context* client_auth_context = nullptr;
f = begin_test(config, test_name, use_secure_call_creds, 0);
cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -244,16 +243,16 @@ static void request_response_with_payload_and_call_creds(
if (mode == FAIL) {
// Expect the call to fail since the channel credentials did not satisfy the
// minimum security level requirements.
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNAUTHENTICATED);
} else {
error =
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
server_auth_context = grpc_call_auth_context(s);
GPR_ASSERT(server_auth_context != nullptr);
print_auth_context(0, server_auth_context);
@ -283,8 +282,8 @@ static void request_response_with_payload_and_call_creds(
tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -310,9 +309,9 @@ static void request_response_with_payload_and_call_creds(
tag(103), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -382,8 +381,6 @@ static void request_response_with_payload_and_call_creds(
grpc_call_unref(c);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(response_payload);
grpc_byte_buffer_destroy(request_payload_recv);
@ -428,7 +425,6 @@ static void test_request_with_server_rejecting_client_creds(
grpc_call* c;
grpc_end2end_test_fixture f;
gpr_timespec deadline = five_seconds_from_now();
cq_verifier* cqv;
grpc_metadata_array initial_metadata_recv;
grpc_metadata_array trailing_metadata_recv;
grpc_metadata_array request_metadata_recv;
@ -445,7 +441,7 @@ static void test_request_with_server_rejecting_client_creds(
f = begin_test(config, "test_request_with_server_rejecting_client_creds",
false, 1);
cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
grpc_slice_from_static_string("/foo"), nullptr,
@ -499,8 +495,8 @@ static void test_request_with_server_rejecting_client_creds(
nullptr);
GPR_ASSERT(error == GRPC_CALL_OK);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNAUTHENTICATED);
@ -515,7 +511,6 @@ static void test_request_with_server_rejecting_client_creds(
grpc_call_unref(c);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -98,7 +98,7 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
begin_test(config, "test_invoke_simple_request", nullptr, nullptr);
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -160,8 +160,8 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(error == GRPC_CALL_OK);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -196,9 +196,9 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(error == GRPC_CALL_OK);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -216,8 +216,6 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -138,7 +138,7 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
grpc_end2end_test_fixture f = begin_test(config, "cancel_after_accept", mode,
use_service_config, args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = use_service_config
? gpr_inf_future(GPR_CLOCK_MONOTONIC)
@ -189,8 +189,8 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
error = grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(2));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -220,9 +220,9 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c, nullptr));
CQ_EXPECT_COMPLETION(cqv, tag(3), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(3), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == mode.expect_status || status == GRPC_STATUS_INTERNAL);
GPR_ASSERT(was_cancelled == 1);
@ -246,7 +246,6 @@ static void test_cancel_after_accept(grpc_end2end_test_config config,
grpc_channel_args_destroy(args);
}
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -97,7 +97,7 @@ static void test_cancel_after_accept_and_writes_closed(
grpc_end2end_test_fixture f =
begin_test(config, "test_cancel_after_accept_and_writes_closed", mode,
nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_metadata_array initial_metadata_recv;
grpc_metadata_array trailing_metadata_recv;
grpc_metadata_array request_metadata_recv;
@ -168,8 +168,8 @@ static void test_cancel_after_accept_and_writes_closed(
error = grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(2));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -199,9 +199,9 @@ static void test_cancel_after_accept_and_writes_closed(
GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c, nullptr));
CQ_EXPECT_COMPLETION(cqv, tag(3), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(3), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == mode.expect_status || status == GRPC_STATUS_INTERNAL);
GPR_ASSERT(was_cancelled == 1);
@ -220,7 +220,6 @@ static void test_cancel_after_accept_and_writes_closed(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -96,7 +96,7 @@ static void test_cancel_after_invoke(grpc_end2end_test_config config,
grpc_call* c;
grpc_end2end_test_fixture f = begin_test(config, "test_cancel_after_invoke",
mode, test_ops, nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_metadata_array initial_metadata_recv;
grpc_metadata_array trailing_metadata_recv;
grpc_metadata_array request_metadata_recv;
@ -159,8 +159,8 @@ static void test_cancel_after_invoke(grpc_end2end_test_config config,
GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c, nullptr));
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == mode.expect_status || status == GRPC_STATUS_INTERNAL);
@ -175,7 +175,6 @@ static void test_cancel_after_invoke(grpc_end2end_test_config config,
grpc_call_unref(c);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -140,7 +140,7 @@ static void test_cancel_after_round_trip(grpc_end2end_test_config config,
grpc_end2end_test_fixture f =
begin_test(config, "cancel_after_round_trip", mode, use_service_config,
args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = use_service_config
? gpr_inf_future(GPR_CLOCK_MONOTONIC)
@ -185,8 +185,8 @@ static void test_cancel_after_round_trip(grpc_end2end_test_config config,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -209,9 +209,9 @@ static void test_cancel_after_round_trip(grpc_end2end_test_config config,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
grpc_byte_buffer_destroy(request_payload_recv);
grpc_byte_buffer_destroy(response_payload_recv);
@ -254,9 +254,9 @@ static void test_cancel_after_round_trip(grpc_end2end_test_config config,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Expect(tag(103), true);
cqv.Verify();
GPR_ASSERT(status == mode.expect_status || status == GRPC_STATUS_INTERNAL);
GPR_ASSERT(was_cancelled == 1);
@ -281,7 +281,6 @@ static void test_cancel_after_round_trip(grpc_end2end_test_config config,
grpc_channel_args_destroy(args);
}
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -94,7 +94,7 @@ static void test_cancel_before_invoke(grpc_end2end_test_config config,
grpc_call* c;
grpc_end2end_test_fixture f =
begin_test(config, "cancel_before_invoke", test_ops, nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_metadata_array initial_metadata_recv;
grpc_metadata_array trailing_metadata_recv;
grpc_metadata_array request_metadata_recv;
@ -157,8 +157,8 @@ static void test_cancel_before_invoke(grpc_end2end_test_config config,
error = grpc_call_start_batch(c, ops, test_ops, tag(1), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_CANCELLED);
@ -173,7 +173,6 @@ static void test_cancel_before_invoke(grpc_end2end_test_config config,
grpc_call_unref(c);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -93,7 +93,6 @@ static void test_cancel_in_a_vacuum(grpc_end2end_test_config config,
grpc_call* c;
grpc_end2end_test_fixture f =
begin_test(config, "test_cancel_in_a_vacuum", mode, nullptr, nullptr);
cq_verifier* v_client = cq_verifier_create(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -105,7 +104,6 @@ static void test_cancel_in_a_vacuum(grpc_end2end_test_config config,
grpc_call_unref(c);
cq_verifier_destroy(v_client);
end_test(&f);
config.tear_down_data(&f);
}

@ -91,7 +91,7 @@ static void end_test(grpc_end2end_test_fixture* f) {
static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture f, size_t num_ops) {
grpc_call* c;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -145,8 +145,8 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
// string, test this guarantee.
gpr_free(dynamic_string);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -156,8 +156,6 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_metadata_array_destroy(&trailing_metadata_recv);
grpc_call_unref(c);
cq_verifier_destroy(cqv);
}
static void test_invoke_simple_request(grpc_end2end_test_config config,

@ -93,7 +93,7 @@ static void run_one_request(grpc_end2end_test_config /*config*/,
bool request_is_success) {
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -148,8 +148,8 @@ static void run_one_request(grpc_end2end_test_config /*config*/,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -176,9 +176,9 @@ static void run_one_request(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/foo"));
@ -192,8 +192,6 @@ static void run_one_request(grpc_end2end_test_config /*config*/,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}
static void test_channelz(grpc_end2end_test_config config) {

@ -93,7 +93,7 @@ static void test_client_streaming(grpc_end2end_test_config config,
begin_test(config, "test_client_streaming", nullptr, nullptr);
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -140,8 +140,8 @@ static void test_client_streaming(grpc_end2end_test_config config,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(100));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(100), 1);
cq_verify(cqv);
cqv.Expect(tag(100), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -154,9 +154,9 @@ static void test_client_streaming(grpc_end2end_test_config config,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Expect(tag(1), true);
cqv.Verify();
// Client writes bunch of messages and server reads them
for (i = 0; i < messages; i++) {
@ -183,9 +183,9 @@ static void test_client_streaming(grpc_end2end_test_config config,
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(103), true);
cqv.Verify();
GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, "hello world"));
grpc_byte_buffer_destroy(request_payload_recv);
}
@ -204,10 +204,10 @@ static void test_client_streaming(grpc_end2end_test_config config,
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(104), 1);
cq_verify(cqv);
cqv.Expect(tag(104), true);
cqv.Verify();
// Do an empty verify to make sure that the client receives the status
cq_verify_empty(cqv);
cqv.VerifyEmpty();
// Client tries sending another message which should fail
request_payload = grpc_raw_byte_buffer_create(&request_payload_slice, 1);
@ -222,8 +222,8 @@ static void test_client_streaming(grpc_end2end_test_config config,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
grpc_byte_buffer_destroy(request_payload);
CQ_EXPECT_COMPLETION(cqv, tag(103), 0);
cq_verify(cqv);
cqv.Expect(tag(103), false);
cqv.Verify();
// Client sends close and requests status
memset(ops, 0, sizeof(ops));
@ -242,8 +242,8 @@ static void test_client_streaming(grpc_end2end_test_config config,
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(3), 1);
cq_verify(cqv);
cqv.Expect(tag(3), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -252,8 +252,6 @@ static void test_client_streaming(grpc_end2end_test_config config,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_metadata_array_destroy(&initial_metadata_recv);
grpc_metadata_array_destroy(&trailing_metadata_recv);
grpc_metadata_array_destroy(&request_metadata_recv);

@ -120,7 +120,6 @@ static void request_for_disabled_algorithm(
grpc_call_error error;
grpc_slice details;
int was_cancelled = 2;
cq_verifier* cqv;
char str[1024];
memset(str, 'x', 1023);
@ -150,7 +149,7 @@ static void request_for_disabled_algorithm(
f = begin_test(config, test_name, client_args, server_args,
decompress_in_core);
cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -205,9 +204,9 @@ static void request_for_disabled_algorithm(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Expect(tag(1), true);
cqv.Verify();
op = ops;
op->op = GRPC_OP_SEND_INITIAL_METADATA;
@ -224,7 +223,7 @@ static void request_for_disabled_algorithm(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), false);
cqv.Expect(tag(102), false);
op = ops;
op->op = GRPC_OP_RECV_CLOSE_ON_SERVER;
@ -236,8 +235,8 @@ static void request_for_disabled_algorithm(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), true);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Verify();
/* call was cancelled (closed) ... */
GPR_ASSERT(was_cancelled != 0);
@ -261,8 +260,6 @@ static void request_for_disabled_algorithm(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_slice_unref(request_payload_slice);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(request_payload_recv);
@ -302,7 +299,6 @@ static void request_with_payload_template_inner(
grpc_call_error error;
grpc_slice details;
int was_cancelled = 2;
cq_verifier* cqv;
char request_str[1024];
char response_str[1024];
@ -335,7 +331,7 @@ static void request_with_payload_template_inner(
}
f = begin_test(config, test_name, client_args, server_args,
decompress_in_core);
cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -360,7 +356,7 @@ static void request_with_payload_template_inner(
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
cqv.Expect(tag(2), true);
}
memset(ops, 0, sizeof(ops));
op = ops;
@ -394,8 +390,8 @@ static void request_with_payload_template_inner(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(100));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(100), true);
cq_verify(cqv);
cqv.Expect(tag(100), true);
cqv.Verify();
GPR_ASSERT(grpc_core::BitCount(
grpc_call_test_only_get_encodings_accepted_by_peer(s)) ==
@ -444,7 +440,7 @@ static void request_with_payload_template_inner(
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops),
tag(2), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
cqv.Expect(tag(2), true);
}
memset(ops, 0, sizeof(ops));
@ -458,8 +454,8 @@ static void request_with_payload_template_inner(
tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
GPR_ASSERT(request_payload_recv->type == GRPC_BB_RAW);
GPR_ASSERT(byte_buffer_eq_string(request_payload_recv, request_str));
@ -489,9 +485,9 @@ static void request_with_payload_template_inner(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(3), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(3), true);
cqv.Verify();
GPR_ASSERT(response_payload_recv->type == GRPC_BB_RAW);
GPR_ASSERT(byte_buffer_eq_string(response_payload_recv, response_str));
@ -539,11 +535,11 @@ static void request_with_payload_template_inner(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
CQ_EXPECT_COMPLETION(cqv, tag(4), 1);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
CQ_EXPECT_COMPLETION(cqv, tag(104), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Expect(tag(4), true);
cqv.Expect(tag(101), true);
cqv.Expect(tag(104), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -559,7 +555,6 @@ static void request_with_payload_template_inner(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_channel_args_destroy(client_args);
grpc_channel_args_destroy(server_args);
end_test(&f);

@ -58,7 +58,7 @@ static void child_thread(void* arg) {
static void test_connectivity(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f = config.create_fixture(nullptr, nullptr);
grpc_connectivity_state state;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
child_events ce;
grpc_channel_args client_args;
@ -104,8 +104,8 @@ static void test_connectivity(grpc_end2end_test_config config) {
f.cq, tag(2));
/* and now the watch should trigger */
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Verify();
state = grpc_channel_check_connectivity_state(f.client, 0);
GPR_ASSERT(state == GRPC_CHANNEL_TRANSIENT_FAILURE ||
state == GRPC_CHANNEL_CONNECTING);
@ -114,8 +114,8 @@ static void test_connectivity(grpc_end2end_test_config config) {
grpc_channel_watch_connectivity_state(f.client, GRPC_CHANNEL_CONNECTING,
grpc_timeout_seconds_to_deadline(3),
f.cq, tag(3));
CQ_EXPECT_COMPLETION(cqv, tag(3), 1);
cq_verify(cqv);
cqv.Expect(tag(3), true);
cqv.Verify();
state = grpc_channel_check_connectivity_state(f.client, 0);
GPR_ASSERT(state == GRPC_CHANNEL_TRANSIENT_FAILURE ||
state == GRPC_CHANNEL_CONNECTING);
@ -132,8 +132,8 @@ static void test_connectivity(grpc_end2end_test_config config) {
while (state != GRPC_CHANNEL_READY) {
grpc_channel_watch_connectivity_state(
f.client, state, grpc_timeout_seconds_to_deadline(3), f.cq, tag(4));
CQ_EXPECT_COMPLETION(cqv, tag(4), 1);
cq_verify(cqv);
cqv.Expect(tag(4), true);
cqv.Verify();
state = grpc_channel_check_connectivity_state(f.client, 0);
GPR_ASSERT(state == GRPC_CHANNEL_READY ||
state == GRPC_CHANNEL_CONNECTING ||
@ -150,9 +150,9 @@ static void test_connectivity(grpc_end2end_test_config config) {
grpc_server_shutdown_and_notify(f.server, f.cq, tag(0xdead));
CQ_EXPECT_COMPLETION(cqv, tag(5), 1);
CQ_EXPECT_COMPLETION(cqv, tag(0xdead), 1);
cq_verify(cqv);
cqv.Expect(tag(5), true);
cqv.Expect(tag(0xdead), true);
cqv.Verify();
state = grpc_channel_check_connectivity_state(f.client, 0);
GPR_ASSERT(state == GRPC_CHANNEL_TRANSIENT_FAILURE ||
state == GRPC_CHANNEL_CONNECTING || state == GRPC_CHANNEL_IDLE);
@ -167,8 +167,6 @@ static void test_connectivity(grpc_end2end_test_config config) {
grpc_completion_queue_destroy(f.cq);
config.tear_down_data(&f);
cq_verifier_destroy(cqv);
}
static void cb_watch_connectivity(grpc_completion_queue_functor* functor,

@ -90,7 +90,7 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
begin_test(config, "test_invoke_simple_request", nullptr, nullptr);
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -150,8 +150,8 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(error == GRPC_CALL_OK);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -186,9 +186,9 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(error == GRPC_CALL_OK);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -212,8 +212,6 @@ static void test_invoke_simple_request(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -67,7 +67,7 @@ static void end_test(grpc_end2end_test_fixture* f) {
static void do_request_and_shutdown_server(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture* f,
cq_verifier* cqv) {
grpc_core::CqVerifier& cqv) {
grpc_call* c;
grpc_call* s;
grpc_op ops[6];
@ -123,8 +123,8 @@ static void do_request_and_shutdown_server(grpc_end2end_test_config /*config*/,
grpc_server_request_call(f->server, &s, &call_details,
&request_metadata_recv, f->cq, f->cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
/* should be able to shut down the server early
- and still complete the request */
@ -154,10 +154,10 @@ static void do_request_and_shutdown_server(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1000), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Expect(tag(1000), true);
cqv.Verify();
/* Please refer https://github.com/grpc/grpc/issues/21221 for additional
* details.
* TODO(yashykt@) - The following line should be removeable after C-Core
@ -165,7 +165,7 @@ static void do_request_and_shutdown_server(grpc_end2end_test_config /*config*/,
* test remains flaky even after this, an alternative fix would be to send a
* request when the server is in the shut down state.
*/
cq_verify_empty(cqv);
cqv.VerifyEmpty();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -184,7 +184,7 @@ static void do_request_and_shutdown_server(grpc_end2end_test_config /*config*/,
static void disappearing_server_test(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f = config.create_fixture(nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_log(GPR_INFO, "Running test: %s/%s", "disappearing_server_test",
config.name);
@ -199,8 +199,6 @@ static void disappearing_server_test(grpc_end2end_test_config config) {
do_request_and_shutdown_server(config, &f, cqv);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -88,7 +88,7 @@ static void end_test(grpc_end2end_test_fixture* f) {
static void empty_batch_body(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture f) {
grpc_call* c;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_call_error error;
grpc_op* op = nullptr;
@ -100,12 +100,10 @@ static void empty_batch_body(grpc_end2end_test_config /*config*/,
error = grpc_call_start_batch(c, op, 0, tag(1), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
grpc_call_unref(c);
cq_verifier_destroy(cqv);
}
static void test_invoke_empty_body(grpc_end2end_test_config config) {

@ -98,7 +98,7 @@ static void test_request(grpc_end2end_test_config config) {
grpc_raw_byte_buffer_create(&request_payload_slice, 1);
grpc_end2end_test_fixture f =
begin_test(config, "filter_causes_close", nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -159,8 +159,8 @@ static void test_request(grpc_end2end_test_config config) {
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_PERMISSION_DENIED);
GPR_ASSERT(0 ==
@ -174,8 +174,6 @@ static void test_request(grpc_end2end_test_config config) {
grpc_call_unref(c);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(request_payload_recv);

@ -102,7 +102,7 @@ static void test_request(grpc_end2end_test_config config) {
grpc_raw_byte_buffer_create(&request_payload_slice, 1);
grpc_end2end_test_fixture f =
begin_test(config, "filter_context", nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -164,8 +164,8 @@ static void test_request(grpc_end2end_test_config config) {
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -191,9 +191,9 @@ static void test_request(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -207,8 +207,6 @@ static void test_request(grpc_end2end_test_config config) {
grpc_call_unref(s);
grpc_call_unref(c);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(request_payload_recv);

@ -107,7 +107,7 @@ static void test_server_channel_filter(grpc_end2end_test_config config) {
grpc_raw_byte_buffer_create(&request_payload_slice, 1);
grpc_end2end_test_fixture f =
begin_test(config, "filter_init_fails", nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -168,8 +168,8 @@ static void test_server_channel_filter(grpc_end2end_test_config config) {
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
if (g_channel_filter_init_failure) {
// Inproc channel returns invalid_argument and other clients return
@ -191,8 +191,6 @@ static void test_server_channel_filter(grpc_end2end_test_config config) {
grpc_call_unref(c);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(request_payload_recv);
@ -211,7 +209,7 @@ static void test_client_channel_filter(grpc_end2end_test_config config) {
gpr_timespec deadline = five_seconds_from_now();
grpc_end2end_test_fixture f =
begin_test(config, "filter_init_fails", nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -266,8 +264,8 @@ static void test_client_channel_filter(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
if (g_channel_filter_init_failure) {
GPR_ASSERT(status == GRPC_STATUS_INVALID_ARGUMENT);
@ -284,8 +282,6 @@ static void test_client_channel_filter(grpc_end2end_test_config config) {
grpc_call_unref(c);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(request_payload_recv);
@ -304,7 +300,7 @@ static void test_client_subchannel_filter(grpc_end2end_test_config config) {
gpr_timespec deadline = five_seconds_from_now();
grpc_end2end_test_fixture f =
begin_test(config, "filter_init_fails", nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -360,8 +356,8 @@ static void test_client_subchannel_filter(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
if (g_channel_filter_init_failure) {
GPR_ASSERT(status == GRPC_STATUS_UNAVAILABLE);
@ -387,8 +383,8 @@ static void test_client_subchannel_filter(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Verify();
if (g_channel_filter_init_failure) {
GPR_ASSERT(status == GRPC_STATUS_UNAVAILABLE);
@ -405,8 +401,6 @@ static void test_client_subchannel_filter(grpc_end2end_test_config config) {
grpc_call_unref(c);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(request_payload_recv);

@ -105,7 +105,7 @@ static void test_request(grpc_end2end_test_config config) {
grpc_raw_byte_buffer_create(&request_payload_slice, 1);
grpc_end2end_test_fixture f =
begin_test(config, "filter_latency", nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -173,8 +173,8 @@ static void test_request(grpc_end2end_test_config config) {
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -200,9 +200,9 @@ static void test_request(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -216,8 +216,6 @@ static void test_request(grpc_end2end_test_config config) {
grpc_call_unref(s);
grpc_call_unref(c);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(request_payload_recv);

@ -116,7 +116,7 @@ static void test_request(grpc_end2end_test_config config) {
grpc_call* s;
grpc_end2end_test_fixture f =
begin_test(config, "filter_status_code", nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -182,8 +182,8 @@ static void test_request(grpc_end2end_test_config config) {
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
gpr_mu_lock(&g_mu);
g_server_call_stack = grpc_call_get_call_stack(s);
@ -213,9 +213,9 @@ static void test_request(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -229,8 +229,6 @@ static void test_request(grpc_end2end_test_config config) {
grpc_call_unref(s);
grpc_call_unref(c);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);

@ -104,7 +104,7 @@ static void test_request_response_with_metadata_to_be_filtered(
grpc_end2end_test_fixture f =
begin_test(config, "test_request_response_with_metadata_to_be_filtered",
nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -159,8 +159,8 @@ static void test_request_response_with_metadata_to_be_filtered(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -174,8 +174,8 @@ static void test_request_response_with_metadata_to_be_filtered(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -196,9 +196,9 @@ static void test_request_response_with_metadata_to_be_filtered(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -220,8 +220,6 @@ static void test_request_response_with_metadata_to_be_filtered(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -84,7 +84,7 @@ static void test_early_server_shutdown_finishes_inflight_calls(
grpc_end2end_test_fixture f =
begin_test(config, "test_early_server_shutdown_finishes_inflight_calls",
nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -139,12 +139,12 @@ static void test_early_server_shutdown_finishes_inflight_calls(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
/* shutdown and destroy the server */
grpc_server_shutdown_and_notify(f.server, f.cq, tag(0xdead));
cq_verify_empty(cqv);
cqv.VerifyEmpty();
memset(ops, 0, sizeof(ops));
op = ops;
@ -170,10 +170,10 @@ static void test_early_server_shutdown_finishes_inflight_calls(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(0xdead), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(0xdead), true);
cqv.Expect(tag(1), true);
cqv.Verify();
grpc_call_unref(s);
@ -189,8 +189,6 @@ static void test_early_server_shutdown_finishes_inflight_calls(
grpc_call_unref(c);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -99,7 +99,7 @@ static void test_allow_authorized_request(grpc_end2end_test_fixture f) {
grpc_slice details = grpc_empty_slice();
int was_cancelled = 2;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -144,8 +144,8 @@ static void test_allow_authorized_request(grpc_end2end_test_fixture f) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -171,9 +171,9 @@ static void test_allow_authorized_request(grpc_end2end_test_fixture f) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(GRPC_STATUS_OK == status);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -186,7 +186,6 @@ static void test_allow_authorized_request(grpc_end2end_test_fixture f) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}
static void test_deny_unauthorized_request(grpc_end2end_test_fixture f) {
@ -200,7 +199,7 @@ static void test_deny_unauthorized_request(grpc_end2end_test_fixture f) {
grpc_call_error error;
grpc_slice details = grpc_empty_slice();
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -238,8 +237,8 @@ static void test_deny_unauthorized_request(grpc_end2end_test_fixture f) {
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(GRPC_STATUS_PERMISSION_DENIED == status);
GPR_ASSERT(0 ==
@ -251,7 +250,6 @@ static void test_deny_unauthorized_request(grpc_end2end_test_fixture f) {
grpc_metadata_array_destroy(&trailing_metadata_recv);
grpc_call_unref(c);
cq_verifier_destroy(cqv);
}
static void test_static_init_allow_authorized_request(

@ -93,7 +93,7 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture f) {
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -147,8 +147,8 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -174,9 +174,9 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -196,9 +196,7 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
retry has been implemented; until then cross-thread chatter
may result in some requests needing to be cancelled due to
seqno exhaustion. */
cq_verify_empty(cqv);
cq_verifier_destroy(cqv);
cqv.VerifyEmpty();
}
static void test_invoke_10_simple_requests(grpc_end2end_test_config config,

@ -234,7 +234,7 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture f, size_t index) {
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -301,8 +301,8 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -328,9 +328,9 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -345,8 +345,6 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}
static void test_size(grpc_end2end_test_config config, int encode_size,

@ -116,7 +116,7 @@ static void test_invoke_large_request(grpc_end2end_test_config config,
grpc_raw_byte_buffer_create(&request_payload_slice, 1);
grpc_byte_buffer* response_payload =
grpc_raw_byte_buffer_create(&response_payload_slice, 1);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -182,8 +182,8 @@ static void test_invoke_large_request(grpc_end2end_test_config config,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -201,8 +201,8 @@ static void test_invoke_large_request(grpc_end2end_test_config config,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -228,9 +228,9 @@ static void test_invoke_large_request(grpc_end2end_test_config config,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -246,8 +246,6 @@ static void test_invoke_large_request(grpc_end2end_test_config config,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(response_payload);
grpc_byte_buffer_destroy(request_payload_recv);

@ -112,7 +112,7 @@ static void test_keepalive_timeout(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "keepalive_timeout", &keepalive_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -152,8 +152,8 @@ static void test_keepalive_timeout(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNAVAILABLE);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "keepalive watchdog timeout"));
@ -164,8 +164,6 @@ static void test_keepalive_timeout(grpc_end2end_test_config config) {
grpc_call_unref(c);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}
@ -201,7 +199,7 @@ static void test_read_delays_keepalive(grpc_end2end_test_config config) {
grpc_set_disable_ping_ack(true);
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -260,8 +258,8 @@ static void test_read_delays_keepalive(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(100));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(100), 1);
cq_verify(cqv);
cqv.Expect(tag(100), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -309,8 +307,8 @@ static void test_read_delays_keepalive(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -322,9 +320,9 @@ static void test_read_delays_keepalive(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
tag(103), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(2), true);
cqv.Verify();
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(response_payload);
@ -361,17 +359,15 @@ static void test_read_delays_keepalive(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
CQ_EXPECT_COMPLETION(cqv, tag(3), 1);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
CQ_EXPECT_COMPLETION(cqv, tag(104), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Expect(tag(3), true);
cqv.Expect(tag(101), true);
cqv.Expect(tag(104), true);
cqv.Verify();
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_metadata_array_destroy(&initial_metadata_recv);
grpc_metadata_array_destroy(&trailing_metadata_recv);
grpc_metadata_array_destroy(&request_metadata_recv);

@ -100,7 +100,7 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
grpc_channel_args args = {1, &arg};
grpc_end2end_test_fixture f =
begin_test(config, "test_request_with_large_metadata", &args, &args);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -167,8 +167,8 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
// Server: send initial metadata and receive request.
@ -187,8 +187,8 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
// Server: receive close and send status. This should trigger
@ -211,9 +211,9 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -233,8 +233,6 @@ static void test_request_with_large_metadata(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(request_payload_recv);
@ -258,7 +256,7 @@ static void test_request_with_bad_large_metadata_response(
grpc_channel_args args = {1, &arg};
grpc_end2end_test_fixture f = begin_test(
config, "test_request_with_bad_large_metadata_response", &args, &args);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -318,8 +316,8 @@ static void test_request_with_bad_large_metadata_response(
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
// Server: send large initial metadata
@ -346,9 +344,9 @@ static void test_request_with_bad_large_metadata_response(
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_RESOURCE_EXHAUSTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(
@ -364,8 +362,6 @@ static void test_request_with_bad_large_metadata_response(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_slice_unref(meta.value);
end_test(&f);

@ -121,7 +121,7 @@ static void request_response_with_payload(
grpc_raw_byte_buffer_create(&request_payload_slice, 1);
grpc_byte_buffer* response_payload =
grpc_raw_byte_buffer_create(&response_payload_slice, 1);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -189,8 +189,8 @@ static void request_response_with_payload(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -208,8 +208,8 @@ static void request_response_with_payload(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -237,9 +237,9 @@ static void request_response_with_payload(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
@ -252,8 +252,6 @@ static void request_response_with_payload(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(response_payload);
grpc_byte_buffer_destroy(request_payload_recv);

@ -87,7 +87,7 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture f) {
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -141,8 +141,8 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -168,9 +168,9 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -185,8 +185,6 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}
static void test_max_concurrent_streams(grpc_end2end_test_config config) {
@ -199,7 +197,6 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
grpc_call* s2;
int live_call;
gpr_timespec deadline;
cq_verifier* cqv;
grpc_event ev;
grpc_call_details call_details;
grpc_metadata_array request_metadata_recv;
@ -226,7 +223,7 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
server_args.args = &server_arg;
f = begin_test(config, "test_max_concurrent_streams", nullptr, &server_args);
cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_metadata_array_init(&request_metadata_recv);
grpc_metadata_array_init(&initial_metadata_recv1);
@ -373,20 +370,20 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(live_call + 2), 1);
cqv.Expect(tag(102), true);
cqv.Expect(tag(live_call + 2), true);
/* first request is finished, we should be able to start the second */
live_call = (live_call == 300) ? 400 : 300;
CQ_EXPECT_COMPLETION(cqv, tag(live_call + 1), 1);
cq_verify(cqv);
cqv.Expect(tag(live_call + 1), true);
cqv.Verify();
grpc_call_details_destroy(&call_details);
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(
f.server, &s2, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201)));
CQ_EXPECT_COMPLETION(cqv, tag(201), 1);
cq_verify(cqv);
cqv.Expect(tag(201), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -411,11 +408,9 @@ static void test_max_concurrent_streams(grpc_end2end_test_config config) {
tag(202), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(live_call + 2), 1);
CQ_EXPECT_COMPLETION(cqv, tag(202), 1);
cq_verify(cqv);
cq_verifier_destroy(cqv);
cqv.Expect(tag(live_call + 2), true);
cqv.Expect(tag(202), true);
cqv.Verify();
grpc_call_unref(c1);
grpc_call_unref(s1);
@ -444,7 +439,6 @@ static void test_max_concurrent_streams_with_timeout_on_first(
grpc_call* c2;
grpc_call* s1;
grpc_call* s2;
cq_verifier* cqv;
grpc_call_details call_details;
grpc_metadata_array request_metadata_recv;
grpc_metadata_array initial_metadata_recv1;
@ -469,7 +463,7 @@ static void test_max_concurrent_streams_with_timeout_on_first(
f = begin_test(config, "test_max_concurrent_streams_with_timeout_on_first",
nullptr, &server_args);
cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_metadata_array_init(&request_metadata_recv);
grpc_metadata_array_init(&initial_metadata_recv1);
@ -533,9 +527,9 @@ static void test_max_concurrent_streams_with_timeout_on_first(
tag(302), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
CQ_EXPECT_COMPLETION(cqv, tag(301), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Expect(tag(301), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -577,11 +571,11 @@ static void test_max_concurrent_streams_with_timeout_on_first(
f.server, &s2, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201)));
CQ_EXPECT_COMPLETION(cqv, tag(302), 1);
cqv.Expect(tag(302), true);
/* first request is finished, we should be able to start the second */
CQ_EXPECT_COMPLETION(cqv, tag(401), 1);
CQ_EXPECT_COMPLETION(cqv, tag(201), 1);
cq_verify(cqv);
cqv.Expect(tag(401), true);
cqv.Expect(tag(201), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -607,11 +601,9 @@ static void test_max_concurrent_streams_with_timeout_on_first(
tag(202), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(402), 1);
CQ_EXPECT_COMPLETION(cqv, tag(202), 1);
cq_verify(cqv);
cq_verifier_destroy(cqv);
cqv.Expect(tag(402), true);
cqv.Expect(tag(202), true);
cqv.Verify();
grpc_call_unref(c1);
grpc_call_unref(s1);
@ -639,7 +631,6 @@ static void test_max_concurrent_streams_with_timeout_on_second(
grpc_call* c1;
grpc_call* c2;
grpc_call* s1;
cq_verifier* cqv;
grpc_call_details call_details;
grpc_metadata_array request_metadata_recv;
grpc_metadata_array initial_metadata_recv1;
@ -664,7 +655,7 @@ static void test_max_concurrent_streams_with_timeout_on_second(
f = begin_test(config, "test_max_concurrent_streams_with_timeout_on_second",
nullptr, &server_args);
cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_metadata_array_init(&request_metadata_recv);
grpc_metadata_array_init(&initial_metadata_recv1);
@ -729,9 +720,9 @@ static void test_max_concurrent_streams_with_timeout_on_second(
tag(302), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
CQ_EXPECT_COMPLETION(cqv, tag(301), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Expect(tag(301), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -768,9 +759,9 @@ static void test_max_concurrent_streams_with_timeout_on_second(
GPR_ASSERT(GRPC_CALL_OK == error);
/* the second request is time out*/
CQ_EXPECT_COMPLETION(cqv, tag(401), 0);
CQ_EXPECT_COMPLETION(cqv, tag(402), 1);
cq_verify(cqv);
cqv.Expect(tag(401), false);
cqv.Expect(tag(402), true);
cqv.Verify();
/* second request is finished because of time out, so destroy the second call
*/
@ -801,11 +792,9 @@ static void test_max_concurrent_streams_with_timeout_on_second(
tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(302), 1);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cq_verifier_destroy(cqv);
cqv.Expect(tag(302), true);
cqv.Expect(tag(102), true);
cqv.Verify();
grpc_call_unref(c1);
grpc_call_unref(s1);

@ -77,7 +77,7 @@ static void end_test(grpc_end2end_test_fixture* f) {
static void test_max_age_forcibly_close(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f = config.create_fixture(nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
auto cqv = absl::make_unique<grpc_core::CqVerifier>(f.cq);
grpc_arg server_a[3];
server_a[0].type = GRPC_ARG_INTEGER;
server_a[0].key = const_cast<char*>(GRPC_ARG_MAX_CONNECTION_AGE_MS);
@ -149,8 +149,8 @@ static void test_max_age_forcibly_close(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv->Expect(tag(101), true);
cqv->Verify();
gpr_timespec expect_shutdown_time = grpc_timeout_milliseconds_to_deadline(
static_cast<int>(MAX_CONNECTION_AGE_MS *
@ -158,12 +158,13 @@ static void test_max_age_forcibly_close(grpc_end2end_test_config config) {
MAX_CONNECTION_AGE_GRACE_MS + IMMEDIATE_SHUTDOWN_GRACE_TIME_MS);
/* Wait for the channel to reach its max age */
cq_verify_empty_timeout(cqv, CQ_MAX_CONNECTION_AGE_WAIT_TIME_S);
cqv->VerifyEmpty(
grpc_core::Duration::Seconds(CQ_MAX_CONNECTION_AGE_WAIT_TIME_S));
/* After the channel reaches its max age, we still do nothing here. And wait
for it to use up its max age grace period. */
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv->Expect(tag(1), true);
cqv->Verify();
gpr_timespec channel_shutdown_time = gpr_now(GPR_CLOCK_MONOTONIC);
GPR_ASSERT(gpr_time_cmp(channel_shutdown_time, expect_shutdown_time) < 0);
@ -191,12 +192,12 @@ static void test_max_age_forcibly_close(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv->Expect(tag(102), true);
cqv->Verify();
grpc_server_shutdown_and_notify(f.server, f.cq, tag(0xdead));
CQ_EXPECT_COMPLETION(cqv, tag(0xdead), true);
cq_verify(cqv);
cqv->Expect(tag(0xdead), true);
cqv->Verify();
grpc_call_unref(s);
@ -212,14 +213,14 @@ static void test_max_age_forcibly_close(grpc_end2end_test_config config) {
grpc_metadata_array_destroy(&request_metadata_recv);
grpc_call_details_destroy(&call_details);
grpc_call_unref(c);
cq_verifier_destroy(cqv);
cqv.reset();
end_test(&f);
config.tear_down_data(&f);
}
static void test_max_age_gracefully_close(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f = config.create_fixture(nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
auto cqv = absl::make_unique<grpc_core::CqVerifier>(f.cq);
grpc_arg server_a[3];
server_a[0].type = GRPC_ARG_INTEGER;
server_a[0].key = const_cast<char*>(GRPC_ARG_MAX_CONNECTION_AGE_MS);
@ -291,15 +292,17 @@ static void test_max_age_gracefully_close(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv->Expect(tag(101), true);
cqv->Verify();
/* Wait for the channel to reach its max age */
cq_verify_empty_timeout(cqv, CQ_MAX_CONNECTION_AGE_WAIT_TIME_S);
cqv->VerifyEmpty(
grpc_core::Duration::Seconds(CQ_MAX_CONNECTION_AGE_WAIT_TIME_S));
/* The connection is shutting down gracefully. In-progress rpc should not be
closed, hence the completion queue should see nothing here. */
cq_verify_empty_timeout(cqv, CQ_MAX_CONNECTION_AGE_GRACE_WAIT_TIME_S);
cqv->VerifyEmpty(
grpc_core::Duration::Seconds(CQ_MAX_CONNECTION_AGE_GRACE_WAIT_TIME_S));
memset(ops, 0, sizeof(ops));
op = ops;
@ -325,13 +328,13 @@ static void test_max_age_gracefully_close(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv->Expect(tag(102), true);
cqv->Expect(tag(1), true);
cqv->Verify();
grpc_server_shutdown_and_notify(f.server, f.cq, tag(0xdead));
CQ_EXPECT_COMPLETION(cqv, tag(0xdead), true);
cq_verify(cqv);
cqv->Expect(tag(0xdead), true);
cqv->Verify();
grpc_call_unref(s);
@ -348,7 +351,7 @@ static void test_max_age_gracefully_close(grpc_end2end_test_config config) {
grpc_metadata_array_destroy(&request_metadata_recv);
grpc_call_details_destroy(&call_details);
grpc_call_unref(c);
cq_verifier_destroy(cqv);
cqv.reset();
end_test(&f);
config.tear_down_data(&f);
}

@ -45,7 +45,7 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture* f) {
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f->cq);
grpc_core::CqVerifier cqv(f->cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -105,8 +105,8 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_server_request_call(f->server, &s, &call_details,
&request_metadata_recv, f->cq, f->cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -141,9 +141,9 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -159,14 +159,12 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}
static void test_max_connection_idle(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f = config.create_fixture(nullptr, nullptr);
grpc_connectivity_state state = GRPC_CHANNEL_IDLE;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_arg client_a[1];
client_a[0].type = GRPC_ARG_INTEGER;
@ -194,8 +192,8 @@ static void test_max_connection_idle(grpc_end2end_test_config config) {
while (state != GRPC_CHANNEL_READY) {
grpc_channel_watch_connectivity_state(
f.client, state, grpc_timeout_seconds_to_deadline(3), f.cq, tag(99));
CQ_EXPECT_COMPLETION(cqv, tag(99), 1);
cq_verify(cqv);
cqv.Expect(tag(99), true);
cqv.Verify();
state = grpc_channel_check_connectivity_state(f.client, 0);
GPR_ASSERT(state == GRPC_CHANNEL_READY ||
state == GRPC_CHANNEL_CONNECTING ||
@ -210,15 +208,15 @@ static void test_max_connection_idle(grpc_end2end_test_config config) {
f.client, GRPC_CHANNEL_READY,
grpc_timeout_milliseconds_to_deadline(MAX_CONNECTION_IDLE_MS + 3000),
f.cq, tag(99));
CQ_EXPECT_COMPLETION(cqv, tag(99), 1);
cq_verify(cqv);
cqv.Expect(tag(99), true);
cqv.Verify();
state = grpc_channel_check_connectivity_state(f.client, 0);
GPR_ASSERT(state == GRPC_CHANNEL_TRANSIENT_FAILURE ||
state == GRPC_CHANNEL_CONNECTING || state == GRPC_CHANNEL_IDLE);
grpc_server_shutdown_and_notify(f.server, f.cq, tag(0xdead));
CQ_EXPECT_COMPLETION(cqv, tag(0xdead), 1);
cq_verify(cqv);
cqv.Expect(tag(0xdead), true);
cqv.Verify();
grpc_server_destroy(f.server);
grpc_channel_destroy(f.client);
@ -226,8 +224,6 @@ static void test_max_connection_idle(grpc_end2end_test_config config) {
drain_cq(f.cq);
grpc_completion_queue_destroy(f.cq);
config.tear_down_data(&f);
cq_verifier_destroy(cqv);
}
void max_connection_idle(grpc_end2end_test_config config) {

@ -104,7 +104,6 @@ static void test_max_message_length_on_request(grpc_end2end_test_config config,
grpc_end2end_test_fixture f;
grpc_call* c = nullptr;
grpc_call* s = nullptr;
cq_verifier* cqv;
grpc_op ops[6];
grpc_op* op;
grpc_slice request_payload_slice =
@ -174,7 +173,7 @@ static void test_max_message_length_on_request(grpc_end2end_test_config config,
if (server_args != nullptr) grpc_channel_args_destroy(server_args);
}
cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
grpc_slice_from_static_string("/service/method"),
@ -220,8 +219,8 @@ static void test_max_message_length_on_request(grpc_end2end_test_config config,
GPR_ASSERT(GRPC_CALL_OK == error);
if (send_limit) {
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
goto done;
}
@ -229,8 +228,8 @@ static void test_max_message_length_on_request(grpc_end2end_test_config config,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -248,9 +247,9 @@ static void test_max_message_length_on_request(grpc_end2end_test_config config,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/service/method"));
GPR_ASSERT(was_cancelled == 1);
@ -274,8 +273,6 @@ done:
grpc_call_unref(c);
if (s != nullptr) grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}
@ -295,7 +292,6 @@ static void test_max_message_length_on_response(grpc_end2end_test_config config,
grpc_end2end_test_fixture f;
grpc_call* c = nullptr;
grpc_call* s = nullptr;
cq_verifier* cqv;
grpc_op ops[6];
grpc_op* op;
grpc_slice response_payload_slice =
@ -362,7 +358,7 @@ static void test_max_message_length_on_response(grpc_end2end_test_config config,
if (client_args != nullptr) grpc_channel_args_destroy(client_args);
if (server_args != nullptr) grpc_channel_args_destroy(server_args);
}
cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
grpc_slice_from_static_string("/service/method"),
@ -411,8 +407,8 @@ static void test_max_message_length_on_response(grpc_end2end_test_config config,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -443,9 +439,9 @@ static void test_max_message_length_on_response(grpc_end2end_test_config config,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/service/method"));
GPR_ASSERT(status == GRPC_STATUS_RESOURCE_EXHAUSTED);
@ -465,7 +461,6 @@ static void test_max_message_length_on_response(grpc_end2end_test_config config,
grpc_call_unref(c);
if (s != nullptr) grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}
@ -490,7 +485,6 @@ static void test_max_receive_message_length_on_compressed_request(
grpc_end2end_test_fixture f;
grpc_call* c = nullptr;
grpc_call* s = nullptr;
cq_verifier* cqv;
grpc_op ops[6];
grpc_op* op;
grpc_slice request_payload_slice = grpc_slice_malloc(1024);
@ -522,7 +516,7 @@ static void test_max_receive_message_length_on_compressed_request(
grpc_core::ExecCtx exec_ctx;
grpc_channel_args_destroy(server_args);
}
cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
grpc_slice_from_static_string("/service/method"),
nullptr, gpr_inf_future(GPR_CLOCK_REALTIME),
@ -572,8 +566,8 @@ static void test_max_receive_message_length_on_compressed_request(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -607,9 +601,9 @@ static void test_max_receive_message_length_on_compressed_request(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/service/method"));
if (minimal_stack) {
@ -632,7 +626,6 @@ static void test_max_receive_message_length_on_compressed_request(
grpc_byte_buffer_destroy(recv_payload);
grpc_call_unref(c);
if (s != nullptr) grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
@ -648,7 +641,6 @@ static void test_max_receive_message_length_on_compressed_response(
grpc_end2end_test_fixture f;
grpc_call* c = nullptr;
grpc_call* s = nullptr;
cq_verifier* cqv;
grpc_op ops[6];
grpc_op* op;
grpc_slice response_payload_slice = grpc_slice_malloc(1024);
@ -680,7 +672,7 @@ static void test_max_receive_message_length_on_compressed_response(
grpc_core::ExecCtx exec_ctx;
grpc_channel_args_destroy(client_args);
}
cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
grpc_slice_from_static_string("/service/method"),
@ -729,8 +721,8 @@ static void test_max_receive_message_length_on_compressed_response(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
grpc_metadata compression_md = gzip_compression_override();
memset(ops, 0, sizeof(ops));
@ -763,9 +755,9 @@ static void test_max_receive_message_length_on_compressed_response(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(0 == grpc_slice_str_cmp(call_details.method, "/service/method"));
if (minimal_stack) {
@ -789,8 +781,6 @@ static void test_max_receive_message_length_on_compressed_response(
grpc_call_unref(c);
if (s != nullptr) grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -89,7 +89,7 @@ static void end_test(grpc_end2end_test_fixture* f) {
static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture f, size_t num_ops) {
grpc_call* c;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -136,8 +136,8 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
error = grpc_call_start_batch(c, ops, num_ops, tag(1), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_DEADLINE_EXCEEDED);
@ -146,8 +146,6 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_metadata_array_destroy(&trailing_metadata_recv);
grpc_call_unref(c);
cq_verifier_destroy(cqv);
}
static void test_invoke_simple_request(grpc_end2end_test_config config,

@ -91,7 +91,7 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture f) {
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -150,8 +150,8 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -183,9 +183,9 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
GPR_ASSERT(GRPC_SLICE_LENGTH(details) == 0);
@ -201,8 +201,6 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}
static void test_no_error_on_hotpath_one_request(

@ -119,7 +119,7 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture f) {
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -178,8 +178,8 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -212,9 +212,9 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -230,8 +230,6 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}
static void test_invoke_simple_request(grpc_end2end_test_config config) {

@ -114,7 +114,7 @@ static void request_response_with_payload(grpc_end2end_test_config /*config*/,
grpc_raw_byte_buffer_create(&request_payload_slice, 1);
grpc_byte_buffer* response_payload =
grpc_raw_byte_buffer_create(&response_payload_slice, 1);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -180,8 +180,8 @@ static void request_response_with_payload(grpc_end2end_test_config /*config*/,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -199,8 +199,8 @@ static void request_response_with_payload(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -226,9 +226,9 @@ static void request_response_with_payload(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -247,8 +247,6 @@ static void request_response_with_payload(grpc_end2end_test_config /*config*/,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(response_payload);
grpc_byte_buffer_destroy(request_payload_recv);

@ -33,7 +33,7 @@ static void* tag(intptr_t t) { return reinterpret_cast<void*>(t); }
static void test_ping(grpc_end2end_test_config config,
int min_time_between_pings_ms) {
grpc_end2end_test_fixture f = config.create_fixture(nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_connectivity_state state = GRPC_CHANNEL_IDLE;
int i;
@ -56,7 +56,7 @@ static void test_ping(grpc_end2end_test_config config,
config.init_server(&f, &server_args);
grpc_channel_ping(f.client, f.cq, tag(0), nullptr);
CQ_EXPECT_COMPLETION(cqv, tag(0), 0);
cqv.Expect(tag(0), false);
/* check that we're still in idle, and start connecting */
GPR_ASSERT(grpc_channel_check_connectivity_state(f.client, 1) ==
@ -70,8 +70,8 @@ static void test_ping(grpc_end2end_test_config config,
gpr_time_from_millis(min_time_between_pings_ms * PING_NUM,
GPR_TIMESPAN)),
f.cq, tag(99));
CQ_EXPECT_COMPLETION(cqv, tag(99), 1);
cq_verify(cqv);
cqv.Expect(tag(99), true);
cqv.Verify();
state = grpc_channel_check_connectivity_state(f.client, 0);
GPR_ASSERT(state == GRPC_CHANNEL_READY ||
state == GRPC_CHANNEL_CONNECTING ||
@ -80,13 +80,13 @@ static void test_ping(grpc_end2end_test_config config,
for (i = 1; i <= PING_NUM; i++) {
grpc_channel_ping(f.client, f.cq, tag(i), nullptr);
CQ_EXPECT_COMPLETION(cqv, tag(i), 1);
cq_verify(cqv);
cqv.Expect(tag(i), true);
cqv.Verify();
}
grpc_server_shutdown_and_notify(f.server, f.cq, tag(0xdead));
CQ_EXPECT_COMPLETION(cqv, tag(0xdead), 1);
cq_verify(cqv);
cqv.Expect(tag(0xdead), true);
cqv.Verify();
/* cleanup server */
grpc_server_destroy(f.server);
@ -96,8 +96,6 @@ static void test_ping(grpc_end2end_test_config config,
grpc_completion_queue_destroy(f.cq);
config.tear_down_data(&f);
cq_verifier_destroy(cqv);
}
void ping(grpc_end2end_test_config config) {

@ -90,7 +90,7 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
begin_test(config, "test_pingpong_streaming", nullptr, nullptr);
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -149,8 +149,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(100));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(100), 1);
cq_verify(cqv);
cqv.Expect(tag(100), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -198,8 +198,8 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
tag(102), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -211,9 +211,9 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops),
tag(103), nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(2), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(2), true);
cqv.Verify();
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(response_payload);
@ -248,17 +248,15 @@ static void test_pingpong_streaming(grpc_end2end_test_config config,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
CQ_EXPECT_COMPLETION(cqv, tag(3), 1);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
CQ_EXPECT_COMPLETION(cqv, tag(104), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Expect(tag(3), true);
cqv.Expect(tag(101), true);
cqv.Expect(tag(104), true);
cqv.Verify();
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_metadata_array_destroy(&initial_metadata_recv);
grpc_metadata_array_destroy(&trailing_metadata_recv);
grpc_metadata_array_destroy(&request_metadata_recv);

@ -94,7 +94,7 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture f) {
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -154,8 +154,8 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -190,9 +190,9 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -208,8 +208,6 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}
static void test_invoke_proxy_auth(grpc_end2end_test_config config) {

@ -89,7 +89,7 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_end2end_test_fixture f, void* rc) {
grpc_call* c;
grpc_call* s;
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -142,8 +142,8 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -169,9 +169,9 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNIMPLEMENTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -186,8 +186,6 @@ static void simple_request_body(grpc_end2end_test_config /*config*/,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
}
static void test_invoke_simple_request(grpc_end2end_test_config config) {

@ -93,7 +93,7 @@ static void test_invoke_request_with_flags(
grpc_raw_byte_buffer_create(&request_payload_slice, 1);
grpc_end2end_test_fixture f =
begin_test(config, "test_invoke_request_with_flags", nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -151,8 +151,8 @@ static void test_invoke_request_with_flags(
GPR_ASSERT(expectation == error);
if (expectation == GRPC_CALL_OK) {
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
grpc_slice_unref(details);
}
@ -163,8 +163,6 @@ static void test_invoke_request_with_flags(
grpc_call_unref(c);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(request_payload_recv);

@ -93,7 +93,7 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
grpc_raw_byte_buffer_create(&request_payload_slice, 1);
grpc_end2end_test_fixture f =
begin_test(config, "test_invoke_request_with_payload", nullptr, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
grpc_op ops[6];
grpc_op* op;
grpc_metadata_array initial_metadata_recv;
@ -152,8 +152,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
GPR_ASSERT(GRPC_CALL_OK == grpc_server_request_call(
f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101)));
CQ_EXPECT_COMPLETION(cqv, tag(101), 1);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -171,8 +171,8 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), 1);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -193,9 +193,9 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), 1);
CQ_EXPECT_COMPLETION(cqv, tag(1), 1);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -212,8 +212,6 @@ static void test_invoke_request_with_payload(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(request_payload_recv);

@ -140,7 +140,7 @@ static void test_retry(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -188,8 +188,8 @@ static void test_retry(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
// Make sure the "grpc-previous-rpc-attempts" header was not sent in the
// initial attempt.
@ -225,8 +225,8 @@ static void test_retry(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
grpc_call_unref(s);
grpc_metadata_array_destroy(&request_metadata_recv);
@ -238,8 +238,8 @@ static void test_retry(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(201), true);
cq_verify(cqv);
cqv.Expect(tag(201), true);
cqv.Verify();
// Make sure the "grpc-previous-rpc-attempts" header was sent in the retry.
bool found_retry_header = false;
@ -287,9 +287,9 @@ static void test_retry(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(202), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(202), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -310,8 +310,6 @@ static void test_retry(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -135,7 +135,7 @@ static void test_retry_cancel_after_first_attempt_starts(
grpc_end2end_test_fixture f = begin_test(
config, "retry_cancel_after_first_attempt_starts", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -193,10 +193,10 @@ static void test_retry_cancel_after_first_attempt_starts(
// The send ops batch and the first recv ops batch will fail in most
// fixtures but will pass in the proxy fixtures on some platforms.
CQ_EXPECT_COMPLETION_ANY_STATUS(cqv, tag(1));
CQ_EXPECT_COMPLETION_ANY_STATUS(cqv, tag(2));
CQ_EXPECT_COMPLETION(cqv, tag(3), true);
cq_verify(cqv);
cqv.Expect(tag(1), grpc_core::CqVerifier::AnyStatus());
cqv.Expect(tag(2), grpc_core::CqVerifier::AnyStatus());
cqv.Expect(tag(3), true);
cqv.Verify();
grpc_slice_unref(details);
grpc_metadata_array_destroy(&initial_metadata_recv);
@ -204,8 +204,6 @@ static void test_retry_cancel_after_first_attempt_starts(
grpc_byte_buffer_destroy(request_payload);
grpc_byte_buffer_destroy(response_payload_recv);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -144,7 +144,7 @@ static void test_retry_cancel_during_delay(grpc_end2end_test_config config,
grpc_end2end_test_fixture f =
begin_test(config, name.c_str(), &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec expect_finish_before = n_seconds_from_now(10);
gpr_timespec deadline = five_seconds_from_now();
@ -195,8 +195,8 @@ static void test_retry_cancel_during_delay(grpc_end2end_test_config config,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -224,8 +224,8 @@ static void test_retry_cancel_during_delay(grpc_end2end_test_config config,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
grpc_call_unref(s);
grpc_metadata_array_destroy(&request_metadata_recv);
@ -243,8 +243,8 @@ static void test_retry_cancel_during_delay(grpc_end2end_test_config config,
// Initiate cancellation.
GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c, nullptr));
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
gpr_timespec finish_time = gpr_now(GPR_CLOCK_MONOTONIC);
@ -272,8 +272,6 @@ static void test_retry_cancel_during_delay(grpc_end2end_test_config config,
grpc_call_unref(c);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -143,7 +143,7 @@ static void test_retry_cancel_with_multiple_send_batches(
grpc_end2end_test_fixture f =
begin_test(config, name.c_str(), &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = n_seconds_from_now(3);
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -210,11 +210,11 @@ static void test_retry_cancel_with_multiple_send_batches(
GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c, nullptr));
// Client ops should now complete.
CQ_EXPECT_COMPLETION(cqv, tag(1), false);
CQ_EXPECT_COMPLETION(cqv, tag(2), false);
CQ_EXPECT_COMPLETION(cqv, tag(3), false);
CQ_EXPECT_COMPLETION(cqv, tag(4), true);
cq_verify(cqv);
cqv.Expect(tag(1), false);
cqv.Expect(tag(2), false);
cqv.Expect(tag(3), false);
cqv.Expect(tag(4), true);
cqv.Verify();
gpr_log(GPR_INFO, "status=%d expected=%d", status, mode.expect_status);
GPR_ASSERT(status == mode.expect_status);
@ -227,8 +227,6 @@ static void test_retry_cancel_with_multiple_send_batches(
grpc_call_unref(c);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -143,7 +143,7 @@ static void test_retry_cancellation(grpc_end2end_test_config config,
grpc_end2end_test_fixture f =
begin_test(config, name.c_str(), &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -193,8 +193,8 @@ static void test_retry_cancellation(grpc_end2end_test_config config,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -222,8 +222,8 @@ static void test_retry_cancellation(grpc_end2end_test_config config,
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
grpc_call_unref(s);
grpc_metadata_array_destroy(&request_metadata_recv);
@ -236,14 +236,14 @@ static void test_retry_cancellation(grpc_end2end_test_config config,
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(201), true);
cq_verify(cqv);
cqv.Expect(tag(201), true);
cqv.Verify();
// Initiate cancellation.
GPR_ASSERT(GRPC_CALL_OK == mode.initiate_cancel(c, nullptr));
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == mode.expect_status);
GPR_ASSERT(was_cancelled == 0);
@ -261,8 +261,6 @@ static void test_retry_cancellation(grpc_end2end_test_config config,
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -143,7 +143,7 @@ static void test_retry_disabled(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_disabled", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -191,8 +191,8 @@ static void test_retry_disabled(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -220,9 +220,9 @@ static void test_retry_disabled(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -243,8 +243,6 @@ static void test_retry_disabled(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -148,7 +148,7 @@ static void test_retry_exceeds_buffer_size_in_delay(
grpc_end2end_test_fixture f = begin_test(
config, "retry_exceeds_buffer_size_in_delay", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = grpc_timeout_milliseconds_to_deadline(15000);
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -194,8 +194,8 @@ static void test_retry_exceeds_buffer_size_in_delay(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -223,8 +223,8 @@ static void test_retry_exceeds_buffer_size_in_delay(
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
grpc_call_unref(s);
grpc_metadata_array_destroy(&request_metadata_recv);
@ -235,7 +235,7 @@ static void test_retry_exceeds_buffer_size_in_delay(
// Do a bit more polling, to make sure the client sees status from the
// first attempt. (Note: This polls for 1s, which is less than the
// retry initial backoff time of 2s from the service config above.)
cq_verify_empty(cqv);
cqv.VerifyEmpty();
// Client sends a message that puts it over the buffer size limit.
memset(ops, 0, sizeof(ops));
@ -248,16 +248,16 @@ static void test_retry_exceeds_buffer_size_in_delay(
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Verify();
// Server gets another call.
error =
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(201), true);
cq_verify(cqv);
cqv.Expect(tag(201), true);
cqv.Verify();
// Server again sends ABORTED. But this time, the client won't retry,
// since the call has been committed by exceeding the buffer size.
@ -277,9 +277,9 @@ static void test_retry_exceeds_buffer_size_in_delay(
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(202),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(202), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(202), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "message2"));
@ -300,8 +300,6 @@ static void test_retry_exceeds_buffer_size_in_delay(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
gpr_free(buf);

@ -146,7 +146,7 @@ static void test_retry_exceeds_buffer_size_in_initial_batch(
begin_test(config, "retry_exceeds_buffer_size_in_initial_batch",
&client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -194,8 +194,8 @@ static void test_retry_exceeds_buffer_size_in_initial_batch(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -223,9 +223,9 @@ static void test_retry_exceeds_buffer_size_in_initial_batch(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -246,8 +246,6 @@ static void test_retry_exceeds_buffer_size_in_initial_batch(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -151,7 +151,7 @@ static void test_retry_exceeds_buffer_size_in_subsequent_batch(
begin_test(config, "retry_exceeds_buffer_size_in_subsequent_batch",
&client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -178,8 +178,8 @@ static void test_retry_exceeds_buffer_size_in_subsequent_batch(
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -207,8 +207,8 @@ static void test_retry_exceeds_buffer_size_in_subsequent_batch(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -236,9 +236,9 @@ static void test_retry_exceeds_buffer_size_in_subsequent_batch(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(2), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -259,8 +259,6 @@ static void test_retry_exceeds_buffer_size_in_subsequent_batch(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
gpr_free(buf);

@ -202,7 +202,7 @@ static void test_retry_lb_drop(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_lb_drop", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -238,8 +238,8 @@ static void test_retry_lb_drop(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_UNAVAILABLE);
GPR_ASSERT(0 ==
@ -253,8 +253,6 @@ static void test_retry_lb_drop(grpc_end2end_test_config config) {
grpc_call_unref(c);
cq_verifier_destroy(cqv);
gpr_log(GPR_INFO, "NUMBER OF LB PICKS: %" PRIuPTR, pick_args_seen.size());
GPR_ASSERT(pick_args_seen.size() == 1);

@ -206,7 +206,7 @@ static void test_retry_lb_fail(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_lb_fail", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -226,8 +226,8 @@ static void test_retry_lb_fail(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), false);
cq_verify(cqv);
cqv.Expect(tag(1), false);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -240,8 +240,8 @@ static void test_retry_lb_fail(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "LB pick failed"));
@ -254,8 +254,6 @@ static void test_retry_lb_fail(grpc_end2end_test_config config) {
grpc_call_unref(c);
cq_verifier_destroy(cqv);
int num_picks = grpc_core::g_num_lb_picks.load(std::memory_order_relaxed);
gpr_log(GPR_INFO, "NUM LB PICKS: %d", num_picks);
GPR_ASSERT(num_picks == 2);

@ -139,7 +139,7 @@ static void test_retry_non_retriable_status(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_non_retriable_status", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -187,8 +187,8 @@ static void test_retry_non_retriable_status(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -216,9 +216,9 @@ static void test_retry_non_retriable_status(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_INVALID_ARGUMENT);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -239,8 +239,6 @@ static void test_retry_non_retriable_status(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -144,7 +144,7 @@ test_retry_non_retriable_status_before_recv_trailing_metadata_started(
"retry_non_retriable_status_before_recv_trailing_metadata_started",
&client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -184,8 +184,8 @@ test_retry_non_retriable_status_before_recv_trailing_metadata_started(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -213,9 +213,9 @@ test_retry_non_retriable_status_before_recv_trailing_metadata_started(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -231,8 +231,8 @@ test_retry_non_retriable_status_before_recv_trailing_metadata_started(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_INVALID_ARGUMENT);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -253,8 +253,6 @@ test_retry_non_retriable_status_before_recv_trailing_metadata_started(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -148,7 +148,7 @@ static void test_retry_per_attempt_recv_timeout(
grpc_end2end_test_fixture f = begin_test(
config, "test_retry_per_attempt_recv_timeout", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -192,8 +192,8 @@ static void test_retry_per_attempt_recv_timeout(
grpc_server_request_call(f.server, &s0, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
// Make sure the "grpc-previous-rpc-attempts" header was not sent in the
// initial attempt.
@ -213,8 +213,8 @@ static void test_retry_per_attempt_recv_timeout(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(201), true);
cq_verify(cqv);
cqv.Expect(tag(201), true);
cqv.Verify();
// Now we can unref the first call.
grpc_call_unref(s0);
@ -259,8 +259,8 @@ static void test_retry_per_attempt_recv_timeout(
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(202),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(202), true);
cq_verify(cqv);
cqv.Expect(tag(202), true);
cqv.Verify();
grpc_call_unref(s);
grpc_metadata_array_destroy(&request_metadata_recv);
@ -273,8 +273,8 @@ static void test_retry_per_attempt_recv_timeout(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(301));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(301), true);
cq_verify(cqv);
cqv.Expect(tag(301), true);
cqv.Verify();
// Make sure the "grpc-previous-rpc-attempts" header was sent in the retry.
found_retry_header = false;
@ -314,9 +314,9 @@ static void test_retry_per_attempt_recv_timeout(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(302), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(302), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -337,8 +337,6 @@ static void test_retry_per_attempt_recv_timeout(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -145,7 +145,7 @@ static void test_retry_per_attempt_recv_timeout_on_last_attempt(
begin_test(config, "test_retry_per_attempt_recv_timeout_on_last_attempt",
&client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = n_seconds_from_now(10);
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -188,8 +188,8 @@ static void test_retry_per_attempt_recv_timeout_on_last_attempt(
grpc_server_request_call(f.server, &s0, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
// Make sure the "grpc-previous-rpc-attempts" header was not sent in the
// initial attempt.
@ -209,8 +209,8 @@ static void test_retry_per_attempt_recv_timeout_on_last_attempt(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(201), true);
cq_verify(cqv);
cqv.Expect(tag(201), true);
cqv.Verify();
// Now we can unref the first call.
grpc_call_unref(s0);
@ -230,8 +230,8 @@ static void test_retry_per_attempt_recv_timeout_on_last_attempt(
GPR_ASSERT(found_retry_header);
// Client sees call completion.
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_CANCELLED);
GPR_ASSERT(
@ -252,8 +252,6 @@ static void test_retry_per_attempt_recv_timeout_on_last_attempt(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -144,7 +144,7 @@ static void test_retry_recv_initial_metadata(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_recv_initial_metadata", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -192,8 +192,8 @@ static void test_retry_recv_initial_metadata(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -221,8 +221,8 @@ static void test_retry_recv_initial_metadata(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -238,9 +238,9 @@ static void test_retry_recv_initial_metadata(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -261,8 +261,6 @@ static void test_retry_recv_initial_metadata(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -140,7 +140,7 @@ static void test_retry_recv_message(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_recv_message", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -188,8 +188,8 @@ static void test_retry_recv_message(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -220,9 +220,9 @@ static void test_retry_recv_message(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -243,8 +243,6 @@ static void test_retry_recv_message(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -146,7 +146,7 @@ static void test_retry_recv_message_replay(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_recv_message_replay", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -205,8 +205,8 @@ static void test_retry_recv_message_replay(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
// Server fails with status ABORTED.
memset(ops, 0, sizeof(ops));
@ -229,11 +229,11 @@ static void test_retry_recv_message_replay(grpc_end2end_test_config config) {
// In principle, the server batch should complete before the client
// batches, but in the proxy fixtures, there are multiple threads
// involved, so the completion order tends to be a little racy.
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
CQ_EXPECT_COMPLETION(cqv, tag(3), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Expect(tag(2), true);
cqv.Expect(tag(3), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -254,8 +254,6 @@ static void test_retry_recv_message_replay(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -145,7 +145,7 @@ static void test_retry_recv_trailing_metadata_error(
grpc_end2end_test_fixture f = begin_test(
config, "retry_recv_trailing_metadata_error", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -188,8 +188,8 @@ static void test_retry_recv_trailing_metadata_error(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -217,9 +217,9 @@ static void test_retry_recv_trailing_metadata_error(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
memset(ops, 0, sizeof(ops));
op = ops;
@ -232,8 +232,8 @@ static void test_retry_recv_trailing_metadata_error(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_INVALID_ARGUMENT);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "injected error"));
@ -254,8 +254,6 @@ static void test_retry_recv_trailing_metadata_error(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -143,7 +143,7 @@ static void test_retry_send_initial_metadata_refs(
grpc_end2end_test_fixture f = begin_test(
config, "retry_send_initial_metadata_refs", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -193,8 +193,8 @@ static void test_retry_send_initial_metadata_refs(
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
for (size_t i = 0; i < client_send_initial_metadata.count; ++i) {
grpc_slice_unref(client_send_initial_metadata.metadata[i].key);
@ -223,8 +223,8 @@ static void test_retry_send_initial_metadata_refs(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
// Make sure the "grpc-previous-rpc-attempts" header was not sent in the
// initial attempt.
@ -260,8 +260,8 @@ static void test_retry_send_initial_metadata_refs(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
grpc_call_unref(s);
grpc_metadata_array_destroy(&request_metadata_recv);
@ -273,8 +273,8 @@ static void test_retry_send_initial_metadata_refs(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(201), true);
cq_verify(cqv);
cqv.Expect(tag(201), true);
cqv.Verify();
// Make sure the "grpc-previous-rpc-attempts" header was sent in the retry.
GPR_ASSERT(contains_metadata_slices(
@ -321,9 +321,9 @@ static void test_retry_send_initial_metadata_refs(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(202), true);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
cq_verify(cqv);
cqv.Expect(tag(202), true);
cqv.Expect(tag(2), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_OK);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -344,8 +344,6 @@ static void test_retry_send_initial_metadata_refs(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -147,7 +147,7 @@ static void test_retry_send_op_fails(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_send_op_fails", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -200,16 +200,16 @@ static void test_retry_send_op_fails(grpc_end2end_test_config config) {
GPR_ASSERT(GRPC_CALL_OK == error);
// Client send ops should now complete.
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
// Server should get a call.
error =
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
// Server fails with status ABORTED.
memset(ops, 0, sizeof(ops));
@ -232,9 +232,9 @@ static void test_retry_send_op_fails(grpc_end2end_test_config config) {
// In principle, the server batch should complete before the client
// recv ops batch, but in the proxy fixtures, there are multiple threads
// involved, so the completion order tends to be a little racy.
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(2), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -269,8 +269,6 @@ static void test_retry_send_op_fails(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -137,7 +137,7 @@ static void test_retry_send_recv_batch(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_send_recv_batch", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -184,8 +184,8 @@ static void test_retry_send_recv_batch(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
// Client starts a batch containing recv_message.
memset(ops, 0, sizeof(ops));
@ -215,11 +215,11 @@ static void test_retry_send_recv_batch(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
CQ_EXPECT_COMPLETION(cqv, tag(3), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Expect(tag(2), true);
cqv.Expect(tag(3), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_PERMISSION_DENIED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -240,8 +240,6 @@ static void test_retry_send_recv_batch(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -145,7 +145,7 @@ static void test_retry_server_pushback_delay(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_server_pushback_delay", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -194,8 +194,8 @@ static void test_retry_server_pushback_delay(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -224,8 +224,8 @@ static void test_retry_server_pushback_delay(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
gpr_timespec before_retry = gpr_now(GPR_CLOCK_MONOTONIC);
@ -239,8 +239,8 @@ static void test_retry_server_pushback_delay(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(201), true);
cq_verify(cqv);
cqv.Expect(tag(201), true);
cqv.Verify();
gpr_timespec after_retry = gpr_now(GPR_CLOCK_MONOTONIC);
gpr_timespec retry_delay = gpr_time_sub(after_retry, before_retry);
@ -279,9 +279,9 @@ static void test_retry_server_pushback_delay(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(202), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(202), true);
cqv.Expect(tag(1), true);
cqv.Verify();
gpr_log(GPR_INFO, "status=%d message=\"%s\"", status,
std::string(grpc_core::StringViewFromSlice(details)).c_str());
@ -304,8 +304,6 @@ static void test_retry_server_pushback_delay(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -146,7 +146,7 @@ static void test_retry_server_pushback_disabled(
grpc_end2end_test_fixture f = begin_test(
config, "retry_server_pushback_disabled", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -194,8 +194,8 @@ static void test_retry_server_pushback_disabled(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -223,8 +223,8 @@ static void test_retry_server_pushback_disabled(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
grpc_call_unref(s);
grpc_metadata_array_destroy(&request_metadata_recv);
@ -236,8 +236,8 @@ static void test_retry_server_pushback_disabled(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(201), true);
cq_verify(cqv);
cqv.Expect(tag(201), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -266,9 +266,9 @@ static void test_retry_server_pushback_disabled(
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(202), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(202), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -289,8 +289,6 @@ static void test_retry_server_pushback_disabled(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -159,7 +159,7 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_streaming", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -212,16 +212,16 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Verify();
// Server gets a call with received initial metadata.
error =
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -241,8 +241,8 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
// Client sends a second message.
memset(ops, 0, sizeof(ops));
@ -253,8 +253,8 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(3), true);
cq_verify(cqv);
cqv.Expect(tag(3), true);
cqv.Verify();
// Server receives the second message.
memset(ops, 0, sizeof(ops));
@ -265,8 +265,8 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), true);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Verify();
// Server sends both initial and trailing metadata.
memset(ops, 0, sizeof(ops));
@ -285,8 +285,8 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(104), true);
cq_verify(cqv);
cqv.Expect(tag(104), true);
cqv.Verify();
// Clean up from first attempt.
grpc_call_unref(s);
@ -307,8 +307,8 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(201), true);
cq_verify(cqv);
cqv.Expect(tag(201), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -328,8 +328,8 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(202),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(202), true);
cq_verify(cqv);
cqv.Expect(tag(202), true);
cqv.Verify();
// Server receives a second message.
memset(ops, 0, sizeof(ops));
@ -340,8 +340,8 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(203),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(203), true);
cq_verify(cqv);
cqv.Expect(tag(203), true);
cqv.Verify();
// Client sends a third message and a close.
memset(ops, 0, sizeof(ops));
@ -354,8 +354,8 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(4),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(4), true);
cq_verify(cqv);
cqv.Expect(tag(4), true);
cqv.Verify();
// Server receives a third message.
memset(ops, 0, sizeof(ops));
@ -366,8 +366,8 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(204),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(204), true);
cq_verify(cqv);
cqv.Expect(tag(204), true);
cqv.Verify();
// Server receives a close and sends initial metadata, a message, and
// trailing metadata.
@ -392,9 +392,9 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(205),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(205), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(205), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -436,8 +436,6 @@ static void test_retry_streaming(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -146,7 +146,7 @@ static void test_retry_streaming_after_commit(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_streaming_after_commit", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -191,16 +191,16 @@ static void test_retry_streaming_after_commit(grpc_end2end_test_config config) {
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(3), true);
cq_verify(cqv);
cqv.Expect(tag(3), true);
cqv.Verify();
// Server gets a call with received initial metadata.
error =
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -220,8 +220,8 @@ static void test_retry_streaming_after_commit(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
// Server sends initial metadata and a message.
memset(ops, 0, sizeof(ops));
@ -235,10 +235,10 @@ static void test_retry_streaming_after_commit(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), true);
cqv.Expect(tag(103), true);
// Client receives initial metadata and a message.
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Verify();
// Client sends a second message and a close.
memset(ops, 0, sizeof(ops));
@ -251,8 +251,8 @@ static void test_retry_streaming_after_commit(grpc_end2end_test_config config) {
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(4),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(4), true);
cq_verify(cqv);
cqv.Expect(tag(4), true);
cqv.Verify();
// Server receives a second message.
memset(ops, 0, sizeof(ops));
@ -263,8 +263,8 @@ static void test_retry_streaming_after_commit(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(104), true);
cq_verify(cqv);
cqv.Expect(tag(104), true);
cqv.Verify();
// Server receives a close, sends a second message, and sends status.
memset(ops, 0, sizeof(ops));
@ -285,8 +285,8 @@ static void test_retry_streaming_after_commit(grpc_end2end_test_config config) {
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(105),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(105), true);
cq_verify(cqv);
cqv.Expect(tag(105), true);
cqv.Verify();
// Client receives a second message.
memset(ops, 0, sizeof(ops));
@ -297,8 +297,8 @@ static void test_retry_streaming_after_commit(grpc_end2end_test_config config) {
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(5),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(5), true);
cq_verify(cqv);
cqv.Expect(tag(5), true);
cqv.Verify();
// Client receives status.
memset(ops, 0, sizeof(ops));
@ -311,8 +311,8 @@ static void test_retry_streaming_after_commit(grpc_end2end_test_config config) {
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(1),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -343,8 +343,6 @@ static void test_retry_streaming_after_commit(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -147,7 +147,7 @@ static void test_retry_streaming_succeeds_before_replay_finished(
grpc_end2end_test_fixture f =
begin_test(config, "retry_streaming", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -197,16 +197,16 @@ static void test_retry_streaming_succeeds_before_replay_finished(
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(2),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(2), true);
cq_verify(cqv);
cqv.Expect(tag(2), true);
cqv.Verify();
// Server gets a call with received initial metadata.
error =
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -226,8 +226,8 @@ static void test_retry_streaming_succeeds_before_replay_finished(
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(102),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Verify();
// Client sends a second message.
memset(ops, 0, sizeof(ops));
@ -238,8 +238,8 @@ static void test_retry_streaming_succeeds_before_replay_finished(
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(3),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(3), true);
cq_verify(cqv);
cqv.Expect(tag(3), true);
cqv.Verify();
// Server receives the second message.
memset(ops, 0, sizeof(ops));
@ -250,8 +250,8 @@ static void test_retry_streaming_succeeds_before_replay_finished(
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(103),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(103), true);
cq_verify(cqv);
cqv.Expect(tag(103), true);
cqv.Verify();
// Client sends a third message.
memset(ops, 0, sizeof(ops));
@ -262,8 +262,8 @@ static void test_retry_streaming_succeeds_before_replay_finished(
error = grpc_call_start_batch(c, ops, static_cast<size_t>(op - ops), tag(4),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(4), true);
cq_verify(cqv);
cqv.Expect(tag(4), true);
cqv.Verify();
// Server receives the third message.
memset(ops, 0, sizeof(ops));
@ -274,8 +274,8 @@ static void test_retry_streaming_succeeds_before_replay_finished(
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(104),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(104), true);
cq_verify(cqv);
cqv.Expect(tag(104), true);
cqv.Verify();
// Server sends both initial and trailing metadata.
memset(ops, 0, sizeof(ops));
@ -294,8 +294,8 @@ static void test_retry_streaming_succeeds_before_replay_finished(
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(105),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(105), true);
cq_verify(cqv);
cqv.Expect(tag(105), true);
cqv.Verify();
// Clean up from first attempt.
grpc_call_unref(s);
@ -320,8 +320,8 @@ static void test_retry_streaming_succeeds_before_replay_finished(
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(201));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(201), true);
cq_verify(cqv);
cqv.Expect(tag(201), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -341,8 +341,8 @@ static void test_retry_streaming_succeeds_before_replay_finished(
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(202),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(202), true);
cq_verify(cqv);
cqv.Expect(tag(202), true);
cqv.Verify();
// Server sends initial metadata, a message, and trailing metadata.
memset(ops, 0, sizeof(ops));
@ -363,9 +363,9 @@ static void test_retry_streaming_succeeds_before_replay_finished(
error = grpc_call_start_batch(s, ops, static_cast<size_t>(op - ops), tag(205),
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(205), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(205), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -389,8 +389,6 @@ static void test_retry_streaming_succeeds_before_replay_finished(
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

@ -146,7 +146,7 @@ static void test_retry_throttled(grpc_end2end_test_config config) {
grpc_end2end_test_fixture f =
begin_test(config, "retry_throttled", &client_args, nullptr);
cq_verifier* cqv = cq_verifier_create(f.cq);
grpc_core::CqVerifier cqv(f.cq);
gpr_timespec deadline = five_seconds_from_now();
c = grpc_channel_create_call(f.client, nullptr, GRPC_PROPAGATE_DEFAULTS, f.cq,
@ -194,8 +194,8 @@ static void test_retry_throttled(grpc_end2end_test_config config) {
grpc_server_request_call(f.server, &s, &call_details,
&request_metadata_recv, f.cq, f.cq, tag(101));
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(101), true);
cq_verify(cqv);
cqv.Expect(tag(101), true);
cqv.Verify();
peer = grpc_call_get_peer(s);
GPR_ASSERT(peer != nullptr);
@ -223,9 +223,9 @@ static void test_retry_throttled(grpc_end2end_test_config config) {
nullptr);
GPR_ASSERT(GRPC_CALL_OK == error);
CQ_EXPECT_COMPLETION(cqv, tag(102), true);
CQ_EXPECT_COMPLETION(cqv, tag(1), true);
cq_verify(cqv);
cqv.Expect(tag(102), true);
cqv.Expect(tag(1), true);
cqv.Verify();
GPR_ASSERT(status == GRPC_STATUS_ABORTED);
GPR_ASSERT(0 == grpc_slice_str_cmp(details, "xyz"));
@ -246,8 +246,6 @@ static void test_retry_throttled(grpc_end2end_test_config config) {
grpc_call_unref(c);
grpc_call_unref(s);
cq_verifier_destroy(cqv);
end_test(&f);
config.tear_down_data(&f);
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save