Lines Matching refs:ts

77     test_state ts;  in test_tftp_session_options()  local
78 ts.reset(1024, 1024, 1500); in test_tftp_session_options()
96 auto status = tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_session_options()
98 EXPECT_EQ((tftp_file_open_read_cb)open_read_fn, ts.session->file_interface.open_read, in test_tftp_session_options()
100 EXPECT_EQ((tftp_file_open_write_cb)open_write_fn, ts.session->file_interface.open_write, in test_tftp_session_options()
102 …EXPECT_EQ((tftp_file_read_cb)read_fn, ts.session->file_interface.read, "bad read function pointer"… in test_tftp_session_options()
103 …EXPECT_EQ((tftp_file_write_cb)write_fn, ts.session->file_interface.write, "bad write function poin… in test_tftp_session_options()
104 …EXPECT_EQ((tftp_file_close_cb)close_fn, ts.session->file_interface.close, "bad write function poin… in test_tftp_session_options()
109 bool verify_write_request(const test_state& ts) { in verify_write_request() argument
110 auto msg = reinterpret_cast<tftp_msg*>(ts.out); in verify_write_request()
116 bool verify_read_request(const test_state& ts) { in verify_read_request() argument
117 auto msg = reinterpret_cast<tftp_msg*>(ts.out); in verify_read_request()
146 test_state ts; in test_tftp_generate_request() local
147 ts.reset(1024, file_size, 1500); in test_tftp_generate_request()
150 status = tftp_set_options(ts.session, block_size, timeout, window_size); in test_tftp_generate_request()
153 EXPECT_EQ(*block_size, ts.session->options.block_size, "bad session options: block size"); in test_tftp_generate_request()
156 EXPECT_EQ(*timeout, ts.session->options.timeout, "bad session options: timeout"); in test_tftp_generate_request()
159 EXPECT_EQ(*window_size, ts.session->options.window_size, in test_tftp_generate_request()
164 status = tftp_generate_request(ts.session, dir, kLocalFilename, kRemoteFilename, in test_tftp_generate_request()
166 timeout_override, window_size_override, ts.out, &ts.outlen, in test_tftp_generate_request()
167 &ts.timeout); in test_tftp_generate_request()
170 EXPECT_TRUE(verify_write_request(ts), "bad write request"); in test_tftp_generate_request()
172 EXPECT_TRUE(verify_read_request(ts), "bad read request"); in test_tftp_generate_request()
175 EXPECT_EQ(REQ_SENT, ts.session->state, "bad session: state"); in test_tftp_generate_request()
177 EXPECT_EQ(file_size, ts.session->file_size, "bad session: file size"); in test_tftp_generate_request()
179 EXPECT_EQ(DEFAULT_MODE, ts.session->mode, "bad session: mode"); in test_tftp_generate_request()
180 EXPECT_EQ(0, ts.session->offset, "bad session: offset"); in test_tftp_generate_request()
181 EXPECT_EQ(0, ts.session->block_number, "bad session: block number"); in test_tftp_generate_request()
184 const char* msg = static_cast<const char*>(ts.out); in test_tftp_generate_request()
190 EXPECT_TRUE(find_str_in_mem(str, str_sz, msg, ts.outlen), "block size not overridden"); in test_tftp_generate_request()
193 EXPECT_TRUE(find_str_in_mem(str, str_sz, msg, ts.outlen), in test_tftp_generate_request()
197 EXPECT_FALSE(find_str_in_mem(str, str_sz, msg, ts.outlen), in test_tftp_generate_request()
203 EXPECT_TRUE(find_str_in_mem(str, str_sz, msg, ts.outlen), "timeout not overridden"); in test_tftp_generate_request()
206 EXPECT_TRUE(find_str_in_mem(str, str_sz, msg, ts.outlen), in test_tftp_generate_request()
210 EXPECT_FALSE(find_str_in_mem(str, str_sz, msg, ts.outlen), in test_tftp_generate_request()
216 EXPECT_TRUE(find_str_in_mem(str, str_sz, msg, ts.outlen), "window size not overridden"); in test_tftp_generate_request()
219 EXPECT_TRUE(find_str_in_mem(str, str_sz, msg, ts.outlen), in test_tftp_generate_request()
223 EXPECT_FALSE(find_str_in_mem(str, str_sz, msg, ts.outlen), in test_tftp_generate_request()
292 bool verify_response_opcode(const test_state& ts, uint16_t opcode) { in verify_response_opcode() argument
293 ASSERT_GT(ts.outlen, 0, "outlen must not be zero"); in verify_response_opcode()
294 auto msg = reinterpret_cast<tftp_msg*>(ts.out); in verify_response_opcode()
303 test_state ts; in test_tftp_receive_request_unexpected() local
304 ts.reset(1024, 1024, 1500); in test_tftp_receive_request_unexpected()
306 size_t req_file_size = (dir == SEND_FILE) ? ts.msg_size : 0; in test_tftp_receive_request_unexpected()
307 auto status = tftp_generate_request(ts.session, dir, kLocalFilename, kRemoteFilename, in test_tftp_receive_request_unexpected()
308 MODE_OCTET, req_file_size, NULL, NULL, NULL, ts.out, &ts.outlen, &ts.timeout); in test_tftp_receive_request_unexpected()
311 ASSERT_TRUE(verify_write_request(ts), "bad write request"); in test_tftp_receive_request_unexpected()
313 ASSERT_TRUE(verify_read_request(ts), "bad read request"); in test_tftp_receive_request_unexpected()
316 ASSERT_LE(ts.outlen, 1500, "outlen too large"); in test_tftp_receive_request_unexpected()
318 memcpy(buf, ts.out, ts.outlen); in test_tftp_receive_request_unexpected()
321 status = tftp_process_msg(ts.session, buf, sizeof(buf), ts.out, &ts.outlen, &ts.timeout, in test_tftp_receive_request_unexpected()
324 EXPECT_TRUE(verify_response_opcode(ts, OPCODE_ERROR), "bad error response"); in test_tftp_receive_request_unexpected()
340 test_state ts; in test_tftp_receive_request_too_large() local
341 ts.reset(1024, 1024, 1500); in test_tftp_receive_request_too_large()
346 auto status = tftp_process_msg(ts.session, buf, sizeof(buf), ts.out, &ts.outlen, &ts.timeout, in test_tftp_receive_request_too_large()
349 EXPECT_TRUE(verify_response_opcode(ts, OPCODE_ERROR), "bad error response"); in test_tftp_receive_request_too_large()
365 test_state ts; in test_tftp_receive_request_no_tsize() local
366 ts.reset(1024, 1024, 1500); in test_tftp_receive_request_no_tsize()
377 auto status = tftp_process_msg(ts.session, buf, buf_sz, ts.out, &ts.outlen, &ts.timeout, in test_tftp_receive_request_no_tsize()
380 EXPECT_EQ(ERROR, ts.session->state, "tftp session in wrong state"); in test_tftp_receive_request_no_tsize()
381 EXPECT_EQ(0, ts.session->file_size, "tftp session bad file size"); in test_tftp_receive_request_no_tsize()
382 EXPECT_TRUE(verify_response_opcode(ts, OPCODE_ERROR), "bad error response"); in test_tftp_receive_request_no_tsize()
398 test_state ts; in test_tftp_receive_request_send_oack() local
399 ts.reset(1024, 1024, 1500); in test_tftp_receive_request_send_oack()
414 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_request_send_oack()
418 tftp_set_options(ts.session, &default_block_size, &default_timeout, &default_window_size); in test_tftp_receive_request_send_oack()
430 auto status = tftp_process_msg(ts.session, buf, buf_sz, ts.out, &ts.outlen, &ts.timeout, in test_tftp_receive_request_send_oack()
433 EXPECT_EQ(REQ_RECEIVED, ts.session->state, "tftp session in wrong state"); in test_tftp_receive_request_send_oack()
434 EXPECT_EQ(req_file_size, ts.session->file_size, "tftp session bad file size"); in test_tftp_receive_request_send_oack()
435 EXPECT_EQ(DEFAULT_BLOCKSIZE, ts.session->block_size, "bad session: block size"); in test_tftp_receive_request_send_oack()
436 EXPECT_EQ(DEFAULT_TIMEOUT, ts.session->timeout, "bad session: timeout"); in test_tftp_receive_request_send_oack()
437 EXPECT_EQ(DEFAULT_WINDOWSIZE, ts.session->window_size, "bad session: window size"); in test_tftp_receive_request_send_oack()
438 EXPECT_TRUE(verify_response_opcode(ts, OPCODE_OACK), "bad response"); in test_tftp_receive_request_send_oack()
442 EXPECT_EQ(our_direction, ts.session->direction, "tftp session has bad direction"); in test_tftp_receive_request_send_oack()
444 const char* msg = static_cast<const char*>(ts.out); in test_tftp_receive_request_send_oack()
446 EXPECT_FALSE(find_str_in_mem(win_sz_str, sizeof(win_sz_str), msg, ts.outlen), in test_tftp_receive_request_send_oack()
449 EXPECT_FALSE(find_str_in_mem(timeout_str, sizeof(timeout_str), msg, ts.outlen), in test_tftp_receive_request_send_oack()
452 EXPECT_FALSE(find_str_in_mem(block_sz_str, sizeof(block_sz_str), msg, ts.outlen), in test_tftp_receive_request_send_oack()
486 test_state ts; in test_tftp_receive_request_options() local
487 ts.reset(1024, 1024, 1500); in test_tftp_receive_request_options()
489 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_request_options()
490 tftp_status status = tftp_set_options(ts.session, server_block_size, server_timeout, in test_tftp_receive_request_options()
519 status = tftp_process_msg(ts.session, buf, buf_sz, ts.out, &ts.outlen, &ts.timeout, nullptr); in test_tftp_receive_request_options()
521 EXPECT_TRUE(verify_response_opcode(ts, OPCODE_OACK), "bad response"); in test_tftp_receive_request_options()
523 const char* msg = static_cast<const char*>(ts.out); in test_tftp_receive_request_options()
534 EXPECT_TRUE(find_str_in_mem(opt_str, opt_str_sz, msg, ts.outlen), in test_tftp_receive_request_options()
536 EXPECT_EQ(negotiated_block_size, ts.session->block_size, "bad session: block size"); in test_tftp_receive_request_options()
539 EXPECT_FALSE(find_str_in_mem(opt_str, opt_str_sz, msg, ts.outlen), in test_tftp_receive_request_options()
541 EXPECT_EQ(DEFAULT_BLOCKSIZE, ts.session->block_size, "bad session: block size"); in test_tftp_receive_request_options()
551 EXPECT_TRUE(find_str_in_mem(opt_str, opt_str_sz, msg, ts.outlen), in test_tftp_receive_request_options()
553 EXPECT_EQ(negotiated_timeout, ts.session->timeout, "bad session: timeout"); in test_tftp_receive_request_options()
556 EXPECT_FALSE(find_str_in_mem(opt_str, opt_str_sz, msg, ts.outlen), in test_tftp_receive_request_options()
558 EXPECT_EQ(DEFAULT_TIMEOUT, ts.session->timeout, "bad session: timeout"); in test_tftp_receive_request_options()
568 EXPECT_TRUE(find_str_in_mem(opt_str, opt_str_sz, msg, ts.outlen), in test_tftp_receive_request_options()
570 EXPECT_EQ(negotiated_window_size, ts.session->window_size, "bad session: window size"); in test_tftp_receive_request_options()
573 EXPECT_FALSE(find_str_in_mem(opt_str, opt_str_sz, msg, ts.outlen), in test_tftp_receive_request_options()
575 EXPECT_EQ(DEFAULT_WINDOWSIZE, ts.session->window_size, "bad session: window size"); in test_tftp_receive_request_options()
730 bool verify_read_data(const test_state& ts, const tx_test_data& td) { in verify_read_data() argument
734 auto msg = static_cast<tftp_data_msg*>(ts.out); in verify_read_data()
765 test_state ts; in test_tftp_receive_wrq_oack() local
766 ts.reset(1024, file_size, 1500); in test_tftp_receive_wrq_oack()
768 auto status = tftp_generate_request(ts.session, SEND_FILE, kLocalFilename, kRemoteFilename, in test_tftp_receive_wrq_oack()
769 MODE_OCTET, ts.msg_size, block_size_ptr, timeout_ptr, in test_tftp_receive_wrq_oack()
770 window_size_ptr, ts.out, &ts.outlen, &ts.timeout); in test_tftp_receive_wrq_oack()
772 ASSERT_TRUE(verify_write_request(ts), "bad write request"); in test_tftp_receive_wrq_oack()
798 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_wrq_oack()
803 status = tftp_process_msg(ts.session, buf, buf_sz, ts.out, &ts.outlen, &ts.timeout, &td); in test_tftp_receive_wrq_oack()
806 EXPECT_EQ(has_pending, tftp_session_has_pending(ts.session), in test_tftp_receive_wrq_oack()
808 EXPECT_EQ(FIRST_DATA, ts.session->state, "session should be in state FIRST_DATA"); in test_tftp_receive_wrq_oack()
809 EXPECT_EQ(file_size, ts.session->file_size, "tftp session bad file size"); in test_tftp_receive_wrq_oack()
810 EXPECT_EQ(block_size, ts.session->block_size, "bad session: block size"); in test_tftp_receive_wrq_oack()
811 EXPECT_EQ(timeout, ts.session->timeout, "bad session: timeout"); in test_tftp_receive_wrq_oack()
812 EXPECT_EQ(window_size, ts.session->window_size, "bad session: window size"); in test_tftp_receive_wrq_oack()
814 EXPECT_EQ(ts.outlen, sizeof(tftp_data_msg) + block_size, "bad outlen"); in test_tftp_receive_wrq_oack()
815 EXPECT_EQ(ts.timeout, timeout * 1000U, "timeout should be set"); in test_tftp_receive_wrq_oack()
816 EXPECT_TRUE(verify_read_data(ts, td), "bad test data"); in test_tftp_receive_wrq_oack()
829 status = tftp_prepare_data(ts.session, ts.out, &ts.outlen, &ts.timeout, &td); in test_tftp_receive_wrq_oack()
830 EXPECT_EQ(ts.outlen, sizeof(tftp_data_msg) + block_size, "bad outlen"); in test_tftp_receive_wrq_oack()
831 EXPECT_TRUE(verify_read_data(ts, td), "bad test data"); in test_tftp_receive_wrq_oack()
833 EXPECT_EQ(has_pending, tftp_session_has_pending(ts.session), in test_tftp_receive_wrq_oack()
868 test_state ts; in test_tftp_receive_rrq_oack() local
869 ts.reset(1024, file_size, 1500); in test_tftp_receive_rrq_oack()
871 auto status = tftp_generate_request(ts.session, RECV_FILE, kLocalFilename, kRemoteFilename, in test_tftp_receive_rrq_oack()
873 window_size_ptr, ts.out, &ts.outlen, &ts.timeout); in test_tftp_receive_rrq_oack()
875 ASSERT_TRUE(verify_read_request(ts), "bad read request"); in test_tftp_receive_rrq_oack()
900 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_rrq_oack()
902 status = tftp_process_msg(ts.session, buf, buf_sz, ts.out, &ts.outlen, &ts.timeout, NULL); in test_tftp_receive_rrq_oack()
903 EXPECT_FALSE(tftp_session_has_pending(ts.session), "session should not have pending data"); in test_tftp_receive_rrq_oack()
904 EXPECT_EQ(FIRST_DATA, ts.session->state, "session should be in state FIRST_DATA"); in test_tftp_receive_rrq_oack()
905 EXPECT_EQ(file_size, ts.session->file_size, "tftp session bad file size"); in test_tftp_receive_rrq_oack()
906 EXPECT_EQ(block_size, ts.session->block_size, "bad session: block size"); in test_tftp_receive_rrq_oack()
907 EXPECT_EQ(timeout, ts.session->timeout, "bad session: timeout"); in test_tftp_receive_rrq_oack()
908 EXPECT_EQ(window_size, ts.session->window_size, "bad session: window size"); in test_tftp_receive_rrq_oack()
914 EXPECT_EQ(sizeof(expected_ack), ts.outlen, "response size mismatch"); in test_tftp_receive_rrq_oack()
915 EXPECT_EQ(0, memcmp(expected_ack, ts.out, sizeof(expected_ack)), "bad response"); in test_tftp_receive_rrq_oack()
942 test_state ts; in test_tftp_receive_oack_overrides() local
943 ts.reset(1024, 4096, 1500); in test_tftp_receive_oack_overrides()
949 auto status = tftp_generate_request(ts.session, SEND_FILE, kLocalFilename, kRemoteFilename, in test_tftp_receive_oack_overrides()
950 MODE_OCTET, ts.msg_size, &kBlockSize, &kTimeout, &kWindowSize, ts.out, &ts.outlen, in test_tftp_receive_oack_overrides()
951 &ts.timeout); in test_tftp_receive_oack_overrides()
967 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_oack_overrides()
970 status = tftp_process_msg(ts.session, buf, sizeof(buf), ts.out, &ts.outlen, &ts.timeout, &td); in test_tftp_receive_oack_overrides()
971 EXPECT_EQ(FIRST_DATA, ts.session->state, "session should be in state FIRST_DATA"); in test_tftp_receive_oack_overrides()
972 EXPECT_EQ(4096, ts.session->file_size, "tftp session bad file size"); in test_tftp_receive_oack_overrides()
973 EXPECT_EQ(55, ts.session->block_size, "bad session: block size"); in test_tftp_receive_oack_overrides()
974 EXPECT_EQ(3, ts.session->timeout, "bad session: timeout"); in test_tftp_receive_oack_overrides()
975 EXPECT_EQ(214, ts.session->window_size, "bad session: window size"); in test_tftp_receive_oack_overrides()
976 EXPECT_EQ(ts.outlen, sizeof(tftp_data_msg) + ts.session->block_size, "bad outlen"); in test_tftp_receive_oack_overrides()
1000 test_state ts; in test_tftp_receive_data() local
1001 ts.reset(1024, 1024, 1500); in test_tftp_receive_data()
1008 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data()
1019 auto status = tftp_process_msg(ts.session, req_buf, req_buf_sz, ts.out, &ts.outlen, in test_tftp_receive_data()
1020 &ts.timeout, nullptr); in test_tftp_receive_data()
1022 ASSERT_EQ(REQ_RECEIVED, ts.session->state, "tftp session in wrong state"); in test_tftp_receive_data()
1023 ASSERT_TRUE(verify_response_opcode(ts, OPCODE_OACK), "bad response"); in test_tftp_receive_data()
1033 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data()
1036 …status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_receive_data()
1038 EXPECT_TRUE(verify_response_opcode(ts, OPCODE_ACK), "bad response"); in test_tftp_receive_data()
1040 EXPECT_EQ(1, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_receive_data()
1041 EXPECT_EQ(0, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_receive_data()
1049 test_state ts; in test_tftp_receive_data_final_block() local
1050 ts.reset(1024, 1024, 1500); in test_tftp_receive_data_final_block()
1057 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data_final_block()
1068 …auto status = tftp_process_msg(ts.session, req_buf, req_buf_sz, ts.out, &ts.outlen, &ts.timeout, n… in test_tftp_receive_data_final_block()
1070 ASSERT_EQ(REQ_RECEIVED, ts.session->state, "tftp session in wrong state"); in test_tftp_receive_data_final_block()
1071 ASSERT_TRUE(verify_response_opcode(ts, OPCODE_OACK), "bad response"); in test_tftp_receive_data_final_block()
1081 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data_final_block()
1084 …status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_receive_data_final_block()
1086 ASSERT_TRUE(verify_response_opcode(ts, OPCODE_ACK), "bad response"); in test_tftp_receive_data_final_block()
1096 …status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_receive_data_final_block()
1098 ASSERT_TRUE(verify_response_opcode(ts, OPCODE_ACK), "bad response"); in test_tftp_receive_data_final_block()
1103 status = tftp_process_msg(ts.session, data_buf, 4, ts.out, &ts.outlen, &ts.timeout, nullptr); in test_tftp_receive_data_final_block()
1105 ASSERT_TRUE(verify_response_opcode(ts, OPCODE_ACK), "bad response"); in test_tftp_receive_data_final_block()
1112 test_state ts; in test_tftp_receive_data_blocksize() local
1113 ts.reset(1024, 2048, 1500); in test_tftp_receive_data_blocksize()
1120 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data_blocksize()
1131 auto status = tftp_process_msg(ts.session, req_buf, req_buf_sz, ts.out, &ts.outlen, in test_tftp_receive_data_blocksize()
1132 &ts.timeout, nullptr); in test_tftp_receive_data_blocksize()
1134 ASSERT_EQ(REQ_RECEIVED, ts.session->state, "tftp session in wrong state"); in test_tftp_receive_data_blocksize()
1135 ASSERT_TRUE(verify_response_opcode(ts, OPCODE_OACK), "bad response"); in test_tftp_receive_data_blocksize()
1145 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data_blocksize()
1149 …status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_receive_data_blocksize()
1151 EXPECT_TRUE(verify_response_opcode(ts, OPCODE_ACK), "bad response"); in test_tftp_receive_data_blocksize()
1153 EXPECT_EQ(1, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_receive_data_blocksize()
1154 EXPECT_EQ(0, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_receive_data_blocksize()
1162 test_state ts; in test_tftp_receive_data_windowsize() local
1163 ts.reset(1024, 1025, 1500); in test_tftp_receive_data_windowsize()
1170 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data_windowsize()
1181 auto status = tftp_process_msg(ts.session, req_buf, req_buf_sz, ts.out, &ts.outlen, in test_tftp_receive_data_windowsize()
1182 &ts.timeout, nullptr); in test_tftp_receive_data_windowsize()
1184 ASSERT_EQ(REQ_RECEIVED, ts.session->state, "tftp session in wrong state"); in test_tftp_receive_data_windowsize()
1185 ASSERT_TRUE(verify_response_opcode(ts, OPCODE_OACK), "bad response"); in test_tftp_receive_data_windowsize()
1195 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data_windowsize()
1198 …status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_receive_data_windowsize()
1200 EXPECT_EQ(0, ts.outlen, "no response expected"); in test_tftp_receive_data_windowsize()
1202 EXPECT_EQ(1, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_receive_data_windowsize()
1203 EXPECT_EQ(1, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_receive_data_windowsize()
1212 …status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_receive_data_windowsize()
1214 EXPECT_TRUE(verify_response_opcode(ts, OPCODE_ACK), "bad response"); in test_tftp_receive_data_windowsize()
1216 EXPECT_EQ(2, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_receive_data_windowsize()
1217 EXPECT_EQ(0, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_receive_data_windowsize()
1225 test_state ts; in test_tftp_receive_data_skipped_block() local
1226 ts.reset(1024, 1024, 1500); in test_tftp_receive_data_skipped_block()
1233 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data_skipped_block()
1244 auto status = tftp_process_msg(ts.session, req_buf, req_buf_sz, ts.out, &ts.outlen, in test_tftp_receive_data_skipped_block()
1245 &ts.timeout, nullptr); in test_tftp_receive_data_skipped_block()
1247 ASSERT_EQ(REQ_RECEIVED, ts.session->state, "tftp session in wrong state"); in test_tftp_receive_data_skipped_block()
1248 ASSERT_TRUE(verify_response_opcode(ts, OPCODE_OACK), "bad response"); in test_tftp_receive_data_skipped_block()
1259 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data_skipped_block()
1261 …status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_receive_data_skipped_block()
1263 ASSERT_GT(ts.outlen, 0, "outlen must not be zero"); in test_tftp_receive_data_skipped_block()
1264 auto msg = reinterpret_cast<tftp_data_msg*>(ts.out); in test_tftp_receive_data_skipped_block()
1269 EXPECT_EQ(0, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_receive_data_skipped_block()
1270 EXPECT_EQ(0, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_receive_data_skipped_block()
1273 tftp_session_set_opcode_prefix_use(ts.session, false); in test_tftp_receive_data_skipped_block()
1274 …status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_receive_data_skipped_block()
1276 ASSERT_GT(ts.outlen, 0, "outlen must not be zero"); in test_tftp_receive_data_skipped_block()
1277 msg = reinterpret_cast<tftp_data_msg*>(ts.out); in test_tftp_receive_data_skipped_block()
1288 test_state ts; in test_tftp_receive_data_windowsize_skipped_block() local
1289 ts.reset(1024, 2048, 1500); in test_tftp_receive_data_windowsize_skipped_block()
1296 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data_windowsize_skipped_block()
1307 auto status = tftp_process_msg(ts.session, req_buf, req_buf_sz, ts.out, &ts.outlen, in test_tftp_receive_data_windowsize_skipped_block()
1308 &ts.timeout, nullptr); in test_tftp_receive_data_windowsize_skipped_block()
1310 ASSERT_EQ(REQ_RECEIVED, ts.session->state, "tftp session in wrong state"); in test_tftp_receive_data_windowsize_skipped_block()
1311 ASSERT_TRUE(verify_response_opcode(ts, OPCODE_OACK), "bad response"); in test_tftp_receive_data_windowsize_skipped_block()
1321 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data_windowsize_skipped_block()
1324 …status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_receive_data_windowsize_skipped_block()
1327 EXPECT_EQ(1, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_receive_data_windowsize_skipped_block()
1328 EXPECT_EQ(1, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_receive_data_windowsize_skipped_block()
1337 …status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_receive_data_windowsize_skipped_block()
1340 EXPECT_EQ(2, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_receive_data_windowsize_skipped_block()
1341 EXPECT_EQ(2, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_receive_data_windowsize_skipped_block()
1349 …status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_receive_data_windowsize_skipped_block()
1351 ASSERT_GT(ts.outlen, 0, "outlen must not be zero"); in test_tftp_receive_data_windowsize_skipped_block()
1352 auto msg = reinterpret_cast<tftp_data_msg*>(ts.out); in test_tftp_receive_data_windowsize_skipped_block()
1358 EXPECT_EQ(2, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_receive_data_windowsize_skipped_block()
1360 EXPECT_EQ(0, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_receive_data_windowsize_skipped_block()
1374 test_state ts; in test_tftp_receive_data_block_wrapping() local
1377 ts.reset(1024, 2048, 2048); in test_tftp_receive_data_block_wrapping()
1395 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_receive_data_block_wrapping()
1407 auto status = tftp_process_msg(ts.session, req_buf, req_buf_sz, ts.out, &ts.outlen, in test_tftp_receive_data_block_wrapping()
1408 &ts.timeout, nullptr); in test_tftp_receive_data_block_wrapping()
1410 ASSERT_EQ(REQ_RECEIVED, ts.session->state, "tftp session in wrong state"); in test_tftp_receive_data_block_wrapping()
1411 ASSERT_TRUE(verify_response_opcode(ts, OPCODE_OACK), "bad response"); in test_tftp_receive_data_block_wrapping()
1414 ts.session->block_number = kWrapAt; in test_tftp_receive_data_block_wrapping()
1415 ts.session->window_index = 0; in test_tftp_receive_data_block_wrapping()
1423 status = tftp_process_msg(ts.session, data_buf, sizeof(data_buf), ts.out, &ts.outlen, in test_tftp_receive_data_block_wrapping()
1424 &ts.timeout, NULL); in test_tftp_receive_data_block_wrapping()
1427 EXPECT_EQ(kWrapAt + 1, ts.session->block_number, "failed to advance block number"); in test_tftp_receive_data_block_wrapping()
1433 EXPECT_EQ(sizeof(expected_ack), ts.outlen, "response size mismatch"); in test_tftp_receive_data_block_wrapping()
1434 EXPECT_EQ(0, memcmp(expected_ack, ts.out, sizeof(expected_ack)), "bad response"); in test_tftp_receive_data_block_wrapping()
1444 test_state ts; in test_tftp_send_data_receive_ack() local
1445 ts.reset(1024, 1024, 1500); in test_tftp_send_data_receive_ack()
1447 auto status = tftp_generate_request(ts.session, SEND_FILE, kLocalFilename, kRemoteFilename, in test_tftp_send_data_receive_ack()
1448 MODE_OCTET, ts.msg_size, NULL, NULL, NULL, ts.out, &ts.outlen, &ts.timeout); in test_tftp_send_data_receive_ack()
1450 EXPECT_TRUE(verify_write_request(ts), "bad write request"); in test_tftp_send_data_receive_ack()
1459 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_send_data_receive_ack()
1462 …status = tftp_process_msg(ts.session, oack_buf, sizeof(oack_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_send_data_receive_ack()
1464 EXPECT_EQ(ts.outlen, sizeof(tftp_data_msg) + DEFAULT_BLOCKSIZE, "bad outlen"); in test_tftp_send_data_receive_ack()
1465 EXPECT_TRUE(verify_read_data(ts, td), "bad test data"); in test_tftp_send_data_receive_ack()
1475 …status = tftp_process_msg(ts.session, ack_buf, sizeof(ack_buf), ts.out, &ts.outlen, &ts.timeout, &… in test_tftp_send_data_receive_ack()
1477 EXPECT_EQ(SENDING_DATA, ts.session->state, "session should be in state SENDING_DATA"); in test_tftp_send_data_receive_ack()
1479 EXPECT_EQ(1, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_send_data_receive_ack()
1480 EXPECT_EQ(1, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_send_data_receive_ack()
1481 EXPECT_EQ(ts.outlen, sizeof(tftp_data_msg) + DEFAULT_BLOCKSIZE, "bad outlen"); in test_tftp_send_data_receive_ack()
1482 EXPECT_TRUE(verify_read_data(ts, td), "bad test data"); in test_tftp_send_data_receive_ack()
1490 test_state ts; in test_tftp_send_data_receive_final_ack() local
1491 ts.reset(1024, 1024, 1500); in test_tftp_send_data_receive_final_ack()
1493 auto status = tftp_generate_request(ts.session, SEND_FILE, kLocalFilename, kRemoteFilename, in test_tftp_send_data_receive_final_ack()
1494 MODE_OCTET, ts.msg_size, NULL, NULL, NULL, ts.out, &ts.outlen, &ts.timeout); in test_tftp_send_data_receive_final_ack()
1496 EXPECT_TRUE(verify_write_request(ts), "bad write request"); in test_tftp_send_data_receive_final_ack()
1505 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_send_data_receive_final_ack()
1508 …status = tftp_process_msg(ts.session, oack_buf, sizeof(oack_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_send_data_receive_final_ack()
1510 ASSERT_EQ(ts.outlen, sizeof(tftp_data_msg) + DEFAULT_BLOCKSIZE, "bad outlen"); in test_tftp_send_data_receive_final_ack()
1511 ASSERT_TRUE(verify_read_data(ts, td), "bad test data"); in test_tftp_send_data_receive_final_ack()
1520 …status = tftp_process_msg(ts.session, ack_buf, sizeof(ack_buf), ts.out, &ts.outlen, &ts.timeout, &… in test_tftp_send_data_receive_final_ack()
1522 EXPECT_EQ(ts.outlen, sizeof(tftp_data_msg) + DEFAULT_BLOCKSIZE, "bad outlen"); in test_tftp_send_data_receive_final_ack()
1523 EXPECT_TRUE(verify_read_data(ts, td), "bad test data"); in test_tftp_send_data_receive_final_ack()
1527 …status = tftp_process_msg(ts.session, ack_buf, sizeof(ack_buf), ts.out, &ts.outlen, &ts.timeout, &… in test_tftp_send_data_receive_final_ack()
1529 EXPECT_EQ(ts.outlen, sizeof(tftp_data_msg), "block 3 not empty"); in test_tftp_send_data_receive_final_ack()
1533 …status = tftp_process_msg(ts.session, ack_buf, sizeof(ack_buf), ts.out, &ts.outlen, &ts.timeout, n… in test_tftp_send_data_receive_final_ack()
1535 EXPECT_EQ(ts.outlen, 0, "no outgoing message expected"); in test_tftp_send_data_receive_final_ack()
1543 test_state ts; in test_tftp_send_data_receive_ack_skipped_block() local
1544 ts.reset(1024, 1024, 1500); in test_tftp_send_data_receive_ack_skipped_block()
1546 auto status = tftp_generate_request(ts.session, SEND_FILE, kLocalFilename, kRemoteFilename, in test_tftp_send_data_receive_ack_skipped_block()
1547 MODE_OCTET, ts.msg_size, NULL, NULL, NULL, ts.out, &ts.outlen, &ts.timeout); in test_tftp_send_data_receive_ack_skipped_block()
1549 EXPECT_TRUE(verify_write_request(ts), "bad write request"); in test_tftp_send_data_receive_ack_skipped_block()
1558 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_send_data_receive_ack_skipped_block()
1561 …status = tftp_process_msg(ts.session, oack_buf, sizeof(oack_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_send_data_receive_ack_skipped_block()
1563 ASSERT_EQ(ts.outlen, sizeof(tftp_data_msg) + DEFAULT_BLOCKSIZE, "bad outlen"); in test_tftp_send_data_receive_ack_skipped_block()
1564 ASSERT_TRUE(verify_read_data(ts, td), "bad test data"); in test_tftp_send_data_receive_ack_skipped_block()
1572 …status = tftp_process_msg(ts.session, ack_buf, sizeof(ack_buf), ts.out, &ts.outlen, &ts.timeout, &… in test_tftp_send_data_receive_ack_skipped_block()
1574 EXPECT_EQ(SENDING_DATA, ts.session->state, "session should be in state SENDING_DATA"); in test_tftp_send_data_receive_ack_skipped_block()
1575 EXPECT_EQ(0, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_send_data_receive_ack_skipped_block()
1576 EXPECT_EQ(1, ts.session->window_index, "tftp window index mismatch"); in test_tftp_send_data_receive_ack_skipped_block()
1577 EXPECT_EQ(ts.outlen, sizeof(tftp_data_msg) + DEFAULT_BLOCKSIZE, "bad outlen"); in test_tftp_send_data_receive_ack_skipped_block()
1578 EXPECT_TRUE(verify_read_data(ts, td2), "bad test data"); in test_tftp_send_data_receive_ack_skipped_block()
1586 test_state ts; in test_tftp_send_data_receive_ack_window_size() local
1587 ts.reset(1024, 2048, 1500); in test_tftp_send_data_receive_ack_window_size()
1589 auto status = tftp_generate_request(ts.session, SEND_FILE, kLocalFilename, kRemoteFilename, in test_tftp_send_data_receive_ack_window_size()
1590 MODE_OCTET, ts.msg_size, NULL, NULL, &kWindowSize, ts.out, &ts.outlen, &ts.timeout); in test_tftp_send_data_receive_ack_window_size()
1592 EXPECT_TRUE(verify_write_request(ts), "bad write request"); in test_tftp_send_data_receive_ack_window_size()
1603 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_send_data_receive_ack_window_size()
1606 …status = tftp_process_msg(ts.session, oack_buf, sizeof(oack_buf), ts.out, &ts.outlen, &ts.timeout,… in test_tftp_send_data_receive_ack_window_size()
1608 ASSERT_EQ(0, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_send_data_receive_ack_window_size()
1609 ASSERT_EQ(1, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_send_data_receive_ack_window_size()
1610 ASSERT_EQ(ts.outlen, sizeof(tftp_data_msg) + DEFAULT_BLOCKSIZE, "bad outlen"); in test_tftp_send_data_receive_ack_window_size()
1611 ASSERT_TRUE(verify_read_data(ts, td), "bad test data"); in test_tftp_send_data_receive_ack_window_size()
1612 ASSERT_TRUE(tftp_session_has_pending(ts.session), "expected pending data to transmit"); in test_tftp_send_data_receive_ack_window_size()
1617 status = tftp_prepare_data(ts.session, ts.out, &ts.outlen, &ts.timeout, &td); in test_tftp_send_data_receive_ack_window_size()
1620 ASSERT_EQ(0, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_send_data_receive_ack_window_size()
1621 ASSERT_EQ(2, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_send_data_receive_ack_window_size()
1622 ASSERT_EQ(ts.outlen, sizeof(tftp_data_msg) + DEFAULT_BLOCKSIZE, "bad outlen"); in test_tftp_send_data_receive_ack_window_size()
1623 ASSERT_TRUE(verify_read_data(ts, td), "bad test data"); in test_tftp_send_data_receive_ack_window_size()
1624 ASSERT_FALSE(tftp_session_has_pending(ts.session), "expected to wait for ack"); in test_tftp_send_data_receive_ack_window_size()
1634 …status = tftp_process_msg(ts.session, ack_buf, sizeof(ack_buf), ts.out, &ts.outlen, &ts.timeout, &… in test_tftp_send_data_receive_ack_window_size()
1636 EXPECT_EQ(SENDING_DATA, ts.session->state, "session should be in state SENDING_DATA"); in test_tftp_send_data_receive_ack_window_size()
1637 EXPECT_EQ(2, ts.session->block_number, "tftp session block number mismatch"); in test_tftp_send_data_receive_ack_window_size()
1638 EXPECT_EQ(1, ts.session->window_index, "tftp session window index mismatch"); in test_tftp_send_data_receive_ack_window_size()
1639 EXPECT_EQ(ts.outlen, sizeof(tftp_data_msg) + DEFAULT_BLOCKSIZE, "bad outlen"); in test_tftp_send_data_receive_ack_window_size()
1640 EXPECT_TRUE(verify_read_data(ts, td), "bad test data"); in test_tftp_send_data_receive_ack_window_size()
1641 EXPECT_TRUE(tftp_session_has_pending(ts.session), "expected pending data to transmit"); in test_tftp_send_data_receive_ack_window_size()
1656 test_state ts; in test_tftp_send_data_receive_ack_block_wrapping() local
1657 ts.reset(1024, 2048, 2048); in test_tftp_send_data_receive_ack_block_wrapping()
1659 auto status = tftp_generate_request(ts.session, SEND_FILE, kLocalFilename, kRemoteFilename, in test_tftp_send_data_receive_ack_block_wrapping()
1660 MODE_OCTET, kFileSize, &kBlockSize, NULL, NULL, ts.out, &ts.outlen, &ts.timeout); in test_tftp_send_data_receive_ack_block_wrapping()
1662 EXPECT_TRUE(verify_write_request(ts), "bad write request"); in test_tftp_send_data_receive_ack_block_wrapping()
1679 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_send_data_receive_ack_block_wrapping()
1681 status = tftp_process_msg(ts.session, oack_buf, oack_buf_sz, ts.out, &ts.outlen, in test_tftp_send_data_receive_ack_block_wrapping()
1682 &ts.timeout, NULL); in test_tftp_send_data_receive_ack_block_wrapping()
1687 ts.session->block_number = kWrapAt; in test_tftp_send_data_receive_ack_block_wrapping()
1688 ts.session->window_index = 0; in test_tftp_send_data_receive_ack_block_wrapping()
1699 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_send_data_receive_ack_block_wrapping()
1700 status = tftp_prepare_data(ts.session, data_buf, &data_buf_len, &ts.timeout, NULL); in test_tftp_send_data_receive_ack_block_wrapping()
1723 test_state ts; in test_tftp_send_data_receive_ack_skip_block_wrap() local
1724 ts.reset(1024, 2048, 2048); in test_tftp_send_data_receive_ack_skip_block_wrap()
1727 auto status = tftp_generate_request(ts.session, SEND_FILE, kLocalFilename, kRemoteFilename, in test_tftp_send_data_receive_ack_skip_block_wrap()
1728 MODE_OCTET, kFileSize, &kBlockSize, NULL, NULL, ts.out, &ts.outlen, &ts.timeout); in test_tftp_send_data_receive_ack_skip_block_wrap()
1730 EXPECT_TRUE(verify_write_request(ts), "bad write request"); in test_tftp_send_data_receive_ack_skip_block_wrap()
1748 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_send_data_receive_ack_skip_block_wrap()
1751 status = tftp_process_msg(ts.session, oack_buf, oack_buf_sz, ts.out, &ts.outlen, in test_tftp_send_data_receive_ack_skip_block_wrap()
1752 &ts.timeout, NULL); in test_tftp_send_data_receive_ack_skip_block_wrap()
1757 ts.session->block_number = kLastBlockSent; in test_tftp_send_data_receive_ack_skip_block_wrap()
1758 ts.session->window_index = 0; in test_tftp_send_data_receive_ack_skip_block_wrap()
1771 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_send_data_receive_ack_skip_block_wrap()
1772 status = tftp_prepare_data(ts.session, data_buf, &data_buf_len, &ts.timeout, NULL); in test_tftp_send_data_receive_ack_skip_block_wrap()
1790 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_send_data_receive_ack_skip_block_wrap()
1793 status = tftp_process_msg(ts.session, reinterpret_cast<void*>(&ack_msg), sizeof(ack_msg), in test_tftp_send_data_receive_ack_skip_block_wrap()
1794 ts.out, &ts.outlen, &ts.timeout, NULL); in test_tftp_send_data_receive_ack_skip_block_wrap()
1797 ASSERT_EQ(ts.outlen, sizeof(tftp_data_msg) + kBlockSize, "improper DATA packet size"); in test_tftp_send_data_receive_ack_skip_block_wrap()
1798 msg = reinterpret_cast<tftp_data_msg*>(ts.out); in test_tftp_send_data_receive_ack_skip_block_wrap()
1803 EXPECT_EQ(ts.session->block_number, kAckBlock, "session offset not rewound correctly"); in test_tftp_send_data_receive_ack_skip_block_wrap()
1804 EXPECT_EQ(ts.session->window_index, 1, "window index not set correctly"); in test_tftp_send_data_receive_ack_skip_block_wrap()
1810 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_send_data_receive_ack_skip_block_wrap()
1811 tftp_session_set_opcode_prefix_use(ts.session, false); in test_tftp_send_data_receive_ack_skip_block_wrap()
1813 status = tftp_process_msg(ts.session, reinterpret_cast<void*>(&ack_msg), sizeof(ack_msg), in test_tftp_send_data_receive_ack_skip_block_wrap()
1814 ts.out, &ts.outlen, &ts.timeout, NULL); in test_tftp_send_data_receive_ack_skip_block_wrap()
1816 ASSERT_EQ(ts.outlen, sizeof(tftp_data_msg) + kBlockSize, "improper DATA packet size"); in test_tftp_send_data_receive_ack_skip_block_wrap()
1817 msg = reinterpret_cast<tftp_data_msg*>(ts.out); in test_tftp_send_data_receive_ack_skip_block_wrap()
1841 test_state ts; in test_tftp_open_should_wait() local
1842 ts.reset(1024, 1024, 1500); in test_tftp_open_should_wait()
1844 tftp_session_set_file_interface(ts.session, &ifc); in test_tftp_open_should_wait()
1862 tftp_status status = tftp_process_msg(ts.session, buf, buf_sz, ts.out, &ts.outlen, &ts.timeout, in test_tftp_open_should_wait()
1869 ASSERT_GT(ts.outlen, 0); in test_tftp_open_should_wait()
1870 auto msg = reinterpret_cast<tftp_err_msg*>(ts.out); in test_tftp_open_should_wait()
1897 test_state ts; in test_tftp_recv_busy() local
1898 ts.reset(1024, 1024, 1500); in test_tftp_recv_busy()
1900 auto status = tftp_generate_request(ts.session, dir, kLocalFilename, kRemoteFilename, in test_tftp_recv_busy()
1901 MODE_OCTET, dir == SEND_FILE ? ts.msg_size : 0, in test_tftp_recv_busy()
1902 NULL, NULL, NULL, ts.out, &ts.outlen, &ts.timeout); in test_tftp_recv_busy()
1905 ASSERT_TRUE(verify_write_request(ts), "bad write request"); in test_tftp_recv_busy()
1907 ASSERT_TRUE(verify_read_request(ts), "bad read request"); in test_tftp_recv_busy()
1920 status = tftp_process_msg(ts.session, buf, buf_sz, ts.out, &ts.outlen, &ts.timeout, nullptr); in test_tftp_recv_busy()
1926 EXPECT_EQ(ts.outlen, 0); in test_tftp_recv_busy()
1929 EXPECT_EQ(NONE, ts.session->state, "bad session: state"); in test_tftp_recv_busy()
1948 test_state ts; in test_tftp_recv_other_err() local
1949 ts.reset(1024, 1024, 1500); in test_tftp_recv_other_err()
1951 auto status = tftp_generate_request(ts.session, SEND_FILE, kLocalFilename, kRemoteFilename, in test_tftp_recv_other_err()
1952 MODE_OCTET, ts.msg_size, NULL, NULL, NULL, ts.out, in test_tftp_recv_other_err()
1953 &ts.outlen, &ts.timeout); in test_tftp_recv_other_err()
1955 ASSERT_TRUE(verify_write_request(ts), "bad write request"); in test_tftp_recv_other_err()
1967 status = tftp_process_msg(ts.session, buf, buf_sz, ts.out, &ts.outlen, &ts.timeout, nullptr); in test_tftp_recv_other_err()
1973 EXPECT_EQ(ts.outlen, 0); in test_tftp_recv_other_err()
1976 EXPECT_EQ(ERROR, ts.session->state, "bad session: state"); in test_tftp_recv_other_err()