Cover shared ptr message.

pull/1398/head
winlin 6 years ago
parent 9cdd506b4f
commit dd4ccfab79

@ -175,6 +175,7 @@
#define ERROR_OpenSslCreateHMAC 2050
#define ERROR_RTMP_STREAM_NAME_EMPTY 2051
#define ERROR_HTTP_HIJACK 2052
#define ERROR_RTMP_MESSAGE_CREATE 2053
//
// The system control message,
// It's not an error, but special control logic.

@ -251,11 +251,11 @@ srs_error_t SrsSharedPtrMessage::create(SrsMessageHeader* pheader, char* payload
{
srs_error_t err = srs_success;
if (ptr) {
srs_assert(false);
return srs_error_new(ERROR_SYSTEM_ASSERT_FAILED, "should not set the payload twice");
if (size < 0) {
return srs_error_new(ERROR_RTMP_MESSAGE_CREATE, "create message size=%d", size);
}
srs_assert(!ptr);
ptr = new SrsSharedPtrPayload();
// direct attach the data.

@ -3467,6 +3467,48 @@ VOID TEST(KernelFLVTest, CoverAll)
#endif
}
VOID TEST(KernelFLVTest, CoverSharedPtrMessage)
{
srs_error_t err;
if (true) {
SrsMessageHeader h;
SrsSharedPtrMessage m;
HELPER_EXPECT_SUCCESS(m.create(&h, new char[1], 1));
}
if (true) {
SrsMessageHeader h;
SrsSharedPtrMessage m;
HELPER_EXPECT_SUCCESS(m.create(&h, NULL, 0));
}
if (true) {
SrsMessageHeader h;
SrsSharedPtrMessage m;
HELPER_EXPECT_FAILED(m.create(&h, NULL, -1));
}
if (true) {
SrsCommonMessage cm;
cm.size = -1;
SrsSharedPtrMessage m;
HELPER_EXPECT_FAILED(m.create(&cm));
}
if (true) {
SrsMessageHeader h;
h.perfer_cid = 1;
SrsSharedPtrMessage m;
HELPER_EXPECT_SUCCESS(m.create(&h, NULL, 0));
EXPECT_FALSE(m.check(1));
EXPECT_TRUE(m.check(1));
}
}
VOID TEST(KernelLogTest, CoverAll)
{
if (true) {

Loading…
Cancel
Save