1 /* 2 * nghttp2 - HTTP/2 C Library 3 * 4 * Copyright (c) 2012 Tatsuhiro Tsujikawa 5 * 6 * Permission is hereby granted, free of charge, to any person obtaining 7 * a copy of this software and associated documentation files (the 8 * "Software"), to deal in the Software without restriction, including 9 * without limitation the rights to use, copy, modify, merge, publish, 10 * distribute, sublicense, and/or sell copies of the Software, and to 11 * permit persons to whom the Software is furnished to do so, subject to 12 * the following conditions: 13 * 14 * The above copyright notice and this permission notice shall be 15 * included in all copies or substantial portions of the Software. 16 * 17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 18 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 20 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 21 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 22 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 23 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 24 */ 25 #ifndef NGHTTP2_SESSION_TEST_H 26 #define NGHTTP2_SESSION_TEST_H 27 28 #ifdef HAVE_CONFIG_H 29 # include <config.h> 30 #endif /* HAVE_CONFIG_H */ 31 32 #define MUNIT_ENABLE_ASSERT_ALIASES 33 34 #include "munit.h" 35 36 extern const MunitSuite session_suite; 37 38 munit_void_test_decl(test_nghttp2_session_recv); 39 munit_void_test_decl(test_nghttp2_session_recv_invalid_stream_id); 40 munit_void_test_decl(test_nghttp2_session_recv_invalid_frame); 41 munit_void_test_decl(test_nghttp2_session_recv_eof); 42 munit_void_test_decl(test_nghttp2_session_recv_data); 43 munit_void_test_decl(test_nghttp2_session_recv_data_no_auto_flow_control); 44 munit_void_test_decl(test_nghttp2_session_recv_continuation); 45 munit_void_test_decl(test_nghttp2_session_recv_headers_with_priority); 46 munit_void_test_decl(test_nghttp2_session_recv_headers_with_padding); 47 munit_void_test_decl(test_nghttp2_session_recv_headers_early_response); 48 munit_void_test_decl(test_nghttp2_session_recv_headers_for_closed_stream); 49 munit_void_test_decl(test_nghttp2_session_recv_headers_with_extpri); 50 munit_void_test_decl(test_nghttp2_session_server_recv_push_response); 51 munit_void_test_decl(test_nghttp2_session_recv_premature_headers); 52 munit_void_test_decl(test_nghttp2_session_recv_unknown_frame); 53 munit_void_test_decl(test_nghttp2_session_recv_unexpected_continuation); 54 munit_void_test_decl(test_nghttp2_session_recv_settings_header_table_size); 55 munit_void_test_decl(test_nghttp2_session_recv_too_large_frame_length); 56 munit_void_test_decl(test_nghttp2_session_recv_extension); 57 munit_void_test_decl(test_nghttp2_session_recv_altsvc); 58 munit_void_test_decl(test_nghttp2_session_recv_origin); 59 munit_void_test_decl(test_nghttp2_session_recv_priority_update); 60 munit_void_test_decl(test_nghttp2_session_continue); 61 munit_void_test_decl(test_nghttp2_session_add_frame); 62 munit_void_test_decl(test_nghttp2_session_on_request_headers_received); 63 munit_void_test_decl(test_nghttp2_session_on_response_headers_received); 64 munit_void_test_decl(test_nghttp2_session_on_headers_received); 65 munit_void_test_decl(test_nghttp2_session_on_push_response_headers_received); 66 munit_void_test_decl(test_nghttp2_session_on_priority_received); 67 munit_void_test_decl(test_nghttp2_session_on_rst_stream_received); 68 munit_void_test_decl(test_nghttp2_session_on_settings_received); 69 munit_void_test_decl(test_nghttp2_session_on_push_promise_received); 70 munit_void_test_decl(test_nghttp2_session_on_ping_received); 71 munit_void_test_decl(test_nghttp2_session_on_goaway_received); 72 munit_void_test_decl(test_nghttp2_session_on_window_update_received); 73 munit_void_test_decl(test_nghttp2_session_on_data_received); 74 munit_void_test_decl(test_nghttp2_session_on_data_received_fail_fast); 75 munit_void_test_decl(test_nghttp2_session_on_altsvc_received); 76 munit_void_test_decl(test_nghttp2_session_send_headers_start_stream); 77 munit_void_test_decl(test_nghttp2_session_send_headers_reply); 78 munit_void_test_decl(test_nghttp2_session_send_headers_frame_size_error); 79 munit_void_test_decl(test_nghttp2_session_send_headers_push_reply); 80 munit_void_test_decl(test_nghttp2_session_send_rst_stream); 81 munit_void_test_decl(test_nghttp2_session_send_push_promise); 82 munit_void_test_decl(test_nghttp2_session_is_my_stream_id); 83 munit_void_test_decl(test_nghttp2_session_upgrade2); 84 munit_void_test_decl(test_nghttp2_session_reprioritize_stream); 85 munit_void_test_decl( 86 test_nghttp2_session_reprioritize_stream_with_idle_stream_dep); 87 munit_void_test_decl(test_nghttp2_submit_data); 88 munit_void_test_decl(test_nghttp2_submit_data_read_length_too_large); 89 munit_void_test_decl(test_nghttp2_submit_data_read_length_smallest); 90 munit_void_test_decl(test_nghttp2_submit_data_twice); 91 munit_void_test_decl(test_nghttp2_submit_request_with_data); 92 munit_void_test_decl(test_nghttp2_submit_request_without_data); 93 munit_void_test_decl(test_nghttp2_submit_response_with_data); 94 munit_void_test_decl(test_nghttp2_submit_response_without_data); 95 munit_void_test_decl(test_nghttp2_submit_response_push_response); 96 munit_void_test_decl(test_nghttp2_submit_trailer); 97 munit_void_test_decl(test_nghttp2_submit_headers_start_stream); 98 munit_void_test_decl(test_nghttp2_submit_headers_reply); 99 munit_void_test_decl(test_nghttp2_submit_headers_push_reply); 100 munit_void_test_decl(test_nghttp2_submit_headers); 101 munit_void_test_decl(test_nghttp2_submit_headers_continuation); 102 munit_void_test_decl(test_nghttp2_submit_headers_continuation_extra_large); 103 munit_void_test_decl(test_nghttp2_submit_priority); 104 munit_void_test_decl(test_nghttp2_submit_settings); 105 munit_void_test_decl(test_nghttp2_submit_settings_update_local_window_size); 106 munit_void_test_decl(test_nghttp2_submit_settings_multiple_times); 107 munit_void_test_decl(test_nghttp2_submit_push_promise); 108 munit_void_test_decl(test_nghttp2_submit_window_update); 109 munit_void_test_decl(test_nghttp2_submit_window_update_local_window_size); 110 munit_void_test_decl(test_nghttp2_submit_shutdown_notice); 111 munit_void_test_decl(test_nghttp2_submit_invalid_nv); 112 munit_void_test_decl(test_nghttp2_submit_extension); 113 munit_void_test_decl(test_nghttp2_submit_altsvc); 114 munit_void_test_decl(test_nghttp2_submit_origin); 115 munit_void_test_decl(test_nghttp2_submit_priority_update); 116 munit_void_test_decl(test_nghttp2_submit_rst_stream); 117 munit_void_test_decl(test_nghttp2_session_open_stream); 118 munit_void_test_decl(test_nghttp2_session_open_stream_with_idle_stream_dep); 119 munit_void_test_decl(test_nghttp2_session_get_next_ob_item); 120 munit_void_test_decl(test_nghttp2_session_pop_next_ob_item); 121 munit_void_test_decl(test_nghttp2_session_reply_fail); 122 munit_void_test_decl(test_nghttp2_session_max_concurrent_streams); 123 munit_void_test_decl(test_nghttp2_session_stop_data_with_rst_stream); 124 munit_void_test_decl(test_nghttp2_session_defer_data); 125 munit_void_test_decl(test_nghttp2_session_flow_control); 126 munit_void_test_decl(test_nghttp2_session_flow_control_data_recv); 127 munit_void_test_decl(test_nghttp2_session_flow_control_data_with_padding_recv); 128 munit_void_test_decl(test_nghttp2_session_data_read_temporal_failure); 129 munit_void_test_decl(test_nghttp2_session_on_stream_close); 130 munit_void_test_decl(test_nghttp2_session_on_ctrl_not_send); 131 munit_void_test_decl(test_nghttp2_session_get_outbound_queue_size); 132 munit_void_test_decl(test_nghttp2_session_get_effective_local_window_size); 133 munit_void_test_decl(test_nghttp2_session_set_option); 134 munit_void_test_decl(test_nghttp2_session_data_backoff_by_high_pri_frame); 135 munit_void_test_decl(test_nghttp2_session_pack_data_with_padding); 136 munit_void_test_decl(test_nghttp2_session_pack_headers_with_padding); 137 munit_void_test_decl(test_nghttp2_pack_settings_payload); 138 munit_void_test_decl(test_nghttp2_session_stream_dep_add); 139 munit_void_test_decl(test_nghttp2_session_stream_dep_remove); 140 munit_void_test_decl(test_nghttp2_session_stream_dep_add_subtree); 141 munit_void_test_decl(test_nghttp2_session_stream_dep_remove_subtree); 142 munit_void_test_decl( 143 test_nghttp2_session_stream_dep_all_your_stream_are_belong_to_us); 144 munit_void_test_decl(test_nghttp2_session_stream_attach_item); 145 munit_void_test_decl(test_nghttp2_session_stream_attach_item_subtree); 146 munit_void_test_decl(test_nghttp2_session_stream_get_state); 147 munit_void_test_decl(test_nghttp2_session_stream_get_something); 148 munit_void_test_decl(test_nghttp2_session_find_stream); 149 munit_void_test_decl(test_nghttp2_session_keep_closed_stream); 150 munit_void_test_decl(test_nghttp2_session_keep_idle_stream); 151 munit_void_test_decl(test_nghttp2_session_detach_idle_stream); 152 munit_void_test_decl(test_nghttp2_session_large_dep_tree); 153 munit_void_test_decl(test_nghttp2_session_graceful_shutdown); 154 munit_void_test_decl(test_nghttp2_session_on_header_temporal_failure); 155 munit_void_test_decl(test_nghttp2_session_recv_client_magic); 156 munit_void_test_decl(test_nghttp2_session_delete_data_item); 157 munit_void_test_decl(test_nghttp2_session_open_idle_stream); 158 munit_void_test_decl(test_nghttp2_session_cancel_reserved_remote); 159 munit_void_test_decl(test_nghttp2_session_reset_pending_headers); 160 munit_void_test_decl(test_nghttp2_session_send_data_callback); 161 munit_void_test_decl(test_nghttp2_session_on_begin_headers_temporal_failure); 162 munit_void_test_decl(test_nghttp2_session_defer_then_close); 163 munit_void_test_decl(test_nghttp2_session_detach_item_from_closed_stream); 164 munit_void_test_decl(test_nghttp2_session_flooding); 165 munit_void_test_decl(test_nghttp2_session_change_stream_priority); 166 munit_void_test_decl(test_nghttp2_session_change_extpri_stream_priority); 167 munit_void_test_decl(test_nghttp2_session_create_idle_stream); 168 munit_void_test_decl(test_nghttp2_session_repeated_priority_change); 169 munit_void_test_decl(test_nghttp2_session_repeated_priority_submission); 170 munit_void_test_decl(test_nghttp2_session_set_local_window_size); 171 munit_void_test_decl(test_nghttp2_session_cancel_from_before_frame_send); 172 munit_void_test_decl(test_nghttp2_session_too_many_settings); 173 munit_void_test_decl(test_nghttp2_session_removed_closed_stream); 174 munit_void_test_decl(test_nghttp2_session_pause_data); 175 munit_void_test_decl(test_nghttp2_session_no_closed_streams); 176 munit_void_test_decl(test_nghttp2_session_set_stream_user_data); 177 munit_void_test_decl(test_nghttp2_session_no_rfc7540_priorities); 178 munit_void_test_decl(test_nghttp2_session_server_fallback_rfc7540_priorities); 179 munit_void_test_decl(test_nghttp2_session_stream_reset_ratelim); 180 munit_void_test_decl(test_nghttp2_http_mandatory_headers); 181 munit_void_test_decl(test_nghttp2_http_content_length); 182 munit_void_test_decl(test_nghttp2_http_content_length_mismatch); 183 munit_void_test_decl(test_nghttp2_http_non_final_response); 184 munit_void_test_decl(test_nghttp2_http_trailer_headers); 185 munit_void_test_decl(test_nghttp2_http_ignore_regular_header); 186 munit_void_test_decl(test_nghttp2_http_ignore_content_length); 187 munit_void_test_decl(test_nghttp2_http_record_request_method); 188 munit_void_test_decl(test_nghttp2_http_push_promise); 189 munit_void_test_decl(test_nghttp2_http_head_method_upgrade_workaround); 190 munit_void_test_decl( 191 test_nghttp2_http_no_rfc9113_leading_and_trailing_ws_validation); 192 193 #endif /* NGHTTP2_SESSION_TEST_H */ 194