aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Ermakov <vooon341@gmail.com>2014-09-10 11:54:42 +0400
committerVladimir Ermakov <vooon341@gmail.com>2014-09-10 11:54:42 +0400
commited66097ebc4808587301bd569b5bef6c312800c4 (patch)
tree39135d1727543b84f03b43d0b939e54ffb065c78
parent745707d19377e2c650258ea77570a5f84a71c1b7 (diff)
downloadpx4-firmware-ed66097ebc4808587301bd569b5bef6c312800c4.tar.gz
px4-firmware-ed66097ebc4808587301bd569b5bef6c312800c4.tar.bz2
px4-firmware-ed66097ebc4808587301bd569b5bef6c312800c4.zip
FTP: Update unit test for new header size.
_list_test failed.
-rw-r--r--ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_238.data (renamed from ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_234.data)bin234 -> 238 bytes
-rw-r--r--ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_239.data (renamed from ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_235.data)bin235 -> 239 bytes
-rw-r--r--ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_240.data (renamed from ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_236.data)bin236 -> 240 bytes
-rw-r--r--src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp57
-rw-r--r--src/modules/mavlink/mavlink_tests/mavlink_ftp_test.h2
5 files changed, 6 insertions, 53 deletions
diff --git a/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_234.data b/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_238.data
index 3e075aa4f..973de16e5 100644
--- a/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_234.data
+++ b/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_238.data
Binary files differ
diff --git a/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_235.data b/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_239.data
index 61372f769..7e8764c03 100644
--- a/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_235.data
+++ b/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_239.data
Binary files differ
diff --git a/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_236.data b/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_240.data
index eb7fcb11a..f3fe31687 100644
--- a/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_236.data
+++ b/ROMFS/px4fmu_test/unit_test_data/mavlink_tests/test_240.data
Binary files differ
diff --git a/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp b/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp
index ebfce6d74..3616db237 100644
--- a/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp
+++ b/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.cpp
@@ -44,9 +44,9 @@
/// @brief Test case file name for Read command. File are generated using mavlink_ftp_test_data.py
const MavlinkFtpTest::ReadTestCase MavlinkFtpTest::_rgReadTestCases[] = {
- { "/etc/unit_test_data/mavlink_tests/test_234.data", MAVLINK_MSG_FILE_TRANSFER_PROTOCOL_FIELD_PAYLOAD_LEN - sizeof(MavlinkFTP::PayloadHeader) - 1}, // Read takes less than single packet
- { "/etc/unit_test_data/mavlink_tests/test_235.data", MAVLINK_MSG_FILE_TRANSFER_PROTOCOL_FIELD_PAYLOAD_LEN - sizeof(MavlinkFTP::PayloadHeader) }, // Read completely fills single packet
- { "/etc/unit_test_data/mavlink_tests/test_236.data", MAVLINK_MSG_FILE_TRANSFER_PROTOCOL_FIELD_PAYLOAD_LEN - sizeof(MavlinkFTP::PayloadHeader) + 1 }, // Read take two packets
+ { "/etc/unit_test_data/mavlink_tests/test_238.data", MAVLINK_MSG_FILE_TRANSFER_PROTOCOL_FIELD_PAYLOAD_LEN - sizeof(MavlinkFTP::PayloadHeader) - 1}, // Read takes less than single packet
+ { "/etc/unit_test_data/mavlink_tests/test_239.data", MAVLINK_MSG_FILE_TRANSFER_PROTOCOL_FIELD_PAYLOAD_LEN - sizeof(MavlinkFTP::PayloadHeader) }, // Read completely fills single packet
+ { "/etc/unit_test_data/mavlink_tests/test_240.data", MAVLINK_MSG_FILE_TRANSFER_PROTOCOL_FIELD_PAYLOAD_LEN - sizeof(MavlinkFTP::PayloadHeader) + 1 }, // Read take two packets
};
const char MavlinkFtpTest::_unittest_microsd_dir[] = "/fs/microsd/ftp_unit_test_dir";
@@ -105,33 +105,6 @@ bool MavlinkFtpTest::_ack_test(void)
return true;
}
-/// @brief Tests for correct response to a message sent with an invalid CRC.
-bool MavlinkFtpTest::_bad_crc_test(void)
-{
- mavlink_message_t msg;
- MavlinkFTP::PayloadHeader payload;
- mavlink_file_transfer_protocol_t ftp_msg;
- MavlinkFTP::PayloadHeader *reply;
-
- payload.opcode = MavlinkFTP::kCmdNone;
-
- _setup_ftp_msg(&payload, 0, nullptr, &msg);
-
- ((MavlinkFTP::PayloadHeader*)((mavlink_file_transfer_protocol_t*)msg.payload64)->payload)->crc32++;
-
- _ftp_server->handle_message(nullptr /* mavlink */, &msg);
-
- if (!_decode_message(&_reply_msg, &ftp_msg, &reply)) {
- return false;
- }
-
- ut_compare("Didn't get Nak back", reply->opcode, MavlinkFTP::kRspNak);
- ut_compare("Incorrect payload size", reply->size, 1);
- ut_compare("Incorrect error code", reply->data[0], MavlinkFTP::kErrCrc);
-
- return true;
-}
-
/// @brief Tests for correct response to an invalid opcpde.
bool MavlinkFtpTest::_bad_opcode_test(void)
{
@@ -191,7 +164,7 @@ bool MavlinkFtpTest::_list_test(void)
mavlink_file_transfer_protocol_t ftp_msg;
MavlinkFTP::PayloadHeader *reply;
- char response1[] = "D.|Dempty_dir|Ftest_234.data\t234|Ftest_235.data\t235|Ftest_236.data\t236";
+ char response1[] = "D.|Dempty_dir|Ftest_238.data\t238|Ftest_239.data\t239|Ftest_240.data\t240";
char response2[] = "Ddev|Detc|Dfs|Dobj";
struct _testCase {
@@ -690,9 +663,6 @@ bool MavlinkFtpTest::_decode_message(const mavlink_message_t *msg, ///< Mavlin
*payload = reinterpret_cast<MavlinkFTP::PayloadHeader *>(ftp_msg->payload);
- // Make sure we have a good CRC
- ut_compare("Incoming CRC mismatch", (*payload)->crc32, _payload_crc32((*payload)));
-
// Make sure we have a good sequence number
ut_compare("Sequence number mismatch", (*payload)->seqNumber, _lastOutgoingSeqNumber + 1);
@@ -702,21 +672,6 @@ bool MavlinkFtpTest::_decode_message(const mavlink_message_t *msg, ///< Mavlin
return true;
}
-/// @brief Returns the 32 bit CRC for the payload, crc32 and padding are set to 0 for calculation.
-uint32_t MavlinkFtpTest::_payload_crc32(struct MavlinkFTP::PayloadHeader *payload)
-{
- // We calculate CRC with crc and padding set to 0.
- uint32_t saveCRC = payload->crc32;
- payload->crc32 = 0;
- payload->padding[0] = 0;
- payload->padding[1] = 0;
- payload->padding[2] = 0;
- uint32_t retCRC = crc32((const uint8_t*)payload, payload->size + sizeof(MavlinkFTP::PayloadHeader));
- payload->crc32 = saveCRC;
-
- return retCRC;
-}
-
/// @brief Initializes an FTP message into a mavlink message
void MavlinkFtpTest::_setup_ftp_msg(MavlinkFTP::PayloadHeader *payload_header, ///< FTP payload header
uint8_t size, ///< size in bytes of data
@@ -734,7 +689,8 @@ void MavlinkFtpTest::_setup_ftp_msg(MavlinkFTP::PayloadHeader *payload_header, /
memcpy(payload->data, data, size);
}
- payload->crc32 = _payload_crc32(payload);
+ payload->padding[0] = 0;
+ payload->padding[1] = 0;
msg->checksum = 0;
mavlink_msg_file_transfer_protocol_pack(clientSystemId, // Sender system id
@@ -771,7 +727,6 @@ void MavlinkFtpTest::_cleanup_microsd(void)
void MavlinkFtpTest::runTests(void)
{
ut_run_test(_ack_test);
- ut_run_test(_bad_crc_test);
ut_run_test(_bad_opcode_test);
ut_run_test(_bad_datasize_test);
ut_run_test(_list_test);
diff --git a/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.h b/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.h
index bbb095a08..babd909da 100644
--- a/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.h
+++ b/src/modules/mavlink/mavlink_tests/mavlink_ftp_test.h
@@ -66,7 +66,6 @@ public:
private:
bool _ack_test(void);
- bool _bad_crc_test(void);
bool _bad_opcode_test(void);
bool _bad_datasize_test(void);
bool _list_test(void);
@@ -81,7 +80,6 @@ private:
bool _removefile_test(void);
void _receive_message(const mavlink_message_t *msg);
- uint32_t _payload_crc32(struct MavlinkFTP::PayloadHeader *payload);
void _setup_ftp_msg(MavlinkFTP::PayloadHeader *payload_header, uint8_t size, const uint8_t *data, mavlink_message_t *msg);
bool _decode_message(const mavlink_message_t *msg, mavlink_file_transfer_protocol_t *ftp_msg, MavlinkFTP::PayloadHeader **payload);
bool _send_receive_msg(MavlinkFTP::PayloadHeader *payload_header,