recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
recive_data_global.send_status_list.clear();
- memcpy(request.c_array(), "GET / HTTP/1.0\r\nCookie: monkey=123456789012345678901"
- "234567890123456789012345678901234567890123456789012345678901", 112);
- request_len = 112;
+ memcpy(request.c_array(), "GET / HTTP/1.0\r\nHOST: 192.168.120.1\r\nCookie: "
+ "monkey=1\r\nContent-Length: 43\r\n\r\n0123456789012345678901234567890123456789012", 120);
+ request_len = 120;
ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
- BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
+ BOOST_CHECK_EQUAL(ret, REALSERVER_CONNECT);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer, recive_data_global.recive_buffer1);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, 112u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, 120u);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 0u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
//メモリの内容をチェックする
- int cmp_ret = memcmp(request.c_array(), recive_data_global.recive_buffer, 112u);
+ int cmp_ret = memcmp(request.c_array(), recive_data_global.recive_buffer, 120u);
BOOST_CHECK_EQUAL(cmp_ret, 0);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_EDIT);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 0u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 120u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 112u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
cout << "[106]------------------------------------------" << endl;
// unit_test[106] データバッファ残サイズ < リクエストデータサイズ
BOOST_CHECK_EQUAL(ret, REALSERVER_CONNECT);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, USE_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 30u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 20u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(ret, REALSERVER_CONNECT);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, USE_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 30u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 20u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_EDIT);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 52u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 56u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 8u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->status, SEND_NG);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->edit_division, EDIT_DIVISION_NO_EDIT);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_rest_size, 0u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 56u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 4u);
cout << "[131]------------------------------------------" << endl;
// unit_test[131] リクエストデータ残サイズ = 0
BOOST_CHECK_EQUAL(ret, REALSERVER_CONNECT);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, USE_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 30u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 20u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
recive_data_global.send_status_list.clear();
- memcpy(request.c_array(), "EST / HTTP/1.0234567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
+ memcpy(request.c_array(), "EST / HTTP/1.0\r\n4567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
request_len = REQUEST_BUFFER_SIZE;
ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
recive_data_global.send_status_list.clear();
- memcpy(request.c_array(), "GET / HTTP/1.2234567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
+ memcpy(request.c_array(), "GET / HTTP/1.22\r\n567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
request_len = REQUEST_BUFFER_SIZE;
ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
- BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
+ BOOST_CHECK_EQUAL(ret, REALSERVER_CONNECT);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 50u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_EDIT);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
cout << "[136]------------------------------------------" << endl;
// unit_test[136] リクエストデータ残サイズ > 0
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 50u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
cout << "[139]------------------------------------------" << endl;
// unit_test[139] リクエストデータ残サイズ > 0
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 50u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
cout << "[140]------------------------------------------" << endl;
// unit_test[140] リクエストデータ残サイズ > 0
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 38u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 38u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 12u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 0u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->status, SEND_NG);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 38u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 12u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
cout << "[141]------------------------------------------" << endl;
// unit_test[141] リクエストデータ残サイズ > 0
// unit_test[142] リクエストデータ残サイズ > 0
// unit_test[142] ●出力の送信状態リスト: 1:送信待 2:送信待
recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
- recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
+ recive_data_global.recive_buffer_rest_size = 78;
recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
recive_data_global.send_status_list.clear();
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 2u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 48u);
- init_send_status(send_status_temp);
- send_status_temp.status = SEND_NG;
- send_status_temp.send_offset = 0;
- send_status_temp.send_end_size = 0;
- send_status_temp.unsend_size = 12;
- recive_data_global.send_status_list.push_back(send_status_temp);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 2u);
cout << "[144]------------------------------------------" << endl;
// unit_test[144] リクエストデータ残サイズ > 0
recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
recive_data_global.send_status_list.clear();
- memcpy(request.c_array(), "GET / HTTP/1.0234567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
+ memcpy(request.c_array(), "GET / HTTP/1.0\r\n4567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
request_len = REQUEST_BUFFER_SIZE;
ret = handle_client_recv(boost::this_thread::get_id(), request, request_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_CONNECT);
+ BOOST_CHECK_EQUAL(ret, CLIENT_RECV);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
init_send_status(send_status_temp);
send_status_temp.status = SEND_OK;
- send_status_temp.send_offset = 10;
+ send_status_temp.send_offset = 0;
send_status_temp.send_end_size = 0;
send_status_temp.send_possible_size = MAX_BUFFER_SIZE - 10;
send_status_temp.edit_division = EDIT_DIVISION_EDIT;
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_end_size, MAX_BUFFER_SIZE - 12u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 2u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 10u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
cout << "[170]------------------------------------------" << endl;
init_send_status(send_status_temp);
send_status_temp.status = SEND_OK;
- send_status_temp.send_offset = 10;
+ send_status_temp.send_offset = 0;
send_status_temp.send_end_size = 0;
send_status_temp.send_possible_size = MAX_BUFFER_SIZE - 10;
send_status_temp.edit_division = EDIT_DIVISION_EDIT;
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_end_size, MAX_BUFFER_SIZE - 12u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 2u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 10u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_NO_EDIT);
cout << "[173]------------------------------------------" << endl;
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_EDIT);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data,
- "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n");
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 40u);
+ "X-Forwarded-For: 10.10.2.2, 10.10.10.1");
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 38u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->insert_posission,
MAX_BUFFER_SIZE - 1u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 28u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
cout << "[174]------------------------------------------" << endl;
// unit_test[174] 編集データリストが空でない場合
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_end_size, MAX_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 32u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 30u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_EDIT);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data,
- "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n");
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 40u);
+ "X-Forwarded-For: 10.10.2.2, 10.10.10.1");
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 38u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->insert_posission,
MAX_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 28u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
cout << "[175]------------------------------------------" << endl;
// unit_test[175] 編集データリストが空でない場合
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_division, EDIT_DIVISION_EDIT);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data,
- "X-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n");
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 40u);
+ "X-Forwarded-For: 10.10.2.2, 10.10.10.1");
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->data_size, 38u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->insert_posission,
MAX_BUFFER_SIZE + 2u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 28u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->edit_data_list.begin()->replace_size, 26u);
cout << "[176]------------------------------------------" << endl;
// unit_test[176] 編集区分 = 編集なし
real_recive_data.send_status_list.clear();
real_recive_data.send_status_list.push_back(real_send_status);
- thread_data.client_endpoint_tcp = endpoint;
+ thread_data.client_endpoint_tcp = endpoint;
thread_data.recive_data_map.clear();
thread_data.recive_data_map.insert(std::pair<boost::asio::ip::tcp::endpoint, recive_data>(endpoint,real_recive_data));
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_realserver_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_realserver_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_realserver_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
+ send_status = thread_data.recive_data_map[endpoint].send_status_list.back().status;
- BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
+ BOOST_CHECK_EQUAL(event_status, REALSERVER_CONNECT); //遷移先ステータスを設定する
BOOST_CHECK_EQUAL(send_status, SEND_OK); //送信データ残サイズ > 0,送信状態に送信継続を設定する
cout << "[198]------------------------------------------" << endl;
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_realserver_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
+ send_status = thread_data.recive_data_map[endpoint].send_status_list.back().status;
BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
- BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信データ残サイズ = 0,送信状態に送信済を設定する
+ BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信データ残サイズ > 0,送信状態に送信済を設定する
cout << "[199]------------------------------------------" << endl;
//unit_test[199] 送信状態->SEND_END
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_realserver_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_realserver_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
+ send_status = thread_data.recive_data_map[endpoint].send_status_list.back().status;
- BOOST_CHECK_EQUAL(event_status, REALSERVER_CONNECT); //遷移先ステータスを設定する
+ BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信済を設定する
cout << "[201]------------------------------------------" << endl;
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, 30u);
//送信バッファの内容をチェックする。
int cmp_ret = memcmp(recive_data_global.recive_buffer, send_buffer.c_array(), 30);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, 30u);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(recive_data_global.recive_buffer, send_buffer.c_array(), 30);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, 50u);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(recive_data_global.recive_buffer, send_buffer.c_array(), 50);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), "POST /sorry.htm HTTP/1.0\r\nX-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n", 66);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), "POST /sorry.htm HTTP/1.0\r\nX-Forwarded-For: 10.10.10.1\r\n", 55);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, 44u);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), recive_data_global.recive_buffer + MAX_BUFFER_SIZE, 2);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, 44u);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), recive_data_global.recive_buffer + MAX_BUFFER_SIZE, 2);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), "POST ", 5);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), "POST /sorry.htm HTTP/1.0\r\nX-Forwarded-For: 10.10.2.2, 10.10.10.1\r\n", 66);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), "POST /sorry.htm", 15);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, 88u);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(),
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, 88u);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(),
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), "POST /sorry.htm", 15);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE - 2u);
//送信バッファの内容をチェックする。
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), "POST /sorry.htm", 15);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), "POST /sorry.htm", 15);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, 50u);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(recive_data_global.recive_buffer, send_buffer.c_array(), 50);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(recive_data_global.recive_buffer, send_buffer.c_array(), MAX_BUFFER_SIZE);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, MAX_BUFFER_SIZE);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(recive_data_global.recive_buffer, send_buffer.c_array(), MAX_BUFFER_SIZE);
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, 78u);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(),
ret = handle_sorryserver_connect(boost::this_thread::get_id(), send_buffer, send_buffer_len);
- BOOST_CHECK_EQUAL(ret, REALSERVER_SEND);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_SEND);
BOOST_CHECK_EQUAL(send_buffer_len, 49u);
//送信バッファの内容をチェックする。
cmp_ret = memcmp(send_buffer.c_array(), "GET /sorry.htm HTTP/1.0\r\nHOST: KKKKKKKKKKKKKK\r\n\r\n", 49);
//unit_test[247] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
sorr_send_status.send_possible_size = 0u;//送信可能データサイズ = 0
sorr_send_status.status = SEND_OK;
- sorr_send_status.send_rest_size = 1u;//送信データ残サイズ > 0
+ sorr_send_status.send_rest_size = 0u;//送信データ残サイズ = 0
sorr_send_status1.status = SEND_OK;//送信状態->SEND_OK
sorr_recive_data.send_status_list.clear();
sorr_recive_data.send_status_list.push_back(sorr_send_status);
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_sorryserver_send(boost::this_thread::get_id());
- BOOST_CHECK_EQUAL(event_status, CLIENT_RECV); //遷移先ステータスを設定する
+ BOOST_CHECK_EQUAL(event_status, SORRYSERVER_CONNECT); //遷移先ステータスを設定する
cout << "[251]------------------------------------------" << endl;
//unit_test[251] 送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0
BOOST_CHECK_EQUAL(event_status,FINALIZE); //送信状態に送信待を設定する
}
+
//handle_realserver_recv(tcp) 郎希倹
void handle_realserver_recv_tcp_test() {
boost::asio::ip::tcp::endpoint rs_endpoint;
response_len = 80;
ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
- BOOST_CHECK_EQUAL(ret, FINALIZE);;
+ BOOST_CHECK_EQUAL(ret, FINALIZE);
cout << "[261]------------------------------------------" << endl;
// unit_test[261] new失敗の場合
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, MAX_BUFFER_SIZE);
// unit_test_part1 begin:
- //(異常系)
send_status status_END;
init_send_status(status_END);
status_END.status = SEND_END;
}
ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
- std::cout << "[" << 259 + i << "]------------------------------------------" << std::endl;
+ std::cout << "[" << 345 + i << "]------------------------------------------" << std::endl;
BOOST_CHECK_EQUAL(ret, FINALIZE);
}
BOOST_CHECK_EQUAL(ret, REALSERVER_RECV);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, USE_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 0u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 18u);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer, recive_data_global.recive_buffer1);
//メモリの内容をチェックする
send_status_temp.status = SEND_CONTINUE;
send_status_temp.send_offset = 40;
send_status_temp.send_end_size = 39;
- send_status_temp.send_rest_size = 20;
+ send_status_temp.send_rest_size = 50;
recive_data_global.send_status_list.push_back(send_status_temp);
//未送信データを生成する
memcpy(recive_data_global.recive_buffer + 40, "HTTP/1.1 200 OK\r\nContent-Length: 50\r\n\r\n", 39);
//未送信データを生成する
recive_data_global.recive_buffer[89] = 'H';
- memcpy(response.c_array(), "TTP/1.9 200 OK234567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
+ memcpy(response.c_array(), "TTP/1.9 200 OK\r\n4567890123456789012345678901234567", REQUEST_BUFFER_SIZE);
response_len = REQUEST_BUFFER_SIZE;
ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 51u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
cout << "[317]------------------------------------------" << endl;
// unit_test[317] 送信状態が送信不可の場合
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 2u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 52u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 57u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->status, SEND_NG);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_rest_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 8u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 57u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 3u);
cout << "[322]------------------------------------------" << endl;
// unit_test[322] 送信状態が送信不可の場合
BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, USE_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 30u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 20u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, USE_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 30u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 20u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 2u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 52u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 57u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->status, SEND_NG);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_rest_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 8u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 57u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 3u);
cout << "[325]------------------------------------------" << endl;
// unit_test[325] レスポンスデータ残サイズ = 0
BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, USE_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 30u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 20u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 2u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 48u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 49u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->status, SEND_NG);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_rest_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 48u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 2u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 49u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 1u);
cout << "[327]------------------------------------------" << endl;
// unit_test[327] レスポンスデータ残サイズ > 0
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 50u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
cout << "[331]------------------------------------------" << endl;
// unit_test[331] レスポンスデータ残サイズ > 0
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 50u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
cout << "[332]------------------------------------------" << endl;
// unit_test[332] レスポンスデータ残サイズ > 0
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 38u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 38u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 12u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 0u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->status, SEND_NG);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 38u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 12u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
cout << "[333]------------------------------------------" << endl;
// unit_test[333] レスポンスデータ残サイズ > 0
// unit_test[334] レスポンスデータ残サイズ > 0
// unit_test[334] ●出力の送信状態リスト: 1:送信待 2:送信待
recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
- recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
+ recive_data_global.recive_buffer_rest_size = 76;
recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
recive_data_global.send_status_list.clear();
recive_data_global.send_status_list.push_back(send_status_temp);
//未送信データ
- memcpy(recive_data_global.recive_buffer, "HTTP/1.0 200 O", 12);
+ memcpy(recive_data_global.recive_buffer, "HTTP/1.0 200 O", 14);
memcpy(response.c_array(), "K\r\nCookie: m=1\r\n\r\nHTTP/1.0 200 OK\r\nCookie: m=1\r\n\r\n", 50);
response_len = 50;
ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
- BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
+ BOOST_CHECK_EQUAL(ret, REALSERVER_RECV);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
- BOOST_CHECK_EQUAL(ret, SORRYSERVER_CONNECT);
+ BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
cout << "[339]------------------------------------------" << endl;
// unit_test[339] 送信可能データなし
ret = handle_realserver_recv(boost::this_thread::get_id(), rs_endpoint, response, response_len);
- BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
+ BOOST_CHECK_EQUAL(ret, REALSERVER_RECV);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 51u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 51u);
cout << "[403]------------------------------------------" << endl;
// unit_test[403] 送信状態が送信不可の場合
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 2u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 52u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 57u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->status, SEND_NG);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_rest_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 8u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 57u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 3u);
cout << "[408]------------------------------------------" << endl;
// unit_test[408] 送信状態が送信不可の場合
BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, USE_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 30u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 20u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, USE_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 30u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 20u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 2u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 52u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 57u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->status, SEND_NG);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_rest_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 8u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 57u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 3u);
cout << "[411]------------------------------------------" << endl;
// unit_test[411] レスポンスデータ残サイズ = 0
BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_max_size, USE_BUFFER_SIZE);
- BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 30u);
+ BOOST_CHECK_EQUAL(recive_data_global.recive_buffer_rest_size, 20u);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 2u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 48u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 49u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->status, SEND_NG);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_rest_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 48u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 2u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 49u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 1u);
cout << "[413]------------------------------------------" << endl;
// unit_test[413] レスポンスデータ残サイズ > 0
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 50u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
cout << "[417]------------------------------------------" << endl;
// unit_test[417] レスポンスデータ残サイズ > 0
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_OK);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 50u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 50u);
cout << "[418]------------------------------------------" << endl;
// unit_test[418] レスポンスデータ残サイズ > 0
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 0u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 38u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 38u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->unsend_size, 12u);
- BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_possible_size, 0u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->status, SEND_NG);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_offset, 38u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->unsend_size, 12u);
+ BOOST_CHECK_EQUAL(recive_data_global.send_status_list.rbegin()->send_possible_size, 0u);
cout << "[419]------------------------------------------" << endl;
// unit_test[419] レスポンスデータ残サイズ > 0
// unit_test[420] レスポンスデータ残サイズ > 0
// unit_test[420] ●出力の送信状態リスト: 1:送信待 2:送信待
recive_data_global.recive_buffer_max_size = USE_BUFFER_SIZE;
- recive_data_global.recive_buffer_rest_size = USE_BUFFER_SIZE;
+ recive_data_global.recive_buffer_rest_size = 76;
recive_data_global.recive_buffer = recive_data_global.recive_buffer1;
recive_data_global.send_status_list.clear();
recive_data_global.send_status_list.push_back(send_status_temp);
//未送信データ
- memcpy(recive_data_global.recive_buffer, "HTTP/1.0 200 O", 12);
+ memcpy(recive_data_global.recive_buffer, "HTTP/1.0 200 O", 14);
memcpy(response.c_array(), "K\r\nCookie: m=1\r\n\r\nHTTP/1.0 200 OK\r\nCookie: m=1\r\n\r\n", 50);
response_len = 50;
ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
- BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_RECV);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_offset, 0u);
ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
- BOOST_CHECK_EQUAL(ret, SORRYSERVER_CONNECT);
+ BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
cout << "[425]------------------------------------------" << endl;
// unit_test[425] 送信可能データなし
ret = handle_sorryserver_recv(boost::this_thread::get_id(), sorry_endpoint, response, response_len);
- BOOST_CHECK_EQUAL(ret, CLIENT_CONNECTION_CHECK);
+ BOOST_CHECK_EQUAL(ret, SORRYSERVER_RECV);
BOOST_REQUIRE_EQUAL(recive_data_global.send_status_list.size(), 1u);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->status, SEND_NG);
BOOST_CHECK_EQUAL(recive_data_global.send_status_list.begin()->send_rest_size, 0u);
std::string chk1 = "bc";
//送信可能データを先頭から送信可能データサイズ分、送信バッファにコピーする
- BOOST_CHECK_EQUAL(sbf1.data(), chk1.c_str());
+ BOOST_CHECK_EQUAL(memcmp(sbf1.data(), chk1.c_str(), 2u), 0);
//送信済データサイズに送信可能データサイズを設定する
BOOST_CHECK_EQUAL(data1.recive_data_map[ep1].send_status_list.rbegin()->send_end_size, 2u);
//送信可能データサイズに0を設定する
std::string chk2 = "bcdefg";
//送信可能データを先頭から送信バッファサイズ分、送信バッファにコピーする
- BOOST_CHECK_EQUAL(sbf2.data(), chk2.c_str());
+ BOOST_CHECK_EQUAL(memcmp(sbf2.data(), chk2.c_str(), 6u), 0);
std::size_t sbfsize = sbf2.max_size();
//送信済データサイズに送信バッファサイズを設定する
chk3 = (char*)malloc(sbf_size - 2);
memset(chk3, 'a', sbf_size - 2);
//送信可能データを先頭から送信可能データサイズ分、送信バッファにコピーする
- BOOST_CHECK_EQUAL(sbf3.data(), chk3);
+ BOOST_CHECK_EQUAL(memcmp(sbf3.data(), chk3, sbf_size - 2), 0);
//送信済データサイズに送信可能データサイズを設定する
BOOST_CHECK_EQUAL(data3.recive_data_map[ep3].send_status_list.rbegin()->send_end_size, sbf_size);
//送信可能データサイズに0を設定する
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_client_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_client_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
+ send_status = thread_data.recive_data_map[endpoint].send_status_list.back().status;
BOOST_CHECK_EQUAL(event_status, CLIENT_CONNECTION_CHECK); //遷移先ステータスを設定する
BOOST_CHECK_EQUAL(send_status, SEND_OK);
//unit_test[451] 送信状態->SEND_END,SEND_OK/送信可能データサイズ = 0/編集データリスト=0,送信データ残サイズ > 0/送信可能データなし/終了フラグがONの場合
//unit_test[451] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
client_send_status.status = SEND_END;//送信状態->SEND_END
- client_send_status1.send_rest_size = 0u; //送信データ残サイズ = 0
+ client_send_status1.send_rest_size = 1u; //送信データ残サイズ > 0
client_send_status1.send_possible_size = 0u; //送信可能データサイズ = 0
client_send_status1.status = SEND_OK;
client_recive_data.send_status_list.clear();
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_client_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
+ send_status = thread_data.recive_data_map[endpoint].send_status_list.back().status;
BOOST_CHECK_EQUAL(event_status, CLIENT_DISCONNECT); //遷移先ステータスを設定する
BOOST_CHECK_EQUAL(send_status, SEND_CONTINUE); //送信可能データサイズ = 0,送信データ残サイズ > 0,送信状態に送信待を設定する
BOOST_CHECK_EQUAL(event_status, FINALIZE); //遷移先ステータスを設定する
cout << "[453]------------------------------------------" << endl;
- //unit_test[453] 送信状態->SEND_END,SEND_OK/送信可能データあり/終了フラグがONの場合
+ //unit_test[453] 送信状態->SEND_END,SEND_OK/終了フラグがONの場合
//unit_test[453] test data: 送信状態に送信待を設定,遷移先ステータスを設定する
client_send_status.status = SEND_END;// 送信状態->SEND_END
- client_send_status.status = SEND_OK; //送信状態->SEND_OK
+ client_send_status1.status = SEND_OK; //送信状態->SEND_OK
client_send_status1.send_possible_size = 0u;
client_send_status1.send_rest_size = 0u;
client_recive_data.send_status_list.clear();
this->session_thread_data_map.clear();
this->session_thread_data_map.insert(std::pair<boost::thread::id, session_thread_data_sessionless*>(boost::this_thread::get_id(),&thread_data));
event_status = this->handle_client_send(boost::this_thread::get_id());
- send_status = thread_data.recive_data_map[endpoint].send_status_list.front().status;
+ send_status = thread_data.recive_data_map[endpoint].send_status_list.back().status;
BOOST_CHECK_EQUAL(event_status, CLIENT_DISCONNECT); //遷移先ステータスを設定する
BOOST_CHECK_EQUAL(send_status, SEND_END); //送信状態に送信待を設定する
// unit_test[123] test data:handle_client_recv() return REALSERVER_SELECT, data_size, data_begain_offset
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
- up_thread_data->data_size = 0;
- up_thread_data->data_begain_offset = 0;
- up_thread_data->current_record_rest_size = 10;
+ up_thread_data->data_size = 0u;
+ up_thread_data->data_begain_offset = 0u;
+ up_thread_data->current_record_rest_size = 10u;
recvlen = 3;
for(int i=0; i<recvlen; i++)
{
{
recvbuffer[i] = 0x11;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array() + up_thread_data->data_begain_offset, up_thread_data->data_size);
memcpy(mem_cmp_buffer + up_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = up_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x12;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array() + up_thread_data->data_begain_offset, up_thread_data->data_size);
memcpy(mem_cmp_buffer + up_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = up_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x13;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array() + up_thread_data->data_begain_offset, up_thread_data->data_size);
memcpy(mem_cmp_buffer + up_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = up_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x13;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array() + up_thread_data->data_begain_offset, up_thread_data->data_size);
memcpy(mem_cmp_buffer + up_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = up_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x14;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array() + up_thread_data->data_begain_offset, up_thread_data->data_size);
memcpy(mem_cmp_buffer + up_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = up_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x15;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array() + up_thread_data->data_begain_offset, up_thread_data->data_size);
memcpy(mem_cmp_buffer + up_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = up_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x16;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array() + up_thread_data->data_begain_offset, up_thread_data->data_size);
memcpy(mem_cmp_buffer + up_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = up_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x17;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array() + up_thread_data->data_begain_offset, up_thread_data->data_size);
memcpy(mem_cmp_buffer + up_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = up_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x18;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array() + up_thread_data->data_begain_offset, up_thread_data->data_size);
memcpy(mem_cmp_buffer + up_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = up_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x19;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array() + up_thread_data->data_begain_offset, up_thread_data->data_size);
memcpy(mem_cmp_buffer + up_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = up_thread_data->data_size + recvlen;
recvbuffer, recvlen);
BOOST_CHECK_EQUAL(status, FINALIZE);
- // unit_test[144] end_flag = END_FLAG_OFF, data_size+recvlen > MAX_BUFFER_SIZE +76
+ // unit_test[144] end_flag = END_FLAG_OFF, data_size+recvlen > MAX_SSLID_BUFFER_SIZE
// unit_test[144] test data:handle_client_recv() return FINALIZE, end_flag=END_FLAG_ON
up_thread_data = new session_thread_data_sslid;
up_thread_data->end_flag = END_FLAG_OFF;
{
up_thread_data->data_buffer[i] = 0x01;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
mem_cmp_length = up_thread_data->data_size;
this->session_thread_data_map[boost::this_thread::get_id()]
{
up_thread_data->data_buffer[i] = 0x02;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
mem_cmp_length = up_thread_data->data_size;
this->session_thread_data_map[boost::this_thread::get_id()]
{
up_thread_data->data_buffer[i] = 0x03;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
mem_cmp_length = up_thread_data->data_size;
this->session_thread_data_map[boost::this_thread::get_id()]
{
up_thread_data->data_buffer[i] = 0x04;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
mem_cmp_length = up_thread_data->data_size;
this->session_thread_data_map[boost::this_thread::get_id()]
{
up_thread_data->data_buffer[i] = 0x05;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
mem_cmp_length = MAX_BUFFER_SIZE;
this->session_thread_data_map[boost::this_thread::get_id()]
{
up_thread_data->data_buffer[i] = 0x06;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
mem_cmp_length = MAX_BUFFER_SIZE;
this->session_thread_data_map[boost::this_thread::get_id()]
{
up_thread_data->data_buffer[i] = 0x07;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
mem_cmp_length = up_thread_data->current_record_rest_size;
this->session_thread_data_map[boost::this_thread::get_id()]
{
up_thread_data->data_buffer[i] = 0x08;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
mem_cmp_length = up_thread_data->current_record_rest_size;
this->session_thread_data_map[boost::this_thread::get_id()]
{
up_thread_data->data_buffer[i] = 0x09;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
mem_cmp_length = MAX_BUFFER_SIZE;
this->session_thread_data_map[boost::this_thread::get_id()]
session_thread_data_sslid* up_thread_data;
EVENT_TAG status;
- // unit_test[180] data_size = 0
+ // unit_test[180] data_size = 0,data_begain_offset = 0
+ // unit_test[180] test data:handle_realserver_send() return CLIENT_RECV
+ up_thread_data = new session_thread_data_sslid;
+ up_thread_data->data_size = 0u;
+ up_thread_data->data_begain_offset = 0u;
+ this->session_thread_data_map[boost::this_thread::get_id()]
+ = up_thread_data;
+ status = this->handle_realserver_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(status, CLIENT_RECV);
+ delete up_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[180] data_size = 0,data_begain_offset >0
// unit_test[180] test data:handle_realserver_send() return CLIENT_RECV
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 0u;
+ up_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
status = this->handle_realserver_send(boost::this_thread::get_id());
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[181] data_size > 0, current_record_rest_size > 0
+ // unit_test[181] data_size > 0, current_record_rest_size > 0,data_begain_offset=0
+ // unit_test[181] test data:handle_realserver_send() return REALSERVER_CONNECT
+ up_thread_data = new session_thread_data_sslid;
+ up_thread_data->data_size = 10u;
+ up_thread_data->current_record_rest_size = 10u;
+ up_thread_data->data_begain_offset = 0u;
+ this->session_thread_data_map[boost::this_thread::get_id()]
+ = up_thread_data;
+ status = this->handle_realserver_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(status, REALSERVER_CONNECT);
+ delete up_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[181] data_size > 0, current_record_rest_size > 0,data_begain_offset>0
// unit_test[181] test data:handle_realserver_send() return REALSERVER_CONNECT
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 10u;
up_thread_data->current_record_rest_size = 10u;
+ up_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
status = this->handle_realserver_send(boost::this_thread::get_id());
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[182] data_size > 0, current_record_rest_size = 0, check_ssl_record_sendable() return -1 (異常)
+ // unit_test[182] data_size > 0, current_record_rest_size = 0, check_ssl_record_sendable() return -1 (異常),data_begain_offset=0
// unit_test[182] test data:handle_realserver_send() return FINALIZE, end_flag = END_FLAG_ON
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 10u;
up_thread_data->data_begain_offset = 0u;
up_thread_data->current_record_rest_size = 0u;
up_thread_data->data_buffer[0] = 0x00;
+ up_thread_data->data_begain_offset = 0u;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
status = this->handle_realserver_send(boost::this_thread::get_id());
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[183] data_size > 0, current_record_rest_size = 0, check_ssl_record_sendable() return 1 (送信不可)
+ // unit_test[182] data_size > 0, current_record_rest_size = 0, check_ssl_record_sendable() return -1 (異常),data_begain_offset>0
+ // unit_test[182] test data:handle_realserver_send() return FINALIZE, end_flag = END_FLAG_ON
+ up_thread_data = new session_thread_data_sslid;
+ up_thread_data->data_size = 10u;
+ up_thread_data->data_begain_offset = 0u;
+ up_thread_data->current_record_rest_size = 0u;
+ up_thread_data->data_buffer[0] = 0x00;
+ up_thread_data->data_begain_offset =10u;
+ this->session_thread_data_map[boost::this_thread::get_id()]
+ = up_thread_data;
+ status = this->handle_realserver_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->end_flag, END_FLAG_ON);
+ BOOST_CHECK_EQUAL(status, FINALIZE);
+ delete up_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[183] data_size > 0, current_record_rest_size = 0, check_ssl_record_sendable() return 1 (送信不可),data_begain_offset=0
+ // unit_test[183] test data:handle_realserver_send() return CLIENT_RECV
+ up_thread_data = new session_thread_data_sslid;
+ up_thread_data->data_size = 1u;
+ up_thread_data->current_record_rest_size = 0u;
+ up_thread_data->data_begain_offset = 0u;
+ this->session_thread_data_map[boost::this_thread::get_id()]
+ = up_thread_data;
+ status = this->handle_realserver_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(status, CLIENT_RECV);
+ delete up_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[183] data_size > 0, current_record_rest_size = 0, check_ssl_record_sendable() return 1 (送信不可),data_begain_offset>0
// unit_test[183] test data:handle_realserver_send() return CLIENT_RECV
up_thread_data = new session_thread_data_sslid;
up_thread_data->data_size = 1u;
up_thread_data->current_record_rest_size = 0u;
+ up_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
status = this->handle_realserver_send(boost::this_thread::get_id());
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[184] data_size > 0, current_record_rest_size = 0, check_ssl_record_send() return 0 (送信可能)
+ // unit_test[184] data_size > 0, current_record_rest_size = 0, check_ssl_record_send() return 0 (送信可能),data_begain_offset =0
// unit_test[184] is a hello message
// unit_test[184] test data:handle_realserver_send() return REALSERVER_CONNECT,current_record_rest_size,
// unit_test[184] hello_message_flag
up_thread_data->data_buffer[5] = 0x01;
up_thread_data->data_buffer[9] = 0x03;
up_thread_data->data_buffer[10] = 0x01;
+ up_thread_data->data_begain_offset = 0u;
up_thread_data->hello_message_flag = false;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
delete up_thread_data;
this->session_thread_data_map.clear();
- // unit_test[185] data_size > 0, current_record_rest_size = 0, check_ssl_record_send() return 0 (送信可能)
+ // unit_test[184] data_size > 0, current_record_rest_size = 0, check_ssl_record_send() return 0 (送信可能),data_begain_offset > 0
+ // unit_test[184] is a hello message
+ // unit_test[184] test data:handle_realserver_send() return REALSERVER_CONNECT,current_record_rest_size,
+ // unit_test[184] hello_message_flag
+ up_thread_data = new session_thread_data_sslid;
+ up_thread_data->data_size = 76u;
+ up_thread_data->current_record_rest_size = 0u;
+ up_thread_data->data_buffer[10] = 0x16;
+ up_thread_data->data_buffer[11] = 0x03;
+ up_thread_data->data_buffer[12] = 0x01;
+ up_thread_data->data_buffer[13] = 0x00;
+ up_thread_data->data_buffer[14] = 0x9e;
+ up_thread_data->data_buffer[15] = 0x01;
+ up_thread_data->data_buffer[19] = 0x03;
+ up_thread_data->data_buffer[20] = 0x01;
+ up_thread_data->data_begain_offset = 10u;
+ up_thread_data->hello_message_flag = false;
+ this->session_thread_data_map[boost::this_thread::get_id()]
+ = up_thread_data;
+ status = this->handle_realserver_send(boost::this_thread::get_id());
+ BOOST_CHECK(this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
+ BOOST_CHECK_EQUAL(status, REALSERVER_CONNECT);
+ delete up_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[185] data_size > 0, current_record_rest_size = 0, check_ssl_record_send() return 0 (送信可能),data_begain_offset =0
// unit_test[185] is not a hello message
// unit_test[185] test data:handle_realserver_send(0 return REALSERVER_CONNECT,current_record_rest_size,
// unit_test[185] hello_message_flag
up_thread_data->data_buffer[2] = 0x01;
up_thread_data->data_buffer[3] = 0x00;
up_thread_data->data_buffer[4] = 0x9e;
+ up_thread_data->data_begain_offset = 0u;
+ up_thread_data->hello_message_flag = true;
+ this->session_thread_data_map[boost::this_thread::get_id()]
+ = up_thread_data;
+ status = this->handle_realserver_send(boost::this_thread::get_id());
+ BOOST_CHECK(!this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
+ BOOST_CHECK_EQUAL(status, REALSERVER_CONNECT);
+ delete up_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[185] data_size > 0, current_record_rest_size = 0, check_ssl_record_send() return 0 (送信可能),data_begain_offset > 0
+ // unit_test[185] is not a hello message
+ // unit_test[185] test data:handle_realserver_send(0 return REALSERVER_CONNECT,current_record_rest_size,
+ // unit_test[185] hello_message_flag
+ up_thread_data = new session_thread_data_sslid;
+ up_thread_data->data_size = 10u;
+ up_thread_data->current_record_rest_size = 0u;
+ up_thread_data->data_buffer[10] = 0x17;
+ up_thread_data->data_buffer[11] = 0x03;
+ up_thread_data->data_buffer[12] = 0x01;
+ up_thread_data->data_buffer[13] = 0x00;
+ up_thread_data->data_buffer[14] = 0x9e;
+ up_thread_data->data_begain_offset = 10u;
up_thread_data->hello_message_flag = true;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
{
recvbuffer[i] = 0x01;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, down_thread_data->data_buffer.c_array()+down_thread_data->data_begain_offset, down_thread_data->data_size);
memcpy(mem_cmp_buffer+down_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = down_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x02;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, down_thread_data->data_buffer.c_array()+down_thread_data->data_begain_offset, down_thread_data->data_size);
memcpy(mem_cmp_buffer+down_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = down_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x03;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, down_thread_data->data_buffer.c_array()+down_thread_data->data_begain_offset, down_thread_data->data_size);
memcpy(mem_cmp_buffer+down_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = down_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x04;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, down_thread_data->data_buffer.c_array()+down_thread_data->data_begain_offset, down_thread_data->data_size);
memcpy(mem_cmp_buffer+down_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = down_thread_data->data_size + recvlen;
{
recvbuffer[i] = 0x05;
}
- mem_cmp_buffer = new char[MAX_BUFFER_SIZE+76];
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
memcpy(mem_cmp_buffer, down_thread_data->data_buffer.c_array()+down_thread_data->data_begain_offset, down_thread_data->data_size);
memcpy(mem_cmp_buffer+down_thread_data->data_size, recvbuffer.c_array(), recvlen);
mem_cmp_length = down_thread_data->data_size + recvlen;
delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
- // unit_test[192] data_size + recvlen > MAX_BUFFER_SIZE + 76
+ // unit_test[192] data_size + recvlen > MAX_SSLID_BUFFER_SIZE
// unit_test[192] test data:handle_realserver_recv() return FINALIZE
down_thread_data = new session_thread_data_sslid;
down_thread_data->data_size = 76u + 1u;
sendbuffer, datalen);
BOOST_CHECK_EQUAL(status, FINALIZE);
- // unit_test[195] current_record_rest_size>0
+ // unit_test[195] current_record_rest_size>0,data_begain_offset = 0
// unit_test[195] test data:handle_client_connection return CLIENT_SEND
down_thread_data = new session_thread_data_sslid;
down_thread_data->current_record_rest_size = 10u;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[196] current_record_rest_size=0,hello_message_flag=true,data_size >= 76
+ // unit_test[195] current_record_rest_size>0,data_begain_offset >0
+ // unit_test[195] test data:handle_client_connection return CLIENT_SEND
+ down_thread_data = new session_thread_data_sslid;
+ down_thread_data->current_record_rest_size = 10u;
+ down_thread_data->data_size = 76u;
+ down_thread_data->data_begain_offset = 10u;
+ this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
+ status = this->handle_client_connection_check(boost::this_thread::get_id(),
+ sendbuffer, datalen);
+ BOOST_CHECK_EQUAL(status, CLIENT_SEND);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 66u);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 20u);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
+ delete down_thread_data;
+ this->session_thread_data_map.clear();
+
+
+ // unit_test[196] current_record_rest_size=0,hello_message_flag=true,data_size >= 76,data_begain_offset=0
// unit_test[196] get_ssl_session_id return 0 (have session id)
// unit_test[196] test data:handle_client_connection return CLIENT_SEND
down_thread_data = new session_thread_data_sslid;
down_thread_data->hello_message_flag = true;
down_thread_data->data_buffer[43] = 0x20;
down_thread_data->data_size = 76u;
- down_thread_data->data_begain_offset = 0;
+ down_thread_data->data_begain_offset = 0u;
for(size_t i=44; i<down_thread_data->data_size; i++)
{
down_thread_data->data_buffer[i] = 0x01;
delete replication_data_processor;
this->session_thread_data_map.clear();
- // unit_test[197] current_record_rest_size=0,hello_message_flag=true,
+ // unit_test[196] current_record_rest_size=0,hello_message_flag=true,data_size >= 76,data_begain_offset>0
+ // unit_test[196] get_ssl_session_id return 0 (have session id)
+ // unit_test[196] test data:handle_client_connection return CLIENT_SEND
+ down_thread_data = new session_thread_data_sslid;
+ down_thread_data->current_record_rest_size = 0u;
+ down_thread_data->hello_message_flag = true;
+ down_thread_data->data_buffer[53] = 0x20;
+ down_thread_data->data_size = 86u;
+ down_thread_data->data_begain_offset = 10u;
+ for(size_t i=44; i<down_thread_data->data_size; i++)
+ {
+ down_thread_data->data_buffer[i] = 0x01;
+ }
+ session_id.assign(down_thread_data->data_buffer.c_array()+54,down_thread_data->data_buffer.c_array()+86);
+ down_thread_data->selected_realserver = rs_endpoint;
+ maxlist = 3;
+ this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
+ this->replication_data_processor = new sslid_replication_data_processor(maxlist, sslid_replication_area_begain,
+ sslid_replication_area_size, virtual_service_endpoint, ingetloglevel, inputLogFatal, inputLogError,
+ inputLogWarn, inputLogInfo, inputLogDebug);
+ this->session_data_processor = new sslid_session_data_processor_stub(
+ maxlist, timeout, this->replication_data_processor, stb_getloglevel,
+ stb_putLogFatal, stb_putLogError, stb_putLogWarn,
+ stb_putLogInfo, stb_putLogDebug);
+ status = this->handle_client_connection_check(boost::this_thread::get_id(),
+ sendbuffer, datalen);
+ BOOST_CHECK_EQUAL((dynamic_cast<sslid_session_data_processor_stub*>(this->session_data_processor))->get_session_endpoint_map()[session_id], rs_endpoint);
+ BOOST_CHECK_EQUAL(status, CLIENT_SEND);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 86u);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 10u);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
+ delete down_thread_data;
+ delete replication_data_processor;
+ this->session_thread_data_map.clear();
+
+
+ // unit_test[197] current_record_rest_size=0,hello_message_flag=true,data_begain_offset=0
// unit_test[197] get_ssl_session_id return 1 (no session id)
// unit_test[197] test data:handle_client_connection return CLIENT_SEND
down_thread_data = new session_thread_data_sslid;
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[198] current_record_rest_size=0,hello_message_flag=true
- // unit_test[198] get_ssl_session_id return -1 (error)
- // unit_test[198] test data:handle_client_connection return FINALIZE
+ // unit_test[197] current_record_rest_size=0,hello_message_flag=true,data_begain_offset>0
+ // unit_test[197] get_ssl_session_id return 1 (no session id)
+ // unit_test[197] test data:handle_client_connection return CLIENT_SEND
down_thread_data = new session_thread_data_sslid;
down_thread_data->current_record_rest_size = 0u;
down_thread_data->hello_message_flag = true;
- down_thread_data->data_buffer[43] = 0x00;
- down_thread_data->data_size = 0u;
- down_thread_data->data_begain_offset = 0u;
+ down_thread_data->data_buffer[53] = 0x00;
+ down_thread_data->data_size = 86u;
+ down_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_connection_check(boost::this_thread::get_id(),
sendbuffer, datalen);
- BOOST_CHECK_EQUAL(status, FINALIZE);
+ BOOST_CHECK_EQUAL(status, CLIENT_SEND);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 86u);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 10u);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[199] current_record_rest_size=0,hello_message_flag=false
- // unit_test[199] test data:handle_client_connection return CLIENT_SEND
+ // unit_test[198] current_record_rest_size=0,hello_message_flag=false,data_begain_offset=0
+ // unit_test[198] test data:handle_client_connection return CLIENT_SEND
down_thread_data = new session_thread_data_sslid;
down_thread_data->current_record_rest_size = 0u;
down_thread_data->hello_message_flag = false;
down_thread_data->data_size = 76u;
+ down_thread_data->data_begain_offset = 0u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_connection_check(boost::this_thread::get_id(),
sendbuffer, datalen);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
delete down_thread_data;
this->session_thread_data_map.clear();
+
+ // unit_test[198] current_record_rest_size=0,hello_message_flag=false,data_begain_offset>0
+ // unit_test[198] test data:handle_client_connection return CLIENT_SEND
+ down_thread_data = new session_thread_data_sslid;
+ down_thread_data->current_record_rest_size = 0u;
+ down_thread_data->hello_message_flag = false;
+ down_thread_data->data_size = 86u;
+ down_thread_data->data_begain_offset = 10u;
+ this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
+ status = this->handle_client_connection_check(boost::this_thread::get_id(),
+ sendbuffer, datalen);
+ BOOST_CHECK_EQUAL(status, CLIENT_SEND);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 86u);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 10u);
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
+ delete down_thread_data;
+ this->session_thread_data_map.clear();
}
//handle_client_select
status = this->handle_client_send(boost::this_thread::get_id());
BOOST_CHECK_EQUAL(status, FINALIZE);
- // unit_test[202] data_size=0,end_flag=END_FLAG_ON
+ // unit_test[202] data_size=0,end_flag=END_FLAG_ON,data_begain_offset=0
+ // unit_test[202] test data:handle_client_send() return CLIENT_DISCONNECT
+ down_thread_data = new session_thread_data_sslid;
+ down_thread_data->data_size = 0u;
+ down_thread_data->end_flag = END_FLAG_ON;
+ down_thread_data->data_begain_offset = 0u;
+ this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
+ status = this->handle_client_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(status, CLIENT_DISCONNECT);
+ delete down_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[202] data_size=0,end_flag=END_FLAG_ON,data_begain_offset>0
// unit_test[202] test data:handle_client_send() return CLIENT_DISCONNECT
down_thread_data = new session_thread_data_sslid;
- down_thread_data->data_size = 0;
+ down_thread_data->data_size = 0u;
down_thread_data->end_flag = END_FLAG_ON;
+ down_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_send(boost::this_thread::get_id());
BOOST_CHECK_EQUAL(status, CLIENT_DISCONNECT);
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[203] data_size=0,end_flag=END_FLAG_OFF
+ // unit_test[203] data_size=0,end_flag=END_FLAG_OFF,data_begain_offset = 0
+ // unit_test[203] test data:handle_client_send() return REALSERVER_RECV
+ down_thread_data = new session_thread_data_sslid;
+ down_thread_data->data_size = 0u;
+ down_thread_data->end_flag = END_FLAG_OFF;
+ down_thread_data->data_begain_offset = 0u;
+ this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
+ status = this->handle_client_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(status, REALSERVER_RECV);
+ delete down_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[203] data_size=0,end_flag=END_FLAG_OFF,data_begain_offset > 0
// unit_test[203] test data:handle_client_send() return REALSERVER_RECV
down_thread_data = new session_thread_data_sslid;
- down_thread_data->data_size = 0;
+ down_thread_data->data_size = 0u;
down_thread_data->end_flag = END_FLAG_OFF;
+ down_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_send(boost::this_thread::get_id());
BOOST_CHECK_EQUAL(status, REALSERVER_RECV);
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[204] data_size>0,current_record_rest_size>0
+ // unit_test[204] data_size>0,current_record_rest_size>0,data_begain_offset=0
// unit_test[204] test data:handle_client_send() return CLIENT_CONNECTION_CHECK
down_thread_data = new session_thread_data_sslid;
- down_thread_data->data_size = 10;
- down_thread_data->current_record_rest_size = 8;
+ down_thread_data->data_size = 10u;
+ down_thread_data->current_record_rest_size = 8u;
+ down_thread_data->data_begain_offset = 0u;
+ this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
+ status = this->handle_client_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
+ delete down_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[204] data_size>0,current_record_rest_size>0,data_begain_offset=0,data_begain_offset>0
+ // unit_test[204] test data:handle_client_send() return CLIENT_CONNECTION_CHECK
+ down_thread_data = new session_thread_data_sslid;
+ down_thread_data->data_size = 10u;
+ down_thread_data->current_record_rest_size = 8u;
+ down_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_send(boost::this_thread::get_id());
BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[205] data_size>0,current_record_rest_size=0,check_ssl_record_sendable() return -1 (異常)
+ // unit_test[205] data_size>0,current_record_rest_size=0,check_ssl_record_sendable() return -1 (異常),data_begain_offset=0
// unit_test[205] test data:end_flag == END_FLAG_ON,handle_client_send() return FINALIZE
down_thread_data = new session_thread_data_sslid;
- down_thread_data->data_size = 10;
- down_thread_data->current_record_rest_size = 0;
- down_thread_data->data_buffer[0] = 0x00;
+ down_thread_data->data_size = 10u;
+ down_thread_data->current_record_rest_size = 0u;
+ down_thread_data->data_buffer[10] = 0x00;
+ down_thread_data->data_begain_offset = 0u;
+ this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
+ status = this->handle_client_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->end_flag, END_FLAG_ON);
+ BOOST_CHECK_EQUAL(status, FINALIZE);
+ delete down_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[205] data_size>0,current_record_rest_size=0,check_ssl_record_sendable() return -1 (異常),data_begain_offset>0
+ // unit_test[205] test data:end_flag == END_FLAG_ON,handle_client_send() return FINALIZE
+ down_thread_data = new session_thread_data_sslid;
+ down_thread_data->data_size = 10u;
+ down_thread_data->current_record_rest_size = 0u;
+ down_thread_data->data_buffer[10] = 0x00;
+ down_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_send(boost::this_thread::get_id());
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->end_flag, END_FLAG_ON);
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[206] data_size>0,current_record_rest_size=0,check_ssl_record_sendable() return 1 (送信不可)
+ // unit_test[206] data_size>0,current_record_rest_size=0,check_ssl_record_sendable() return 1 (送信不可),data_begain_offset=0
// unit_test[206] end_flag=END_FLAG_ON
// unit_test[206] test data:handle_client_send() return CLIENT_DISCONNECT
down_thread_data = new session_thread_data_sslid;
- down_thread_data->data_size = 3;
- down_thread_data->current_record_rest_size = 0;
+ down_thread_data->data_size = 3u;
+ down_thread_data->current_record_rest_size = 0u;
down_thread_data->end_flag = END_FLAG_ON;
+ down_thread_data->data_begain_offset = 0u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_send(boost::this_thread::get_id());
BOOST_CHECK_EQUAL(status, CLIENT_DISCONNECT);
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[207] data_size>0,current_record_rest_size=0,check_ssl_record_sendable()return 1 (送信不可)
+ // unit_test[206] data_size>0,current_record_rest_size=0,check_ssl_record_sendable() return 1 (送信不可),data_begain_offset>0
+ // unit_test[206] end_flag=END_FLAG_ON
+ // unit_test[206] test data:handle_client_send() return CLIENT_DISCONNECT
+ down_thread_data = new session_thread_data_sslid;
+ down_thread_data->data_size = 3u;
+ down_thread_data->current_record_rest_size = 0u;
+ down_thread_data->end_flag = END_FLAG_ON;
+ down_thread_data->data_begain_offset = 10u;
+ this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
+ status = this->handle_client_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(status, CLIENT_DISCONNECT);
+ delete down_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[207] data_size>0,current_record_rest_size=0,check_ssl_record_sendable()return 1 (送信不可),data_begain_offset=0
// unit_test[207] end_flag=END_FLAG_OFF
// unit_test[207] test data:handle_client_send() return REALSERVER_RECV
down_thread_data = new session_thread_data_sslid;
- down_thread_data->data_size = 3;
- down_thread_data->current_record_rest_size = 0;
+ down_thread_data->data_size = 3u;
+ down_thread_data->current_record_rest_size = 0u;
down_thread_data->end_flag = END_FLAG_OFF;
+ down_thread_data->data_begain_offset = 0u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_send(boost::this_thread::get_id());
BOOST_CHECK_EQUAL(status, REALSERVER_RECV);
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[208] data_size>=76,current_record_rest_size=0,check_ssl_record_sendable() return 0 (送信可能)
+ // unit_test[207] data_size>0,current_record_rest_size=0,check_ssl_record_sendable()return 1 (送信不可),data_begain_offset>0
+ // unit_test[207] end_flag=END_FLAG_OFF
+ // unit_test[207] test data:handle_client_send() return REALSERVER_RECV
+ down_thread_data = new session_thread_data_sslid;
+ down_thread_data->data_size = 3u;
+ down_thread_data->current_record_rest_size = 0u;
+ down_thread_data->end_flag = END_FLAG_OFF;
+ down_thread_data->data_begain_offset = 10u;
+ this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
+ status = this->handle_client_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(status, REALSERVER_RECV);
+ delete down_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[208] data_size>=76,current_record_rest_size=0,check_ssl_record_sendable() return 0 (送信可能),data_begain_offset=0
// unit_test[208] is hello message
// unit_test[208] test data:current_record_rest_size == all_length,hello_message_flag == TRUE
// unit_test[208] handle_client_send() return CLIENT_CONNECTION_CHECK
down_thread_data->data_buffer[5] = 0x02;
down_thread_data->data_buffer[9] = 0x03;
down_thread_data->data_buffer[10] = 0x01;
+ down_thread_data->data_begain_offset = 0u;
+ this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
+ status = this->handle_client_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
+ BOOST_CHECK(this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
+ BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
+ delete down_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[208] data_size>=76,current_record_rest_size=0,check_ssl_record_sendable() return 0 (送信可能),data_begain_offset>0
+ // unit_test[208] is hello message
+ // unit_test[208] test data:current_record_rest_size == all_length,hello_message_flag == TRUE
+ // unit_test[208] handle_client_send() return CLIENT_CONNECTION_CHECK
+ down_thread_data = new session_thread_data_sslid;
+ down_thread_data->data_size = 86;
+ down_thread_data->current_record_rest_size = 0;
+ down_thread_data->data_buffer[10] = 0x16;
+ down_thread_data->data_buffer[11] = 0x03;
+ down_thread_data->data_buffer[12] = 0x01;
+ down_thread_data->data_buffer[13] = 0x00;
+ down_thread_data->data_buffer[14] = 0x9e;
+ down_thread_data->data_buffer[15] = 0x02;
+ down_thread_data->data_buffer[19] = 0x03;
+ down_thread_data->data_buffer[20] = 0x01;
+ down_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_send(boost::this_thread::get_id());
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
delete down_thread_data;
this->session_thread_data_map.clear();
- // unit_test[209] data_size>=6,current_record_rest_size=0,check_ssl_record_sendable() return 0 (送信可能)
+ // unit_test[209] data_size>=6,current_record_rest_size=0,check_ssl_record_sendable() return 0 (送信可能),data_begain_offset=0
// unit_test[209] is not hello message
// unit_test[209] test data:current_record_rest_size == all_length,hello_message_flag == FALSE
// unit_test[209] handle_client_send() return CLIENT_CONNECTION_CHECK
down_thread_data->data_buffer[2] = 0x01;
down_thread_data->data_buffer[3] = 0x00;
down_thread_data->data_buffer[4] = 0x9e;
+ down_thread_data->data_begain_offset = 0u;
+ this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
+ status = this->handle_client_send(boost::this_thread::get_id());
+ BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
+ BOOST_CHECK(!this->session_thread_data_map[boost::this_thread::get_id()]->hello_message_flag);
+ BOOST_CHECK_EQUAL(status, CLIENT_CONNECTION_CHECK);
+ delete down_thread_data;
+ this->session_thread_data_map.clear();
+
+ // unit_test[209] data_size>=6,current_record_rest_size=0,check_ssl_record_sendable() return 0 (送信可能),data_begain_offset>0
+ // unit_test[209] is not hello message
+ // unit_test[209] test data:current_record_rest_size == all_length,hello_message_flag == FALSE
+ // unit_test[209] handle_client_send() return CLIENT_CONNECTION_CHECK
+ down_thread_data = new session_thread_data_sslid;
+ down_thread_data->data_size = 10;
+ down_thread_data->current_record_rest_size = 0;
+ down_thread_data->data_buffer[10] = 0x17;
+ down_thread_data->data_buffer[11] = 0x03;
+ down_thread_data->data_buffer[12] = 0x01;
+ down_thread_data->data_buffer[13] = 0x00;
+ down_thread_data->data_buffer[14] = 0x9e;
+ down_thread_data->data_begain_offset = 10u;
this->session_thread_data_map[boost::this_thread::get_id()] = down_thread_data;
status = this->handle_client_send(boost::this_thread::get_id());
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 163u);
size_t datalen = 0u;
session_thread_data_sslid* up_thread_data;
int ret = 0;
+ int mem_cmp_result;
+ int mem_cmp_length;
+ char* mem_cmp_buffer;
// unit_test[221] thread id is not in the map
// unit_test[221] test data:put_data_to_sendbuffer() return -1
up_thread_data->current_record_rest_size = 20u;
up_thread_data->data_size = 10u;
up_thread_data->data_begain_offset = 5u;
+ for(size_t i=up_thread_data->data_begain_offset; i<up_thread_data->data_begain_offset+up_thread_data->data_size; i++)
+ {
+ up_thread_data->data_buffer[i] = 0x01;
+ }
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
+ memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
+ mem_cmp_length = up_thread_data->data_size;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(),
sendbuffer, datalen);
+ mem_cmp_result = memcmp(mem_cmp_buffer, sendbuffer.c_array(), mem_cmp_length);
+ BOOST_CHECK_EQUAL(mem_cmp_result, 0);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 0u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 10u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 0u);
BOOST_CHECK_EQUAL(ret, 0);
BOOST_CHECK_EQUAL(datalen, 10u);
delete up_thread_data;
+ delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
// unit_test[223] current_record_rest_size>data_size, data_size=送信バッファサイズ
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 1u;
up_thread_data->data_size = static_cast<size_t>(MAX_BUFFER_SIZE);
up_thread_data->data_begain_offset = 5u;
+ for(size_t i=up_thread_data->data_begain_offset; i<up_thread_data->data_begain_offset+up_thread_data->data_size; i++)
+ {
+ up_thread_data->data_buffer[i] = 0x02;
+ }
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
+ memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
+ mem_cmp_length = up_thread_data->data_size;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(),
sendbuffer, datalen);
+ mem_cmp_result = memcmp(mem_cmp_buffer, sendbuffer.c_array(), mem_cmp_length);
+ BOOST_CHECK_EQUAL(mem_cmp_result, 0);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 0u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 1u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 0u);
BOOST_CHECK_EQUAL(ret, 0);
BOOST_CHECK_EQUAL(datalen, static_cast<size_t>(MAX_BUFFER_SIZE));
delete up_thread_data;
+ delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
// unit_test[234] current_record_rest_size=data_size, data_size<送信バッファサイズ
up_thread_data->current_record_rest_size = 10u;
up_thread_data->data_size = 10u;
up_thread_data->data_begain_offset = 5u;
+ for(size_t i=up_thread_data->data_begain_offset; i<up_thread_data->data_begain_offset+up_thread_data->data_size; i++)
+ {
+ up_thread_data->data_buffer[i] = 0x03;
+ }
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
+ memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
+ mem_cmp_length = up_thread_data->data_size;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(),
sendbuffer, datalen);
+ mem_cmp_result = memcmp(mem_cmp_buffer, sendbuffer.c_array(), mem_cmp_length);
+ BOOST_CHECK_EQUAL(mem_cmp_result, 0);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 0u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 0u);
BOOST_CHECK_EQUAL(ret, 0);
BOOST_CHECK_EQUAL(datalen, 10u);
delete up_thread_data;
+ delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
// unit_test[235] current_record_rest_size=data_size, data_size=送信バッファサイズ
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE);
up_thread_data->data_size = static_cast<size_t>(MAX_BUFFER_SIZE);
up_thread_data->data_begain_offset = 5u;
+ for(size_t i=up_thread_data->data_begain_offset; i<up_thread_data->data_begain_offset+up_thread_data->data_size; i++)
+ {
+ up_thread_data->data_buffer[i] = 0x04;
+ }
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
+ memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
+ mem_cmp_length = up_thread_data->data_size;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(),
sendbuffer, datalen);
+ mem_cmp_result = memcmp(mem_cmp_buffer, sendbuffer.c_array(), mem_cmp_length);
+ BOOST_CHECK_EQUAL(mem_cmp_result, 0);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 0u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 0u);
BOOST_CHECK_EQUAL(ret, 0);
BOOST_CHECK_EQUAL(datalen, static_cast<size_t>(MAX_BUFFER_SIZE));
delete up_thread_data;
+ delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
// unit_test[236] current_record_rest_size>data_size,data_size>送信バッファサイズ
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 10u;
up_thread_data->data_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 5u;
up_thread_data->data_begain_offset = 10u;
+ for(size_t i=up_thread_data->data_begain_offset; i<up_thread_data->data_begain_offset+up_thread_data->data_size; i++)
+ {
+ up_thread_data->data_buffer[i] = 0x05;
+ }
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
+ memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
+ mem_cmp_length = MAX_BUFFER_SIZE;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(),
sendbuffer, datalen);
+ mem_cmp_result = memcmp(mem_cmp_buffer, sendbuffer.c_array(), mem_cmp_length);
+ BOOST_CHECK_EQUAL(mem_cmp_result, 0);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 10u+static_cast<size_t>(MAX_BUFFER_SIZE));
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 10u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 5u);
BOOST_CHECK_EQUAL(ret, 0);
BOOST_CHECK_EQUAL(datalen, static_cast<size_t>(MAX_BUFFER_SIZE));
delete up_thread_data;
+ delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
// unit_test[237] current_record_rest_size=data_size,data_size>送信バッファサイズ
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 10u;
up_thread_data->data_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 10u;
up_thread_data->data_begain_offset = 10u;
+ for(size_t i=up_thread_data->data_begain_offset; i<up_thread_data->data_begain_offset+up_thread_data->data_size; i++)
+ {
+ up_thread_data->data_buffer[i] = 0x06;
+ }
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
+ memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
+ mem_cmp_length = MAX_BUFFER_SIZE;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(),
sendbuffer, datalen);
+ mem_cmp_result = memcmp(mem_cmp_buffer, sendbuffer.c_array(), mem_cmp_length);
+ BOOST_CHECK_EQUAL(mem_cmp_result, 0);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 10u+static_cast<size_t>(MAX_BUFFER_SIZE));
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 10u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 10u);
BOOST_CHECK_EQUAL(ret, 0);
BOOST_CHECK_EQUAL(datalen, static_cast<size_t>(MAX_BUFFER_SIZE));
delete up_thread_data;
+ delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
// unit_test[238] current_record_rest_size<data_size, current_record_rest_size<送信バッファサイズ
up_thread_data->current_record_rest_size = 10u;
up_thread_data->data_size = 20u;
up_thread_data->data_begain_offset = 5u;
+ for(size_t i=up_thread_data->data_begain_offset; i<up_thread_data->data_begain_offset+up_thread_data->data_size; i++)
+ {
+ up_thread_data->data_buffer[i] = 0x07;
+ }
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
+ memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
+ mem_cmp_length = up_thread_data->current_record_rest_size;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(),
sendbuffer, datalen);
+ mem_cmp_result = memcmp(mem_cmp_buffer, sendbuffer.c_array(), mem_cmp_length);
+ BOOST_CHECK_EQUAL(mem_cmp_result, 0);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 15u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 10u);
BOOST_CHECK_EQUAL(ret, 0);
BOOST_CHECK_EQUAL(datalen, 10u);
delete up_thread_data;
+ delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
// unit_test[239] current_record_rest_size<data_size, current_record_rest_size=送信バッファサイズ
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE);
up_thread_data->data_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 10u;
up_thread_data->data_begain_offset = 5u;
+ for(size_t i=up_thread_data->data_begain_offset; i<up_thread_data->data_begain_offset+up_thread_data->data_size; i++)
+ {
+ up_thread_data->data_buffer[i] = 0x08;
+ }
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
+ memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
+ mem_cmp_length = up_thread_data->current_record_rest_size;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(),
sendbuffer, datalen);
+ mem_cmp_result = memcmp(mem_cmp_buffer, sendbuffer.c_array(), mem_cmp_length);
+ BOOST_CHECK_EQUAL(mem_cmp_result, 0);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 5u+static_cast<size_t>(MAX_BUFFER_SIZE));
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 0u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 10u);
BOOST_CHECK_EQUAL(ret, 0);
BOOST_CHECK_EQUAL(datalen, static_cast<size_t>(MAX_BUFFER_SIZE));
delete up_thread_data;
+ delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
// unit_test[240] current_record_rest_size<data_size,current_record_rest_size>送信バッファサイズ
up_thread_data->current_record_rest_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 10u;
up_thread_data->data_size = static_cast<size_t>(MAX_BUFFER_SIZE) + 20u;
up_thread_data->data_begain_offset = 5u;
+ for(size_t i=up_thread_data->data_begain_offset; i<up_thread_data->data_begain_offset+up_thread_data->data_size; i++)
+ {
+ up_thread_data->data_buffer[i] = 0x08;
+ }
+ mem_cmp_buffer = new char[MAX_SSLID_BUFFER_SIZE];
+ memcpy(mem_cmp_buffer, up_thread_data->data_buffer.c_array()+up_thread_data->data_begain_offset, up_thread_data->data_size);
+ mem_cmp_length = MAX_BUFFER_SIZE;
this->session_thread_data_map[boost::this_thread::get_id()]
= up_thread_data;
ret = this->put_data_to_sendbuffer(boost::this_thread::get_id(),
sendbuffer, datalen);
+ mem_cmp_result = memcmp(mem_cmp_buffer, sendbuffer.c_array(), mem_cmp_length);
+ BOOST_CHECK_EQUAL(mem_cmp_result, 0);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_begain_offset, 5u+static_cast<size_t>(MAX_BUFFER_SIZE));
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->current_record_rest_size, 10u);
BOOST_CHECK_EQUAL(this->session_thread_data_map[boost::this_thread::get_id()]->data_size, 20u);
BOOST_CHECK_EQUAL(ret, 0);
BOOST_CHECK_EQUAL(datalen, static_cast<size_t>(MAX_BUFFER_SIZE));
delete up_thread_data;
+ delete[] mem_cmp_buffer;
this->session_thread_data_map.clear();
}
class ssl_protocol_module_base_test_class: public ssl_protocol_module_base {
public:
- ssl_protocol_module_base_test_class() :
- ssl_protocol_module_base("sslid") {
-
+ ssl_protocol_module_base_test_class() : ssl_protocol_module_base("sslid") {
}
- ~ssl_protocol_module_base_test_class() {
+ ~ssl_protocol_module_base_test_class() {
}
bool is_tcp() {
}
void initialize(rs_list_itr_func_type inlist_begin,
- rs_list_itr_func_type inlist_end,
- rs_list_itr_next_func_type inlist_next,
- boost::function<void(void)> inlist_lock,
- boost::function<void(void)> inlist_unlock) {
+ rs_list_itr_func_type inlist_end,
+ rs_list_itr_next_func_type inlist_next,
+ boost::function<void(void)> inlist_lock,
+ boost::function<void(void)> inlist_unlock) {
}
void finalize() {
check_message_result result;
return result;
}
+
check_message_result add_parameter(const std::vector<std::string>& args) {
check_message_result result;
return result;
}
+
void register_schedule(tcp_schedule_func_type inschedule) {
}
- void register_schedule(udp_schedule_func_type inschedule) {
+ void register_schedule(udp_schedule_func_type inschedule) {
}
+
EVENT_TAG handle_session_initialize(const boost::thread::id up_thread_id,
- const boost::thread::id down_thread_id,
- const boost::asio::ip::tcp::endpoint& client_endpoint_tcp,
- const boost::asio::ip::udp::endpoint& client_endpoint_udp) {
+ const boost::thread::id down_thread_id,
+ const boost::asio::ip::tcp::endpoint& client_endpoint_tcp,
+ const boost::asio::ip::udp::endpoint& client_endpoint_udp) {
return STOP;
}
+
EVENT_TAG handle_session_finalize(const boost::thread::id up_thread_id,
- const boost::thread::id down_thread_id) {
+ const boost::thread::id down_thread_id) {
return STOP;
}
+
EVENT_TAG handle_accept(const boost::thread::id thread_id) {
return STOP;
}
+
EVENT_TAG handle_client_recv(const boost::thread::id thread_id,
- const boost::array<char, MAX_BUFFER_SIZE>& recvbuffer,
- const size_t recvlen) {
+ const boost::array<char, MAX_BUFFER_SIZE>& recvbuffer,
+ const size_t recvlen) {
return STOP;
}
+
EVENT_TAG handle_realserver_select(const boost::thread::id thread_id,
- boost::asio::ip::tcp::endpoint& rs_endpoint) {
+ boost::asio::ip::tcp::endpoint& rs_endpoint) {
return STOP;
}
+
EVENT_TAG handle_realserver_select(const boost::thread::id thread_id,
- boost::asio::ip::udp::endpoint& rs_endpoint, boost::array<char,
- MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) {
+ boost::asio::ip::udp::endpoint& rs_endpoint,
+ boost::array<char,MAX_BUFFER_SIZE>& sendbuffer,
+ size_t& datalen) {
return STOP;
}
+
EVENT_TAG handle_realserver_connect(const boost::thread::id thread_id,
- boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) {
+ boost::array<char, MAX_BUFFER_SIZE>& sendbuffer,
+ size_t& datalen) {
return STOP;
}
- EVENT_TAG handle_realserver_connection_fail(
- const boost::thread::id thread_id,
- const boost::asio::ip::tcp::endpoint& rs_endpoint) {
+
+ EVENT_TAG handle_realserver_connection_fail(const boost::thread::id thread_id,
+ const boost::asio::ip::tcp::endpoint& rs_endpoint) {
return STOP;
}
+
EVENT_TAG handle_realserver_send(const boost::thread::id thread_id) {
return STOP;
}
+
EVENT_TAG handle_sorryserver_select(const boost::thread::id thread_id,
- boost::asio::ip::tcp::endpoint& sorry_endpoint) {
+ boost::asio::ip::tcp::endpoint& sorry_endpoint) {
return STOP;
}
+
EVENT_TAG handle_sorryserver_connect(const boost::thread::id thread_id,
- boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) {
+ boost::array<char, MAX_BUFFER_SIZE>& sendbuffer,
+ size_t& datalen) {
return STOP;
}
- EVENT_TAG handle_sorryserver_connection_fail(
- const boost::thread::id thread_id,
- const boost::asio::ip::tcp::endpoint& sorry_endpoint) {
+
+ EVENT_TAG handle_sorryserver_connection_fail(const boost::thread::id thread_id,
+ const boost::asio::ip::tcp::endpoint& sorry_endpoint) {
return STOP;
}
+
EVENT_TAG handle_sorryserver_send(const boost::thread::id thread_id) {
return STOP;
}
+
EVENT_TAG handle_realserver_recv(const boost::thread::id thread_id,
- const boost::asio::ip::tcp::endpoint& rs_endpoint,
- const boost::array<char, MAX_BUFFER_SIZE>& recvbuffer,
- const size_t recvlen) {
+ const boost::asio::ip::tcp::endpoint& rs_endpoint,
+ const boost::array<char, MAX_BUFFER_SIZE>& recvbuffer,
+ const size_t recvlen) {
return STOP;
}
+
EVENT_TAG handle_realserver_recv(const boost::thread::id thread_id,
- const boost::asio::ip::udp::endpoint& rs_endpoint,
- const boost::array<char, MAX_BUFFER_SIZE>& recvbuffer,
- const size_t recvlen) {
+ const boost::asio::ip::udp::endpoint& rs_endpoint,
+ const boost::array<char, MAX_BUFFER_SIZE>& recvbuffer,
+ const size_t recvlen) {
return STOP;
}
+
EVENT_TAG handle_sorryserver_recv(const boost::thread::id thread_id,
- const boost::asio::ip::tcp::endpoint& sorry_endpoint,
- const boost::array<char, MAX_BUFFER_SIZE>& recvbuffer,
- const size_t recvlen) {
+ const boost::asio::ip::tcp::endpoint& sorry_endpoint,
+ const boost::array<char, MAX_BUFFER_SIZE>& recvbuffer,
+ const size_t recvlen) {
return STOP;
}
+
EVENT_TAG handle_response_send_inform(const boost::thread::id thread_id) {
return STOP;
}
+
EVENT_TAG handle_client_connection_check(const boost::thread::id thread_id,
- boost::array<char, MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) {
+ boost::array<char, MAX_BUFFER_SIZE>& sendbuffer,
+ size_t& datalen) {
return STOP;
}
+
EVENT_TAG handle_client_select(const boost::thread::id thread_id,
- boost::asio::ip::udp::endpoint& cl_endpoint, boost::array<char,
- MAX_BUFFER_SIZE>& sendbuffer, size_t& datalen) {
+ boost::asio::ip::udp::endpoint& cl_endpoint,
+ boost::array<char,MAX_BUFFER_SIZE>& sendbuffer,
+ size_t& datalen) {
return STOP;
}
+
EVENT_TAG handle_client_send(const boost::thread::id thread_id) {
return STOP;
}
+
EVENT_TAG handle_client_disconnect(const boost::thread::id thread_id) {
return STOP;
}
+
EVENT_TAG handle_sorry_enable(const boost::thread::id thread_id) {
return STOP;
}
+
EVENT_TAG handle_sorry_disable(const boost::thread::id thread_id) {
return STOP;
}
+
EVENT_TAG handle_realserver_disconnect(const boost::thread::id thread_id,
const boost::asio::ip::tcp::endpoint& rs_endpoint) {
return STOP;
}
+
EVENT_TAG handle_sorryserver_disconnect(const boost::thread::id thread_id,
const boost::asio::ip::tcp::endpoint& sorry_endpoint) {
return STOP;
}
+
EVENT_TAG handle_realserver_close(const boost::thread::id thread_id,
const boost::asio::ip::udp::endpoint& rs_endpoint) {
return STOP;
BOOST_CHECK_EQUAL(ret, 0);
delete[] record_data;
+ // unit_test[11] condition: recv_length = 6, is_message_from_client = true, record_data is a ssl record(minimal size), but is not a hello message.
+ // unit_test[11] check: check_ssl_record_sendable() return 0 (送信可能)
+ recv_length = 6u;
+ record_data = new char[recv_length];
+ record_data[0] = 0x14;
+ record_data[1] = 0x03;
+ record_data[2] = 0x01;
+ record_data[3] = 0x00;
+ record_data[4] = 0x9e;
+ record_data[5] = 0x00;
+ all_length = 0u;
+ is_message_from_client = true;
+ is_hello_message = true;
+ ret = this->check_ssl_record_sendable(is_message_from_client,
+ record_data, recv_length, all_length, is_hello_message);
+ BOOST_CHECK_EQUAL(all_length, 163u);
+ BOOST_CHECK(!is_hello_message);
+ BOOST_CHECK_EQUAL(ret, 0);
+ delete[] record_data;
+
+ // unit_test[11] condition: recv_length = 6, is_message_from_client = true, record_data is a ssl record(minimal size), but is not a hello message.
+ // unit_test[11] check: check_ssl_record_sendable() return 0 (送信可能)
+ recv_length = 6u;
+ record_data = new char[recv_length];
+ record_data[0] = 0x15;
+ record_data[1] = 0x03;
+ record_data[2] = 0x01;
+ record_data[3] = 0x00;
+ record_data[4] = 0x9e;
+ record_data[5] = 0x00;
+ all_length = 0u;
+ is_message_from_client = true;
+ is_hello_message = true;
+ ret = this->check_ssl_record_sendable(is_message_from_client,
+ record_data, recv_length, all_length, is_hello_message);
+ BOOST_CHECK_EQUAL(all_length, 163u);
+ BOOST_CHECK(!is_hello_message);
+ BOOST_CHECK_EQUAL(ret, 0);
+ delete[] record_data;
+
// unit_test[12] condition: recv_length = 6, is_message_from_client = false, record_data is a ssl record(minimal size), but is not a hello message.
// unit_test[12] check: check_ssl_record_sendable() return 0 (送信可能)
recv_length = 6u;
BOOST_CHECK_EQUAL(ret, 1);
delete[] record_data;
+/*---------------------------------------------------------------------------------------*/
// unit_test[29] condition:recv_length = HELLO_MSG_HEADER_LENGTH,is_message_from_client = true, record_data is ssl record data, but is a error hello message,
// unit_test[29] check:check_ssl_record_sendable() return -1 (異常)
recv_length = HELLO_MSG_HEADER_LENGTH;
record_data[5] = 0x01;
record_data[9] = 0x00;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_hello_message = true;
is_message_from_client = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01;
record_data[9] = 0x00;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_hello_message = true;
is_message_from_client = false;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01;
record_data[9] = 0x00;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data, recv_length, all_length, is_hello_message);
record_data[5] = 0x01;
record_data[9] = 0x00;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_hello_message = true;
is_message_from_client = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01;
record_data[9] = 0x00;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_hello_message = true;
is_message_from_client = false;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = false;
all_length = 0u;
record_data[5] = 0x01;
record_data[9] = 0x00;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_hello_message = true;
is_message_from_client = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01;
record_data[9] = 0x00;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_hello_message = true;
is_message_from_client = false;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01;
record_data[9] = 0x00;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01;
record_data[9] = 0x00;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = true;
ret = this->check_ssl_record_sendable(is_message_from_client,
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = false;
all_length = 0u;
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = false;
all_length = 0u;
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = false;
all_length = 0u;
record_data[5] = 0x01; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = true;
is_hello_message = false;
all_length = 0u;
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = false;
all_length = 0u;
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x01;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = false;
all_length = 0u;
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = false;
all_length = 0u;
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = false;
all_length = 0u;
record_data[5] = 0x02; // client hello = 0x01, server hello = 0x02
record_data[9] = 0x03;
record_data[10] = 0x00;
+ record_data[43] = 0x20;
is_message_from_client = false;
is_hello_message = false;
all_length = 0u;
record_data, 0u, all_length, is_hello_message);
BOOST_CHECK_EQUAL(ret, -1);
delete[] record_data;
+
+ // unit_test[72] condition:recv_length=SESSION_ID_BEGAIN_OFFSET, record_data is ssl record data, but no session id
+ // uint_test[72] check:check_ssl_record_sendable() return 0 (送信可能)
+ recv_length = SESSION_ID_BEGAIN_OFFSET;
+ record_data = new char[SESSION_ID_BEGAIN_OFFSET];
+ record_data[0] = 0x16;
+ record_data[1] = 0x03;
+ record_data[2] = 0x01;
+ record_data[3] = 0x00;
+ record_data[4] = 0x27;
+ record_data[5] = 0x01;
+ record_data[43] = 0x00;
+ is_message_from_client = true;
+ is_hello_message = false;
+ ret = this->check_ssl_record_sendable(is_message_from_client,
+ record_data, recv_length, all_length, is_hello_message);
+ BOOST_CHECK_EQUAL(ret, 0);
+ BOOST_CHECK(is_hello_message);
+ BOOST_CHECK_EQUAL(all_length, 44u);
+ delete[] record_data;
+
+ // unit_test[73] condition:recv_length>SESSION_ID_BEGAIN_OFFSET, record_data is ssl record data, but no session id
+ // uint_test[73] check:check_ssl_record_sendable() return 0 (送信可能)
+ recv_length = SESSION_ID_BEGAIN_OFFSET+1;
+ record_data = new char[SESSION_ID_BEGAIN_OFFSET];
+ record_data[0] = 0x16;
+ record_data[1] = 0x03;
+ record_data[2] = 0x01;
+ record_data[3] = 0x00;
+ record_data[4] = 0x28;
+ record_data[5] = 0x01;
+ record_data[43] = 0x00;
+ is_message_from_client = true;
+ is_hello_message = false;
+ ret = this->check_ssl_record_sendable(is_message_from_client,
+ record_data, recv_length, all_length, is_hello_message);
+ BOOST_CHECK_EQUAL(ret, 0);
+ BOOST_CHECK(is_hello_message);
+ BOOST_CHECK_EQUAL(all_length, 45u);
+ delete[] record_data;
+
}
};
-/*
- * sslid_replication_data_processor_test.cpp
- *
- * Created on: Jan 20, 2009
- * Author: root
- */
#include "sslid_to_be_test_file.h"
using namespace boost::unit_test;
-/*
- * sslid_session_data_processor_test.cpp
- *
- * Created on: Jan 20, 2009
- * Author: root
- */
#include "sslid_to_be_test_file.h"
using namespace boost::unit_test;
-/*
- * sslid_to_be_test_file.h
- *
- * Created on: Jan 20, 2009
- * Author: root
- */
-
#ifndef SSLID_TO_BE_TEST_FILE_H_
#define SSLID_TO_BE_TEST_FILE_H_