1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00

APM: Support distributed tracing by Tencent Cloud APM. v5.0.63

This commit is contained in:
winlin 2022-08-24 11:04:39 +08:00
parent 736c661808
commit 3e2f8622f8
49 changed files with 4989 additions and 719 deletions

View file

@ -674,10 +674,12 @@ VOID TEST(KernelCodecTest, IsAudioSequenceHeader)
*/
VOID TEST(KernelFlvTest, FlvEncoderStreamClosed)
{
srs_error_t err = srs_success;
MockSrsFileWriter fs;
SrsFlvTransmuxer enc;
// The decoder never check the reader status.
ASSERT_TRUE(ERROR_SUCCESS == enc.initialize(&fs));
HELPER_ASSERT_SUCCESS(enc.initialize(&fs));
}
/**
@ -686,10 +688,12 @@ VOID TEST(KernelFlvTest, FlvEncoderStreamClosed)
*/
VOID TEST(KernelFlvTest, FlvEncoderWriteHeader)
{
srs_error_t err = srs_success;
MockSrsFileWriter fs;
SrsFlvTransmuxer enc;
ASSERT_TRUE(ERROR_SUCCESS == fs.open(""));
ASSERT_TRUE(ERROR_SUCCESS == enc.initialize(&fs));
HELPER_ASSERT_SUCCESS(fs.open(""));
HELPER_ASSERT_SUCCESS(enc.initialize(&fs));
// write header, 9bytes
char flv_header[] = {
@ -700,7 +704,7 @@ VOID TEST(KernelFlvTest, FlvEncoderWriteHeader)
};
char pts[] = { (char)0x00, (char)0x00, (char)0x00, (char)0x00 };
EXPECT_TRUE(ERROR_SUCCESS == enc.write_header());
HELPER_EXPECT_SUCCESS(enc.write_header());
ASSERT_TRUE(9 + 4 == fs.tellg());
EXPECT_TRUE(srs_bytes_equals(flv_header, fs.data(), 9));
@ -713,7 +717,7 @@ VOID TEST(KernelFlvTest, FlvEncoderWriteHeader)
fs.mock_reset_offset();
EXPECT_TRUE(ERROR_SUCCESS == enc.write_header(flv_header));
HELPER_EXPECT_SUCCESS(enc.write_header(flv_header));
ASSERT_TRUE(9 + 4 == fs.tellg());
EXPECT_TRUE(srs_bytes_equals(flv_header, fs.data(), 9));
@ -726,10 +730,12 @@ VOID TEST(KernelFlvTest, FlvEncoderWriteHeader)
*/
VOID TEST(KernelFlvTest, FlvEncoderWriteMetadata)
{
srs_error_t err = srs_success;
MockSrsFileWriter fs;
EXPECT_TRUE(ERROR_SUCCESS == fs.open(""));
HELPER_EXPECT_SUCCESS(fs.open(""));
SrsFlvTransmuxer enc;
ASSERT_TRUE(ERROR_SUCCESS == enc.initialize(&fs));
HELPER_ASSERT_SUCCESS(enc.initialize(&fs));
// 11 bytes tag header
char tag_header[] = {
@ -745,7 +751,7 @@ VOID TEST(KernelFlvTest, FlvEncoderWriteMetadata)
};
char pts[] = { (char)0x00, (char)0x00, (char)0x00, (char)19 };
ASSERT_TRUE(ERROR_SUCCESS == enc.write_metadata(18, md, 8));
HELPER_ASSERT_SUCCESS(enc.write_metadata(18, md, 8));
ASSERT_TRUE(11 + 8 + 4 == fs.tellg());
EXPECT_TRUE(srs_bytes_equals(tag_header, fs.data(), 11));
@ -760,10 +766,12 @@ VOID TEST(KernelFlvTest, FlvEncoderWriteMetadata)
*/
VOID TEST(KernelFlvTest, FlvEncoderWriteAudio)
{
srs_error_t err = srs_success;
MockSrsFileWriter fs;
SrsFlvTransmuxer enc;
ASSERT_TRUE(ERROR_SUCCESS == fs.open(""));
ASSERT_TRUE(ERROR_SUCCESS == enc.initialize(&fs));
HELPER_ASSERT_SUCCESS(fs.open(""));
HELPER_ASSERT_SUCCESS(enc.initialize(&fs));
// 11bytes tag header
char tag_header[] = {
@ -779,7 +787,7 @@ VOID TEST(KernelFlvTest, FlvEncoderWriteAudio)
};
char pts[] = { (char)0x00, (char)0x00, (char)0x00, (char)19 };
ASSERT_TRUE(ERROR_SUCCESS == enc.write_audio(0x30, audio, 8));
HELPER_ASSERT_SUCCESS(enc.write_audio(0x30, audio, 8));
ASSERT_TRUE(11 + 8 + 4 == fs.tellg());
EXPECT_TRUE(srs_bytes_equals(tag_header, fs.data(), 11));
@ -794,10 +802,12 @@ VOID TEST(KernelFlvTest, FlvEncoderWriteAudio)
*/
VOID TEST(KernelFlvTest, FlvEncoderWriteVideo)
{
srs_error_t err = srs_success;
MockSrsFileWriter fs;
SrsFlvTransmuxer enc;
ASSERT_TRUE(ERROR_SUCCESS == fs.open(""));
ASSERT_TRUE(ERROR_SUCCESS == enc.initialize(&fs));
HELPER_ASSERT_SUCCESS(fs.open(""));
HELPER_ASSERT_SUCCESS(enc.initialize(&fs));
// 11bytes tag header
char tag_header[] = {
@ -813,7 +823,7 @@ VOID TEST(KernelFlvTest, FlvEncoderWriteVideo)
};
char pts[] = { (char)0x00, (char)0x00, (char)0x00, (char)19 };
ASSERT_TRUE(ERROR_SUCCESS == enc.write_video(0x30, video, 8));
HELPER_ASSERT_SUCCESS(enc.write_video(0x30, video, 8));
ASSERT_TRUE(11 + 8 + 4 == fs.tellg());
EXPECT_TRUE(srs_bytes_equals(tag_header, fs.data(), 11));
@ -1183,10 +1193,12 @@ VOID TEST(KernelFLVTest, CoverFLVVodSHCase)
*/
VOID TEST(KernelFlvTest, FlvDecoderStreamClosed)
{
srs_error_t err = srs_success;
MockSrsFileReader fs;
SrsFlvDecoder dec;
// The decoder never check the reader status.
ASSERT_TRUE(ERROR_SUCCESS == dec.initialize(&fs));
HELPER_ASSERT_SUCCESS(dec.initialize(&fs));
}
/**
@ -1195,10 +1207,12 @@ VOID TEST(KernelFlvTest, FlvDecoderStreamClosed)
*/
VOID TEST(KernelFlvTest, FlvDecoderHeader)
{
srs_error_t err = srs_success;
MockSrsFileReader fs;
SrsFlvDecoder dec;
ASSERT_TRUE(ERROR_SUCCESS == fs.open(""));
ASSERT_TRUE(ERROR_SUCCESS == dec.initialize(&fs));
HELPER_ASSERT_SUCCESS(fs.open(""));
HELPER_ASSERT_SUCCESS(dec.initialize(&fs));
// 9bytes
char flv_header[] = {
@ -1214,10 +1228,10 @@ VOID TEST(KernelFlvTest, FlvDecoderHeader)
char data[1024];
fs.mock_reset_offset();
EXPECT_TRUE(ERROR_SUCCESS == dec.read_header(data));
HELPER_EXPECT_SUCCESS(dec.read_header(data));
EXPECT_TRUE(srs_bytes_equals(flv_header, data, 9));
EXPECT_TRUE(ERROR_SUCCESS == dec.read_previous_tag_size(data));
HELPER_EXPECT_SUCCESS(dec.read_previous_tag_size(data));
EXPECT_TRUE(srs_bytes_equals(pts, data, 4));
}
@ -1227,10 +1241,12 @@ VOID TEST(KernelFlvTest, FlvDecoderHeader)
*/
VOID TEST(KernelFlvTest, FlvDecoderMetadata)
{
srs_error_t err = srs_success;
MockSrsFileReader fs;
SrsFlvDecoder dec;
ASSERT_TRUE(ERROR_SUCCESS == fs.open(""));
ASSERT_TRUE(ERROR_SUCCESS == dec.initialize(&fs));
HELPER_ASSERT_SUCCESS(fs.open(""));
HELPER_ASSERT_SUCCESS(dec.initialize(&fs));
// 11 bytes tag header
char tag_header[] = {
@ -1255,15 +1271,15 @@ VOID TEST(KernelFlvTest, FlvDecoderMetadata)
char data[1024];
fs.mock_reset_offset();
EXPECT_TRUE(ERROR_SUCCESS == dec.read_tag_header(&type, &size, &time));
HELPER_EXPECT_SUCCESS(dec.read_tag_header(&type, &size, &time));
EXPECT_TRUE(18 == type);
EXPECT_TRUE(8 == size);
EXPECT_TRUE(0 == time);
EXPECT_TRUE(ERROR_SUCCESS == dec.read_tag_data(data, size));
HELPER_EXPECT_SUCCESS(dec.read_tag_data(data, size));
EXPECT_TRUE(srs_bytes_equals(md, data, 8));
EXPECT_TRUE(ERROR_SUCCESS == dec.read_previous_tag_size(data));
HELPER_EXPECT_SUCCESS(dec.read_previous_tag_size(data));
EXPECT_TRUE(srs_bytes_equals(pts, data, 4));
}
@ -1273,10 +1289,12 @@ VOID TEST(KernelFlvTest, FlvDecoderMetadata)
*/
VOID TEST(KernelFlvTest, FlvDecoderAudio)
{
srs_error_t err = srs_success;
MockSrsFileReader fs;
SrsFlvDecoder dec;
ASSERT_TRUE(ERROR_SUCCESS == fs.open(""));
ASSERT_TRUE(ERROR_SUCCESS == dec.initialize(&fs));
HELPER_ASSERT_SUCCESS(fs.open(""));
HELPER_ASSERT_SUCCESS(dec.initialize(&fs));
// 11bytes tag header
char tag_header[] = {
@ -1301,15 +1319,15 @@ VOID TEST(KernelFlvTest, FlvDecoderAudio)
char data[1024];
fs.mock_reset_offset();
EXPECT_TRUE(ERROR_SUCCESS == dec.read_tag_header(&type, &size, &time));
HELPER_EXPECT_SUCCESS(dec.read_tag_header(&type, &size, &time));
EXPECT_TRUE(8 == type);
EXPECT_TRUE(8 == size);
EXPECT_TRUE(0x30 == time);
EXPECT_TRUE(ERROR_SUCCESS == dec.read_tag_data(data, size));
HELPER_EXPECT_SUCCESS(dec.read_tag_data(data, size));
EXPECT_TRUE(srs_bytes_equals(audio, data, 8));
EXPECT_TRUE(ERROR_SUCCESS == dec.read_previous_tag_size(data));
HELPER_EXPECT_SUCCESS(dec.read_previous_tag_size(data));
EXPECT_TRUE(srs_bytes_equals(pts, data, 4));
}
@ -1319,10 +1337,12 @@ VOID TEST(KernelFlvTest, FlvDecoderAudio)
*/
VOID TEST(KernelFlvTest, FlvDecoderVideo)
{
srs_error_t err = srs_success;
MockSrsFileReader fs;
SrsFlvDecoder dec;
ASSERT_TRUE(ERROR_SUCCESS == fs.open(""));
ASSERT_TRUE(ERROR_SUCCESS == dec.initialize(&fs));
HELPER_ASSERT_SUCCESS(fs.open(""));
HELPER_ASSERT_SUCCESS(dec.initialize(&fs));
// 11bytes tag header
char tag_header[] = {
@ -1347,15 +1367,15 @@ VOID TEST(KernelFlvTest, FlvDecoderVideo)
char data[1024];
fs.mock_reset_offset();
EXPECT_TRUE(ERROR_SUCCESS == dec.read_tag_header(&type, &size, &time));
HELPER_EXPECT_SUCCESS(dec.read_tag_header(&type, &size, &time));
EXPECT_TRUE(9 == type);
EXPECT_TRUE(8 == size);
EXPECT_TRUE(0x30 == time);
EXPECT_TRUE(ERROR_SUCCESS == dec.read_tag_data(data, size));
HELPER_EXPECT_SUCCESS(dec.read_tag_data(data, size));
EXPECT_TRUE(srs_bytes_equals(video, data, 8));
EXPECT_TRUE(ERROR_SUCCESS == dec.read_previous_tag_size(data));
HELPER_EXPECT_SUCCESS(dec.read_previous_tag_size(data));
EXPECT_TRUE(srs_bytes_equals(pts, data, 4));
}
@ -1365,6 +1385,8 @@ VOID TEST(KernelFlvTest, FlvDecoderVideo)
*/
VOID TEST(KernelFlvTest, FlvVSDecoderStreamClosed)
{
srs_error_t err = srs_success;
MockSrsFileReader fs;
fs.close();
@ -1378,11 +1400,13 @@ VOID TEST(KernelFlvTest, FlvVSDecoderStreamClosed)
*/
VOID TEST(KernelFlvTest, FlvVSDecoderHeader)
{
srs_error_t err = srs_success;
MockSrsFileReader fs;
SrsFlvVodStreamDecoder dec;
ASSERT_TRUE(ERROR_SUCCESS == fs.open(""));
ASSERT_TRUE(ERROR_SUCCESS == dec.initialize(&fs));
HELPER_ASSERT_SUCCESS(fs.open(""));
HELPER_ASSERT_SUCCESS(dec.initialize(&fs));
// 9bytes
char flv_header[] = {
@ -1398,7 +1422,7 @@ VOID TEST(KernelFlvTest, FlvVSDecoderHeader)
char data[1024];
fs.mock_reset_offset();
EXPECT_TRUE(ERROR_SUCCESS == dec.read_header_ext(data));
HELPER_EXPECT_SUCCESS(dec.read_header_ext(data));
EXPECT_TRUE(srs_bytes_equals(flv_header, data, 9));
}
@ -1409,10 +1433,12 @@ VOID TEST(KernelFlvTest, FlvVSDecoderHeader)
*/
VOID TEST(KernelFlvTest, FlvVSDecoderSequenceHeader)
{
srs_error_t err = srs_success;
MockSrsFileReader fs;
SrsFlvVodStreamDecoder dec;
ASSERT_TRUE(ERROR_SUCCESS == fs.open(""));
ASSERT_TRUE(ERROR_SUCCESS == dec.initialize(&fs));
HELPER_ASSERT_SUCCESS(fs.open(""));
HELPER_ASSERT_SUCCESS(dec.initialize(&fs));
// push metadata tag
if (true) {
@ -1476,7 +1502,7 @@ VOID TEST(KernelFlvTest, FlvVSDecoderSequenceHeader)
int64_t start = 0;
int size = 0;
EXPECT_TRUE(ERROR_SUCCESS == dec.read_sequence_header_summary(&start, &size));
HELPER_EXPECT_SUCCESS(dec.read_sequence_header_summary(&start, &size));
EXPECT_EQ(23, (int)start);
EXPECT_EQ(46, size);
}
@ -1488,10 +1514,12 @@ VOID TEST(KernelFlvTest, FlvVSDecoderSequenceHeader)
*/
VOID TEST(KernelFlvTest, FlvVSDecoderSequenceHeader2)
{
srs_error_t err = srs_success;
MockSrsFileReader fs;
SrsFlvVodStreamDecoder dec;
ASSERT_TRUE(ERROR_SUCCESS == fs.open(""));
ASSERT_TRUE(ERROR_SUCCESS == dec.initialize(&fs));
HELPER_ASSERT_SUCCESS(fs.open(""));
HELPER_ASSERT_SUCCESS(dec.initialize(&fs));
// push metadata tag
if (true) {
@ -1555,7 +1583,7 @@ VOID TEST(KernelFlvTest, FlvVSDecoderSequenceHeader2)
int64_t start = 0;
int size = 0;
EXPECT_TRUE(ERROR_SUCCESS == dec.read_sequence_header_summary(&start, &size));
HELPER_EXPECT_SUCCESS(dec.read_sequence_header_summary(&start, &size));
EXPECT_EQ(23, (int)start);
EXPECT_EQ(46, size);
}
@ -1567,10 +1595,12 @@ VOID TEST(KernelFlvTest, FlvVSDecoderSequenceHeader2)
*/
VOID TEST(KernelFlvTest, FlvVSDecoderSeek)
{
srs_error_t err = srs_success;
MockSrsFileReader fs;
SrsFlvVodStreamDecoder dec;
ASSERT_TRUE(ERROR_SUCCESS == fs.open(""));
ASSERT_TRUE(ERROR_SUCCESS == dec.initialize(&fs));
HELPER_ASSERT_SUCCESS(fs.open(""));
HELPER_ASSERT_SUCCESS(dec.initialize(&fs));
// 11bytes tag header
char tag_header[] = {
@ -1583,10 +1613,10 @@ VOID TEST(KernelFlvTest, FlvVSDecoderSeek)
fs.mock_append_data(tag_header, 11);
EXPECT_TRUE(11 == fs.tellg());
EXPECT_TRUE(ERROR_SUCCESS == dec.seek2(0));
HELPER_EXPECT_SUCCESS(dec.seek2(0));
EXPECT_TRUE(0 == fs.tellg());
EXPECT_TRUE(ERROR_SUCCESS == dec.seek2(5));
HELPER_EXPECT_SUCCESS(dec.seek2(5));
EXPECT_TRUE(5 == fs.tellg());
}

File diff suppressed because it is too large Load diff

View file

@ -26,6 +26,8 @@ using namespace std;
*/
VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -208,7 +210,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11)
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x10, msg->header.timestamp);
@ -216,7 +218,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_audio());
EXPECT_EQ(0x15, msg->header.timestamp);
@ -224,7 +226,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x20, msg->header.timestamp);
@ -232,7 +234,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x40, msg->header.timestamp);
@ -247,6 +249,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11)
*/
VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11Length)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -430,7 +434,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11Length)
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x10, msg->header.timestamp);
@ -438,7 +442,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11Length)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_audio());
EXPECT_EQ(0x15, msg->header.timestamp);
@ -446,7 +450,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11Length)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x20, msg->header.timestamp);
@ -454,7 +458,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11Length)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x40, msg->header.timestamp);
@ -468,6 +472,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt11Length)
*/
VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -648,7 +654,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12)
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x10, msg->header.timestamp);
@ -656,7 +662,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_audio());
EXPECT_EQ(0x15, msg->header.timestamp);
@ -664,7 +670,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x20, msg->header.timestamp);
@ -672,7 +678,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x40, msg->header.timestamp);
@ -687,6 +693,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12)
*/
VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12Length)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -869,7 +877,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12Length)
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x10, msg->header.timestamp);
@ -878,7 +886,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12Length)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_audio());
EXPECT_EQ(0x15, msg->header.timestamp);
@ -886,7 +894,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12Length)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x20, msg->header.timestamp);
@ -895,7 +903,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12Length)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x40, msg->header.timestamp);
@ -910,6 +918,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt12Length)
*/
VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -940,7 +950,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage)
bio.in_buffer.append((char*)data, sizeof(data));
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x10, msg->header.timestamp);
@ -952,6 +962,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage)
*/
VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage2)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -982,7 +994,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage2)
bio.in_buffer.append((char*)data, sizeof(data));
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x7f010203, msg->header.timestamp);
@ -995,6 +1007,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage2)
// always use 31bits timestamp, for some server may use 32bits extended timestamp.
VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage3)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -1025,7 +1039,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage3)
bio.in_buffer.append((char*)data, sizeof(data));
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
// always use 31bits timestamp
@ -1055,6 +1069,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvExtTimeMessage3)
*/
VOID TEST(ProtocolStackTest, ProtocolRecvVExtTime2Trunk)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -1098,7 +1114,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVExtTime2Trunk)
bio.in_buffer.append((char*)data, sizeof(data));
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
// 0xCX with extended timestamp.
@ -1112,6 +1128,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVExtTime2Trunk)
// FFMPEG/librtmp, RTMP specification standard protocol.
VOID TEST(ProtocolStackTest, ProtocolRecvVExtTime2Trunk2)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -1153,7 +1171,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVExtTime2Trunk2)
bio.in_buffer.append((char*)data, sizeof(data));
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
// 0xCX without extended timestamp.
@ -1166,6 +1184,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVExtTime2Trunk2)
*/
VOID TEST(ProtocolStackTest, ProtocolRecvVCid1BMin)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -1204,7 +1224,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid1BMin)
bio.in_buffer.append((char*)data, sizeof(data));
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
// 1B cid(6bits), min is 2
@ -1213,6 +1233,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVCid1BMin)
VOID TEST(ProtocolKbpsTest, Connections)
{
srs_error_t err = srs_success;
if (true) {
MockWallClock* clock = new MockWallClock();
SrsAutoFree(MockWallClock, clock);
@ -1378,6 +1400,8 @@ VOID TEST(ProtocolKbpsTest, Connections)
VOID TEST(ProtocolKbpsTest, Delta)
{
srs_error_t err = srs_success;
if (true) {
MockWallClock* clock = new MockWallClock();
SrsAutoFree(MockWallClock, clock);
@ -1460,6 +1484,8 @@ VOID TEST(ProtocolKbpsTest, Delta)
VOID TEST(ProtocolKbpsTest, RAWStatistic)
{
srs_error_t err = srs_success;
if (true) {
MockWallClock* clock = new MockWallClock();
SrsAutoFree(MockWallClock, clock);
@ -1624,6 +1650,8 @@ VOID TEST(ProtocolKbpsTest, WriteLargeIOVs)
VOID TEST(ProtocolKbpsTest, ConnectionsSugar)
{
srs_error_t err = srs_success;
if (true) {
MockWallClock* clock = new MockWallClock();
SrsAutoFree(MockWallClock, clock);
@ -1771,6 +1799,8 @@ VOID TEST(ProtocolKbpsTest, ConnectionsSugar)
VOID TEST(ProtocolKbpsTest, DeltaSugar)
{
srs_error_t err = srs_success;
if (true) {
MockWallClock* clock = new MockWallClock();
SrsAutoFree(MockWallClock, clock);
@ -1810,6 +1840,8 @@ VOID TEST(ProtocolKbpsTest, DeltaSugar)
VOID TEST(ProtocolKbpsTest, RAWStatisticSugar)
{
srs_error_t err = srs_success;
if (true) {
MockWallClock* clock = new MockWallClock();
SrsAutoFree(MockWallClock, clock);
@ -2254,6 +2286,8 @@ VOID TEST(ProtocolProtobufTest, FieldKey)
VOID TEST(ProtocolKbpsTest, NewDelta)
{
srs_error_t err = srs_success;
if (true) {
SrsEphemeralDelta ed;
@ -2305,6 +2339,8 @@ VOID TEST(ProtocolKbpsTest, NewDelta)
*/
VOID TEST(ProtocolStackTest, ProtocolRecvVAVVMessage)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -2476,7 +2512,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVMessage)
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x10, msg->header.timestamp);
@ -2484,7 +2520,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVMessage)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_audio());
EXPECT_EQ(0x15, msg->header.timestamp);
@ -2492,7 +2528,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVMessage)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x20, msg->header.timestamp);
@ -2500,7 +2536,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVMessage)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x30, msg->header.timestamp);
@ -2514,6 +2550,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVMessage)
*/
VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt1)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -2696,7 +2734,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt1)
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x10, msg->header.timestamp);
@ -2704,7 +2742,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt1)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_audio());
EXPECT_EQ(0x15, msg->header.timestamp);
@ -2712,7 +2750,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt1)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x20, msg->header.timestamp);
@ -2720,7 +2758,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt1)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x30, msg->header.timestamp);
@ -2734,6 +2772,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt1)
*/
VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt2)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -2912,7 +2952,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt2)
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x10, msg->header.timestamp);
@ -2920,7 +2960,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt2)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_audio());
EXPECT_EQ(0x15, msg->header.timestamp);
@ -2928,7 +2968,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt2)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x20, msg->header.timestamp);
@ -2936,7 +2976,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt2)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x30, msg->header.timestamp);
@ -2950,6 +2990,8 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt2)
*/
VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt3)
{
srs_error_t err = srs_success;
MockBufferIO bio;
SrsProtocol proto(&bio);
@ -3126,7 +3168,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt3)
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x10, msg->header.timestamp);
@ -3134,7 +3176,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt3)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_audio());
EXPECT_EQ(0x15, msg->header.timestamp);
@ -3142,7 +3184,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt3)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x20, msg->header.timestamp);
@ -3150,7 +3192,7 @@ VOID TEST(ProtocolStackTest, ProtocolRecvVAVVFmt3)
}
if (true) {
SrsCommonMessage* msg = NULL;
ASSERT_TRUE(ERROR_SUCCESS == proto.recv_message(&msg));
HELPER_ASSERT_SUCCESS(proto.recv_message(&msg));
SrsAutoFree(SrsCommonMessage, msg);
EXPECT_TRUE(msg->header.is_video());
EXPECT_EQ(0x30, msg->header.timestamp);

View file

@ -194,51 +194,55 @@ srs_error_t MockSrsReloadConfig::do_reload(string buf)
VOID TEST(ConfigReloadTest, ReloadEmpty)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_FALSE(ERROR_SUCCESS == conf.parse(""));
EXPECT_FALSE(ERROR_SUCCESS == conf.do_reload(""));
HELPER_EXPECT_FAILED(conf.parse(""));
HELPER_EXPECT_FAILED(conf.do_reload(""));
EXPECT_TRUE(handler.all_false());
}
VOID TEST(ConfigReloadTest, ReloadListen)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse("listen 1935;"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload("listen 1935;"));
HELPER_EXPECT_SUCCESS(conf.parse("listen 1935;"));
HELPER_EXPECT_SUCCESS(conf.do_reload("listen 1935;"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload("listen 1936;"));
HELPER_EXPECT_SUCCESS(conf.do_reload("listen 1936;"));
EXPECT_TRUE(handler.listen_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload("listen 1936;"));
HELPER_EXPECT_SUCCESS(conf.do_reload("listen 1936;"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload("listen 1936 1935;"));
HELPER_EXPECT_SUCCESS(conf.do_reload("listen 1936 1935;"));
EXPECT_TRUE(handler.listen_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload("listen 1935;"));
HELPER_EXPECT_SUCCESS(conf.do_reload("listen 1935;"));
EXPECT_TRUE(handler.listen_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload("listen 1935 1935;"));
HELPER_EXPECT_SUCCESS(conf.do_reload("listen 1935 1935;"));
EXPECT_TRUE(handler.listen_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload("listen 1935;"));
HELPER_EXPECT_SUCCESS(conf.do_reload("listen 1935;"));
EXPECT_TRUE(handler.listen_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
@ -246,357 +250,391 @@ VOID TEST(ConfigReloadTest, ReloadListen)
VOID TEST(ConfigReloadTest, ReloadPithyPrint)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"pithy_print_ms 1000;"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"pithy_print_ms 1000;"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"pithy_print_ms 1000;"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"pithy_print_ms 1000;"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"pithy_print_ms 2000;"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"pithy_print_ms 2000;"));
EXPECT_TRUE(handler.pithy_print_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"pithy_print_ms 1000;"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"pithy_print_ms 1000;"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostAdded)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{} vhost b{}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{} vhost b{}"));
EXPECT_TRUE(handler.vhost_added_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostRemoved)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{enabled off;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{enabled off;}"));
EXPECT_TRUE(handler.vhost_removed_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostRemoved2)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{} vhost b{}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{} vhost b{}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{} vhost b{}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{} vhost b{}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{}"));
EXPECT_TRUE(handler.vhost_removed_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{} vhost b{}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{} vhost b{}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostAtc)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{atc off;}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{atc off;}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{atc off;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{atc off;}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{atc on;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{atc on;}"));
EXPECT_TRUE(handler.vhost_play_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{atc off;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{atc off;}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostGopCache)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{gop_cache off;}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{gop_cache off;}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{gop_cache off;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{gop_cache off;}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{gop_cache on;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{gop_cache on;}"));
EXPECT_TRUE(handler.vhost_play_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{gop_cache off;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{gop_cache off;}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostQueueLength)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{queue_length 10;}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{queue_length 10;}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{queue_length 10;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{queue_length 10;}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{queue_length 20;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{queue_length 20;}"));
EXPECT_TRUE(handler.vhost_play_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{queue_length 10;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{queue_length 10;}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostTimeJitter)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{time_jitter full;}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{time_jitter full;}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{time_jitter full;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{time_jitter full;}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{time_jitter zero;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{time_jitter zero;}"));
EXPECT_TRUE(handler.vhost_play_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{time_jitter full;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{time_jitter full;}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostForward)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{forward 127.0.0.1:1936;}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{forward 127.0.0.1:1936;}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{forward 127.0.0.1:1936;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{forward 127.0.0.1:1936;}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{forward 127.0.0.1:1937;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{forward 127.0.0.1:1937;}"));
EXPECT_TRUE(handler.vhost_forward_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{forward 127.0.0.1:1936;}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{forward 127.0.0.1:1936;}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostHls)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{hls {enabled on;}}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{hls {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{hls {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{hls {enabled on;}}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{hls {enabled off;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{hls {enabled off;}}"));
EXPECT_TRUE(handler.vhost_hls_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{hls {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{hls {enabled on;}}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostDvr)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{dvr {enabled on;}}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{dvr {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{dvr {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{dvr {enabled on;}}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{dvr {enabled off;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{dvr {enabled off;}}"));
EXPECT_TRUE(handler.vhost_dvr_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{dvr {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{dvr {enabled on;}}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostTranscode)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{transcode {enabled on;}}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{transcode {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{transcode {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{transcode {enabled on;}}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{transcode {enabled off;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{transcode {enabled off;}}"));
EXPECT_TRUE(handler.vhost_transcode_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{transcode {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{transcode {enabled on;}}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostIngestAdded)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
EXPECT_TRUE(handler.ingest_added_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostIngestAdded2)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{ingest a {enabled on;}}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest a {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{ingest a {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest a {enabled on;}}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest a {enabled on;} ingest b {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest a {enabled on;} ingest b {enabled on;}}"));
EXPECT_TRUE(handler.ingest_added_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest a {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest a {enabled on;}}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostIngestRemoved)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{}"));
EXPECT_TRUE(handler.ingest_removed_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostIngestRemoved2)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled off;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled off;}}"));
EXPECT_TRUE(handler.ingest_removed_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;}}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}
VOID TEST(ConfigReloadTest, ReloadVhostIngestUpdated)
{
srs_error_t err = srs_success;
MockReloadHandler handler;
MockSrsReloadConfig conf;
conf.subscribe(&handler);
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost a{ingest {enabled on;ffmpeg ffmpeg;}}"));
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;ffmpeg ffmpeg;}}"));
HELPER_EXPECT_SUCCESS(conf.parse(_MIN_OK_CONF"vhost a{ingest {enabled on;ffmpeg ffmpeg;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;ffmpeg ffmpeg;}}"));
EXPECT_TRUE(handler.all_false());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;ffmpeg ffmpeg1;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;ffmpeg ffmpeg1;}}"));
EXPECT_TRUE(handler.ingest_updated_reloaded);
EXPECT_EQ(1, handler.count_true());
handler.reset();
EXPECT_TRUE(ERROR_SUCCESS == conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;ffmpeg ffmpeg;}}"));
HELPER_EXPECT_SUCCESS(conf.do_reload(_MIN_OK_CONF"vhost a{ingest {enabled on;ffmpeg ffmpeg;}}"));
EXPECT_EQ(1, handler.count_true());
handler.reset();
}