1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-02-13 03:41:55 +00:00

Cover protocol stack RTMP. 3.0.63

This commit is contained in:
winlin 2019-11-05 09:55:45 +08:00
parent 9067786bd3
commit 918a2943c9

View file

@ -46,6 +46,15 @@ protected:
}
};
class MockPayloadErrorPacket : public SrsPacket
{
protected:
virtual srs_error_t encode(int& size, char*& payload) {
size = 1024;
return srs_success;
}
};
VOID TEST(ProtoStackTest, PacketEncode)
{
srs_error_t err;
@ -175,6 +184,35 @@ VOID TEST(ProtoStackTest, ManualFlush)
}
}
VOID TEST(ProtoStackTest, SendPacketsError)
{
srs_error_t err;
if (true) {
MockBufferIO io;
SrsProtocol p(&io);
SrsPacket* pkt = new MockErrorPacket();
HELPER_EXPECT_FAILED(p.send_and_free_packet(pkt, 1));
}
if (true) {
MockBufferIO io;
SrsProtocol p(&io);
SrsPacket* pkt = new SrsPacket();
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(pkt, 1));
}
if (true) {
MockBufferIO io;
SrsProtocol p(&io);
SrsPacket* pkt = new MockPayloadErrorPacket();
HELPER_EXPECT_SUCCESS(p.send_and_free_packet(pkt, 1));
}
}
VOID TEST(ProtoStackTest, SendZeroMessages)
{
srs_error_t err;
@ -244,3 +282,22 @@ VOID TEST(ProtoStackTest, HugeMessages)
}
}
VOID TEST(ProtoStackTest, DecodeMessages)
{
srs_error_t err;
if (true) {
MockBufferIO io;
SrsProtocol p(&io);
// AMF0 message with 1B should fail.
SrsCommonMessage msg;
msg.header.initialize_amf0_script(1, 1);
msg.create_payload(1);
msg.size = 1;
SrsPacket* pkt;
HELPER_EXPECT_FAILED(p.decode_message(&msg, &pkt));
}
}