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 32void test_nghttp2_session_recv(void); 33void test_nghttp2_session_recv_invalid_stream_id(void); 34void test_nghttp2_session_recv_invalid_frame(void); 35void test_nghttp2_session_recv_eof(void); 36void test_nghttp2_session_recv_data(void); 37void test_nghttp2_session_recv_data_no_auto_flow_control(void); 38void test_nghttp2_session_recv_continuation(void); 39void test_nghttp2_session_recv_headers_with_priority(void); 40void test_nghttp2_session_recv_headers_with_padding(void); 41void test_nghttp2_session_recv_headers_early_response(void); 42void test_nghttp2_session_recv_headers_for_closed_stream(void); 43void test_nghttp2_session_recv_headers_with_extpri(void); 44void test_nghttp2_session_server_recv_push_response(void); 45void test_nghttp2_session_recv_premature_headers(void); 46void test_nghttp2_session_recv_unknown_frame(void); 47void test_nghttp2_session_recv_unexpected_continuation(void); 48void test_nghttp2_session_recv_settings_header_table_size(void); 49void test_nghttp2_session_recv_too_large_frame_length(void); 50void test_nghttp2_session_recv_extension(void); 51void test_nghttp2_session_recv_altsvc(void); 52void test_nghttp2_session_recv_origin(void); 53void test_nghttp2_session_recv_priority_update(void); 54void test_nghttp2_session_continue(void); 55void test_nghttp2_session_add_frame(void); 56void test_nghttp2_session_on_request_headers_received(void); 57void test_nghttp2_session_on_response_headers_received(void); 58void test_nghttp2_session_on_headers_received(void); 59void test_nghttp2_session_on_push_response_headers_received(void); 60void test_nghttp2_session_on_priority_received(void); 61void test_nghttp2_session_on_rst_stream_received(void); 62void test_nghttp2_session_on_settings_received(void); 63void test_nghttp2_session_on_push_promise_received(void); 64void test_nghttp2_session_on_ping_received(void); 65void test_nghttp2_session_on_goaway_received(void); 66void test_nghttp2_session_on_window_update_received(void); 67void test_nghttp2_session_on_data_received(void); 68void test_nghttp2_session_on_data_received_fail_fast(void); 69void test_nghttp2_session_on_altsvc_received(void); 70void test_nghttp2_session_send_headers_start_stream(void); 71void test_nghttp2_session_send_headers_reply(void); 72void test_nghttp2_session_send_headers_frame_size_error(void); 73void test_nghttp2_session_send_headers_push_reply(void); 74void test_nghttp2_session_send_rst_stream(void); 75void test_nghttp2_session_send_push_promise(void); 76void test_nghttp2_session_is_my_stream_id(void); 77void test_nghttp2_session_upgrade2(void); 78void test_nghttp2_session_reprioritize_stream(void); 79void test_nghttp2_session_reprioritize_stream_with_idle_stream_dep(void); 80void test_nghttp2_submit_data(void); 81void test_nghttp2_submit_data_read_length_too_large(void); 82void test_nghttp2_submit_data_read_length_smallest(void); 83void test_nghttp2_submit_data_twice(void); 84void test_nghttp2_submit_request_with_data(void); 85void test_nghttp2_submit_request_without_data(void); 86void test_nghttp2_submit_response_with_data(void); 87void test_nghttp2_submit_response_without_data(void); 88void test_nghttp2_submit_response_push_response(void); 89void test_nghttp2_submit_trailer(void); 90void test_nghttp2_submit_headers_start_stream(void); 91void test_nghttp2_submit_headers_reply(void); 92void test_nghttp2_submit_headers_push_reply(void); 93void test_nghttp2_submit_headers(void); 94void test_nghttp2_submit_headers_continuation(void); 95void test_nghttp2_submit_headers_continuation_extra_large(void); 96void test_nghttp2_submit_priority(void); 97void test_nghttp2_submit_settings(void); 98void test_nghttp2_submit_settings_update_local_window_size(void); 99void test_nghttp2_submit_settings_multiple_times(void); 100void test_nghttp2_submit_push_promise(void); 101void test_nghttp2_submit_window_update(void); 102void test_nghttp2_submit_window_update_local_window_size(void); 103void test_nghttp2_submit_shutdown_notice(void); 104void test_nghttp2_submit_invalid_nv(void); 105void test_nghttp2_submit_extension(void); 106void test_nghttp2_submit_altsvc(void); 107void test_nghttp2_submit_origin(void); 108void test_nghttp2_submit_priority_update(void); 109void test_nghttp2_submit_rst_stream(void); 110void test_nghttp2_session_open_stream(void); 111void test_nghttp2_session_open_stream_with_idle_stream_dep(void); 112void test_nghttp2_session_get_next_ob_item(void); 113void test_nghttp2_session_pop_next_ob_item(void); 114void test_nghttp2_session_reply_fail(void); 115void test_nghttp2_session_max_concurrent_streams(void); 116void test_nghttp2_session_stop_data_with_rst_stream(void); 117void test_nghttp2_session_defer_data(void); 118void test_nghttp2_session_flow_control(void); 119void test_nghttp2_session_flow_control_data_recv(void); 120void test_nghttp2_session_flow_control_data_with_padding_recv(void); 121void test_nghttp2_session_data_read_temporal_failure(void); 122void test_nghttp2_session_on_stream_close(void); 123void test_nghttp2_session_on_ctrl_not_send(void); 124void test_nghttp2_session_get_outbound_queue_size(void); 125void test_nghttp2_session_get_effective_local_window_size(void); 126void test_nghttp2_session_set_option(void); 127void test_nghttp2_session_data_backoff_by_high_pri_frame(void); 128void test_nghttp2_session_pack_data_with_padding(void); 129void test_nghttp2_session_pack_headers_with_padding(void); 130void test_nghttp2_pack_settings_payload(void); 131void test_nghttp2_session_stream_dep_add(void); 132void test_nghttp2_session_stream_dep_remove(void); 133void test_nghttp2_session_stream_dep_add_subtree(void); 134void test_nghttp2_session_stream_dep_remove_subtree(void); 135void test_nghttp2_session_stream_dep_all_your_stream_are_belong_to_us(void); 136void test_nghttp2_session_stream_attach_item(void); 137void test_nghttp2_session_stream_attach_item_subtree(void); 138void test_nghttp2_session_stream_get_state(void); 139void test_nghttp2_session_stream_get_something(void); 140void test_nghttp2_session_find_stream(void); 141void test_nghttp2_session_keep_closed_stream(void); 142void test_nghttp2_session_keep_idle_stream(void); 143void test_nghttp2_session_detach_idle_stream(void); 144void test_nghttp2_session_large_dep_tree(void); 145void test_nghttp2_session_graceful_shutdown(void); 146void test_nghttp2_session_on_header_temporal_failure(void); 147void test_nghttp2_session_recv_client_magic(void); 148void test_nghttp2_session_delete_data_item(void); 149void test_nghttp2_session_open_idle_stream(void); 150void test_nghttp2_session_cancel_reserved_remote(void); 151void test_nghttp2_session_reset_pending_headers(void); 152void test_nghttp2_session_send_data_callback(void); 153void test_nghttp2_session_on_begin_headers_temporal_failure(void); 154void test_nghttp2_session_defer_then_close(void); 155void test_nghttp2_session_detach_item_from_closed_stream(void); 156void test_nghttp2_session_flooding(void); 157void test_nghttp2_session_change_stream_priority(void); 158void test_nghttp2_session_change_extpri_stream_priority(void); 159void test_nghttp2_session_create_idle_stream(void); 160void test_nghttp2_session_repeated_priority_change(void); 161void test_nghttp2_session_repeated_priority_submission(void); 162void test_nghttp2_session_set_local_window_size(void); 163void test_nghttp2_session_cancel_from_before_frame_send(void); 164void test_nghttp2_session_too_many_settings(void); 165void test_nghttp2_session_removed_closed_stream(void); 166void test_nghttp2_session_pause_data(void); 167void test_nghttp2_session_no_closed_streams(void); 168void test_nghttp2_session_set_stream_user_data(void); 169void test_nghttp2_session_no_rfc7540_priorities(void); 170void test_nghttp2_session_server_fallback_rfc7540_priorities(void); 171void test_nghttp2_session_stream_reset_ratelim(void); 172void test_nghttp2_http_mandatory_headers(void); 173void test_nghttp2_http_content_length(void); 174void test_nghttp2_http_content_length_mismatch(void); 175void test_nghttp2_http_non_final_response(void); 176void test_nghttp2_http_trailer_headers(void); 177void test_nghttp2_http_ignore_regular_header(void); 178void test_nghttp2_http_ignore_content_length(void); 179void test_nghttp2_http_record_request_method(void); 180void test_nghttp2_http_push_promise(void); 181void test_nghttp2_http_head_method_upgrade_workaround(void); 182void test_nghttp2_http_no_rfc9113_leading_and_trailing_ws_validation(void); 183 184#endif /* NGHTTP2_SESSION_TEST_H */ 185