39 #include <unit_test.h> 40 #include "../mavlink_bridge_header.h" 41 #include "../mavlink_ftp.h" 57 bool single_packet_file;
76 virtual void _init(
void);
77 virtual void _cleanup(
void);
80 bool _bad_opcode_test(
void);
81 bool _bad_datasize_test(
void);
82 bool _list_test(
void);
83 bool _list_eof_test(
void);
84 bool _open_badfile_test(
void);
85 bool _open_terminate_test(
void);
86 bool _terminate_badsession_test(
void);
87 bool _read_test(
void);
88 bool _read_badsession_test(
void);
89 bool _burst_test(
void);
90 bool _removedirectory_test(
void);
91 bool _createdirectory_test(
void);
92 bool _removefile_test(
void);
94 void _receive_message_handler_generic(
const mavlink_file_transfer_protocol_t *ftp_req);
95 void _setup_ftp_msg(
const MavlinkFTP::PayloadHeader *payload_header, uint8_t size,
const uint8_t *data,
96 mavlink_message_t *msg);
97 bool _decode_message(
const mavlink_file_transfer_protocol_t *ftp_msg,
const MavlinkFTP::PayloadHeader **payload);
98 bool _send_receive_msg(MavlinkFTP::PayloadHeader *payload_header,
101 const MavlinkFTP::PayloadHeader **payload_reply);
102 void _cleanup_microsd(
void);
105 struct DownloadTestCase {
107 const uint16_t length;
108 bool singlePacketRead;
109 bool exactlyFillPacket;
113 static const DownloadTestCase _rgDownloadTestCases[];
117 burst_state_first_ack,
118 burst_state_last_ack,
123 bool _receive_message_handler_burst(
const mavlink_file_transfer_protocol_t *ftp_req,
BurstInfo *burst_info);
126 uint16_t _expected_seq_number;
128 mavlink_file_transfer_protocol_t _reply_msg;
130 static const char _unittest_microsd_dir[];
131 static const char _unittest_microsd_file[];
134 bool mavlink_ftp_test(
void);
static void receive_message_handler_burst(const mavlink_file_transfer_protocol_t *ftp_req, void *worker_data)
Static method used as callback from MavlinkFTP for stream download testing.
Definition: mavlink_ftp_test.cpp:816
Definition: mavlink_ftp_test.h:43
static const uint8_t serverSystemId
System ID for server.
Definition: mavlink_ftp_test.h:64
static const uint8_t clientSystemId
System ID for client.
Definition: mavlink_ftp_test.h:68
static const uint8_t serverComponentId
Component ID for server.
Definition: mavlink_ftp_test.h:65
static const uint8_t clientComponentId
Component ID for client.
Definition: mavlink_ftp_test.h:69
static void receive_message_handler_generic(const mavlink_file_transfer_protocol_t *ftp_req, void *worker_data)
Static method used as callback from MavlinkFTP for generic use.
Definition: mavlink_ftp_test.cpp:803
Base class to be used for unit tests.
Definition: unit_test.h:54
MAVLink remote file server. Support FTP like commands using MAVLINK_MSG_ID_FILE_TRANSFER_PROTOCOL mes...
Definition: mavlink_ftp.h:52
virtual bool run_tests(void)
Runs all the unit tests.
Definition: mavlink_ftp_test.cpp:948
Worker data for stream handler.
Definition: mavlink_ftp_test.h:54
static const uint8_t serverChannel
Channel to send to.
Definition: mavlink_ftp_test.h:66