mirror of
https://github.com/ossrs/srs.git
synced 2025-02-12 11:21:52 +00:00
Improve test coverage for config.
This commit is contained in:
parent
4848d3ab91
commit
45aa325722
3 changed files with 266 additions and 9 deletions
|
@ -5231,7 +5231,9 @@ vector<string> SrsConfig::get_engine_perfile(SrsConfDirective* conf)
|
|||
}
|
||||
|
||||
perfile.push_back(srs_prefix_underscores_ifno(option->name));
|
||||
perfile.push_back(option->arg0());
|
||||
if (!option->arg0().empty()) {
|
||||
perfile.push_back(option->arg0());
|
||||
}
|
||||
}
|
||||
|
||||
return perfile;
|
||||
|
@ -5273,7 +5275,9 @@ vector<string> SrsConfig::get_engine_vfilter(SrsConfDirective* conf)
|
|||
}
|
||||
|
||||
vfilter.push_back(srs_prefix_underscores_ifno(filter->name));
|
||||
vfilter.push_back(filter->arg0());
|
||||
if (!filter->arg0().empty()) {
|
||||
vfilter.push_back(filter->arg0());
|
||||
}
|
||||
}
|
||||
|
||||
return vfilter;
|
||||
|
@ -5427,7 +5431,9 @@ vector<string> SrsConfig::get_engine_vparams(SrsConfDirective* conf)
|
|||
}
|
||||
|
||||
vparams.push_back(srs_prefix_underscores_ifno(filter->name));
|
||||
vparams.push_back(filter->arg0());
|
||||
if (!filter->arg0().empty()) {
|
||||
vparams.push_back(filter->arg0());
|
||||
}
|
||||
}
|
||||
|
||||
return vparams;
|
||||
|
@ -5517,7 +5523,9 @@ vector<string> SrsConfig::get_engine_aparams(SrsConfDirective* conf)
|
|||
}
|
||||
|
||||
aparams.push_back(srs_prefix_underscores_ifno(filter->name));
|
||||
aparams.push_back(filter->arg0());
|
||||
if (!filter->arg0().empty()) {
|
||||
aparams.push_back(filter->arg0());
|
||||
}
|
||||
}
|
||||
|
||||
return aparams;
|
||||
|
|
|
@ -1195,24 +1195,24 @@ srs_error_t SrsFormat::audio_aac_demux(SrsBuffer* stream, int64_t timestamp)
|
|||
int8_t sound_size = (sound_format >> 1) & 0x01;
|
||||
int8_t sound_rate = (sound_format >> 2) & 0x03;
|
||||
sound_format = (sound_format >> 4) & 0x0f;
|
||||
|
||||
|
||||
SrsAudioCodecId codec_id = (SrsAudioCodecId)sound_format;
|
||||
acodec->id = codec_id;
|
||||
|
||||
|
||||
acodec->sound_type = (SrsAudioChannels)sound_type;
|
||||
acodec->sound_rate = (SrsAudioSampleRate)sound_rate;
|
||||
acodec->sound_size = (SrsAudioSampleBits)sound_size;
|
||||
|
||||
|
||||
// we support h.264+mp3 for hls.
|
||||
if (codec_id == SrsAudioCodecIdMP3) {
|
||||
return srs_error_new(ERROR_HLS_TRY_MP3, "try mp3");
|
||||
}
|
||||
|
||||
|
||||
// only support aac
|
||||
if (codec_id != SrsAudioCodecIdAAC) {
|
||||
return srs_error_new(ERROR_HLS_DECODE_ERROR, "not supported codec %d", codec_id);
|
||||
}
|
||||
|
||||
|
||||
if (!stream->require(1)) {
|
||||
return srs_error_new(ERROR_HLS_DECODE_ERROR, "aac decode aac_packet_type");
|
||||
}
|
||||
|
|
|
@ -3124,6 +3124,48 @@ VOID TEST(ConfigMainTest, CheckVhostConfig3)
|
|||
EXPECT_EQ(1000, conf.get_bw_check_limit_kbps("ossrs.net"));
|
||||
EXPECT_FALSE(conf.get_vhost_is_edge("ossrs.net"));
|
||||
EXPECT_TRUE(conf.get_vhost_edge_origin("ossrs.net") == NULL);
|
||||
EXPECT_FALSE(conf.get_vhost_edge_token_traverse("ossrs.net"));
|
||||
EXPECT_STREQ("[vhost]", conf.get_vhost_edge_transform_vhost("ossrs.net").c_str());
|
||||
EXPECT_FALSE(conf.get_vhost_origin_cluster("ossrs.net"));
|
||||
EXPECT_EQ(0, conf.get_vhost_coworkers("ossrs.net").size());
|
||||
EXPECT_FALSE(conf.get_security_enabled("ossrs.net"));
|
||||
EXPECT_TRUE(conf.get_security_rules("ossrs.net") == NULL);
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{security{enabled on;}}"));
|
||||
EXPECT_TRUE(conf.get_security_rules("ossrs.net") != NULL);
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{security{enabled on;}}"));
|
||||
EXPECT_TRUE(conf.get_security_enabled("ossrs.net"));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{cluster{coworkers xxx;}}"));
|
||||
EXPECT_EQ(1, conf.get_vhost_coworkers("ossrs.net").size());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{cluster{origin_cluster on;}}"));
|
||||
EXPECT_TRUE(conf.get_vhost_origin_cluster("ossrs.net"));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{cluster{vhost xxx;}}"));
|
||||
EXPECT_FALSE(conf.get_vhost_edge_transform_vhost("ossrs.net").empty());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{cluster{token_traverse on;}}"));
|
||||
EXPECT_TRUE(conf.get_vhost_edge_token_traverse("ossrs.net"));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
|
@ -3229,3 +3271,210 @@ VOID TEST(ConfigMainTest, CheckVhostConfig3)
|
|||
}
|
||||
}
|
||||
|
||||
VOID TEST(ConfigMainTest, CheckVhostConfig4)
|
||||
{
|
||||
srs_error_t err;
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net;"));
|
||||
EXPECT_TRUE(conf.get_transcode("ossrs.net", "") == NULL);
|
||||
EXPECT_FALSE(conf.get_transcode_enabled(conf.get_transcode("ossrs.net", "")));
|
||||
EXPECT_TRUE(conf.get_transcode_ffmpeg(conf.get_transcode("ossrs.net", "")).empty());
|
||||
EXPECT_EQ(0, conf.get_transcode_engines(conf.get_transcode("ossrs.net", "")).size());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{output xxx;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_STREQ("xxx", conf.get_engine_output(arr.at(0)).c_str());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{oformat flv;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_STREQ("flv", conf.get_engine_oformat(arr.at(0)).c_str());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{aparams {i;}}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1, conf.get_engine_aparams(arr.at(0)).size());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{achannels 1000;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1000, conf.get_engine_achannels(arr.at(0)));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{asample_rate 1000;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1000, conf.get_engine_asample_rate(arr.at(0)));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{abitrate 1000;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1000, conf.get_engine_abitrate(arr.at(0)));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{acodec aac;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_STREQ("aac", conf.get_engine_acodec(arr.at(0)).c_str());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{vparams {t;}}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1, conf.get_engine_vparams(arr.at(0)).size());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{vpreset main;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_STREQ("main", conf.get_engine_vpreset(arr.at(0)).c_str());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{vprofile main;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_STREQ("main", conf.get_engine_vprofile(arr.at(0)).c_str());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{vthreads 1000;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1000, conf.get_engine_vthreads(arr.at(0)));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{vheight 1000;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1000, conf.get_engine_vheight(arr.at(0)));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{vwidth 1000;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1000, conf.get_engine_vwidth(arr.at(0)));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{vfps 1000;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1000, conf.get_engine_vfps(arr.at(0)));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{vbitrate 1000;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1000, conf.get_engine_vbitrate(arr.at(0)));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{vcodec x264;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_STREQ("x264", conf.get_engine_vcodec(arr.at(0)).c_str());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{vfilter {i;}}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1, conf.get_engine_vfilter(arr.at(0)).size());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{vfilter {i logo.png;}}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(2, conf.get_engine_vfilter(arr.at(0)).size());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{iformat mp4;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_STREQ("mp4", conf.get_engine_iformat(arr.at(0)).c_str());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{perfile {re;}}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_EQ(1, conf.get_engine_perfile(arr.at(0)).size());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine{enabled on;}}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
EXPECT_TRUE(conf.get_engine_enabled(arr.at(0)));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{engine;}}"));
|
||||
vector<SrsConfDirective*> arr = conf.get_transcode_engines(conf.get_transcode("ossrs.net", "xxx"));
|
||||
ASSERT_EQ(1, arr.size());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{ffmpeg xxx;}}"));
|
||||
EXPECT_STREQ("xxx", conf.get_transcode_ffmpeg(conf.get_transcode("ossrs.net", "xxx")).c_str());
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx{enabled on;}}"));
|
||||
EXPECT_TRUE(conf.get_transcode_enabled(conf.get_transcode("ossrs.net", "xxx")));
|
||||
}
|
||||
|
||||
if (true) {
|
||||
MockSrsConfig conf;
|
||||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "vhost ossrs.net{transcode xxx;}"));
|
||||
EXPECT_TRUE(conf.get_transcode("ossrs.net", "xxx") != NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue