2014-07-20 05:04:48 +00:00
|
|
|
/*
|
|
|
|
The MIT License (MIT)
|
|
|
|
|
2019-01-01 13:37:28 +00:00
|
|
|
Copyright (c) 2013-2019 Winlin
|
2014-07-20 05:04:48 +00:00
|
|
|
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
|
|
|
this software and associated documentation files (the "Software"), to deal in
|
|
|
|
the Software without restriction, including without limitation the rights to
|
|
|
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
|
|
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
|
|
|
subject to the following conditions:
|
|
|
|
|
|
|
|
The above copyright notice and this permission notice shall be included in all
|
|
|
|
copies or substantial portions of the Software.
|
|
|
|
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
|
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
|
|
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
|
|
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
|
|
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
|
|
*/
|
|
|
|
#include <srs_utest_config.hpp>
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
#include <srs_app_config.hpp>
|
2014-07-20 05:48:24 +00:00
|
|
|
#include <srs_kernel_consts.hpp>
|
2014-07-20 07:27:05 +00:00
|
|
|
#include <srs_kernel_error.hpp>
|
2014-07-21 04:13:01 +00:00
|
|
|
#include <srs_app_source.hpp>
|
2014-12-04 14:28:33 +00:00
|
|
|
#include <srs_core_performance.hpp>
|
2014-07-20 07:27:05 +00:00
|
|
|
|
2014-08-05 01:16:25 +00:00
|
|
|
MockSrsConfigBuffer::MockSrsConfigBuffer(string buf)
|
|
|
|
{
|
|
|
|
// read all.
|
|
|
|
int filesize = (int)buf.length();
|
|
|
|
|
|
|
|
if (filesize <= 0) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
// create buffer
|
|
|
|
pos = last = start = new char[filesize];
|
|
|
|
end = start + filesize;
|
|
|
|
|
|
|
|
memcpy(start, buf.data(), filesize);
|
|
|
|
}
|
|
|
|
|
|
|
|
MockSrsConfigBuffer::~MockSrsConfigBuffer()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2017-06-11 06:03:19 +00:00
|
|
|
srs_error_t MockSrsConfigBuffer::fullfill(const char* /*filename*/)
|
2014-08-05 01:16:25 +00:00
|
|
|
{
|
2017-06-11 06:03:19 +00:00
|
|
|
return srs_success;
|
2014-08-05 01:16:25 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
MockSrsConfig::MockSrsConfig()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
|
|
|
MockSrsConfig::~MockSrsConfig()
|
|
|
|
{
|
|
|
|
}
|
|
|
|
|
2017-06-11 06:03:19 +00:00
|
|
|
srs_error_t MockSrsConfig::parse(string buf)
|
2014-08-05 01:16:25 +00:00
|
|
|
{
|
2017-06-11 06:03:19 +00:00
|
|
|
srs_error_t err = srs_success;
|
2014-09-27 05:14:46 +00:00
|
|
|
|
2014-08-05 01:16:25 +00:00
|
|
|
MockSrsConfigBuffer buffer(buf);
|
2014-09-27 05:14:46 +00:00
|
|
|
|
2017-06-11 06:03:19 +00:00
|
|
|
if ((err = parse_buffer(&buffer)) != srs_success) {
|
|
|
|
return srs_error_wrap(err, "parse buffer");
|
2014-09-27 05:14:46 +00:00
|
|
|
}
|
2016-09-15 06:47:42 +00:00
|
|
|
|
2017-06-11 06:03:19 +00:00
|
|
|
if ((err = srs_config_transform_vhost(root)) != srs_success) {
|
|
|
|
return srs_error_wrap(err, "transform config");
|
2016-09-15 06:47:42 +00:00
|
|
|
}
|
2014-09-27 05:14:46 +00:00
|
|
|
|
2017-06-11 06:03:19 +00:00
|
|
|
if ((err = check_normal_config()) != srs_success) {
|
|
|
|
return srs_error_wrap(err, "check normal config");
|
|
|
|
}
|
|
|
|
|
|
|
|
return err;
|
2014-08-05 01:16:25 +00:00
|
|
|
}
|
|
|
|
|
2014-07-20 05:04:48 +00:00
|
|
|
VOID TEST(ConfigTest, CheckMacros)
|
|
|
|
{
|
|
|
|
#ifndef SRS_CONSTS_LOCALHOST
|
|
|
|
EXPECT_TRUE(false);
|
|
|
|
#endif
|
|
|
|
}
|
2014-07-20 07:27:05 +00:00
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseEmpty)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(0, (int)conf.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseNameOnly)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("winlin;");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("winlin", dir.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir.args.size());
|
|
|
|
EXPECT_EQ(0, (int)dir.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseNameArg0Only)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("winlin arg0;");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("winlin", dir.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseNameArg1Only)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("winlin arg0 arg1;");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("winlin", dir.name.c_str());
|
|
|
|
EXPECT_EQ(2, (int)dir.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir.arg0().c_str());
|
|
|
|
EXPECT_STREQ("arg1", dir.arg1().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseNameArg2Only)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("winlin arg0 arg1 arg2;");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("winlin", dir.name.c_str());
|
|
|
|
EXPECT_EQ(3, (int)dir.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir.arg0().c_str());
|
|
|
|
EXPECT_STREQ("arg1", dir.arg1().c_str());
|
|
|
|
EXPECT_STREQ("arg2", dir.arg2().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseNameArg2Dir0)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("winlin arg0 arg1 arg2 {dir0;}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("winlin", dir.name.c_str());
|
|
|
|
EXPECT_EQ(3, (int)dir.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir.arg0().c_str());
|
|
|
|
EXPECT_STREQ("arg1", dir.arg1().c_str());
|
|
|
|
EXPECT_STREQ("arg2", dir.arg2().c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *dir.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.args.size());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseNameArg2Dir0NoEmpty)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("winlin arg0 arg1 arg2{dir0;}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("winlin", dir.name.c_str());
|
|
|
|
EXPECT_EQ(3, (int)dir.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir.arg0().c_str());
|
|
|
|
EXPECT_STREQ("arg1", dir.arg1().c_str());
|
|
|
|
EXPECT_STREQ("arg2", dir.arg2().c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *dir.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.args.size());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseNameArg2_Dir0Arg0)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("winlin arg0 arg1 arg2 {dir0 dir_arg0;}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("winlin", dir.name.c_str());
|
|
|
|
EXPECT_EQ(3, (int)dir.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir.arg0().c_str());
|
|
|
|
EXPECT_STREQ("arg1", dir.arg1().c_str());
|
|
|
|
EXPECT_STREQ("arg2", dir.arg2().c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *dir.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("dir_arg0", dir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseNameArg2_Dir0Arg0_Dir0)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("winlin arg0 arg1 arg2 {dir0 dir_arg0 {ddir0;}}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("winlin", dir.name.c_str());
|
|
|
|
EXPECT_EQ(3, (int)dir.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir.arg0().c_str());
|
|
|
|
EXPECT_STREQ("arg1", dir.arg1().c_str());
|
|
|
|
EXPECT_STREQ("arg2", dir.arg2().c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *dir.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("dir_arg0", dir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& ddir0 = *dir0.directives.at(0);
|
|
|
|
EXPECT_STREQ("ddir0", ddir0.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)ddir0.args.size());
|
|
|
|
EXPECT_EQ(0, (int)ddir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseNameArg2_Dir0Arg0_Dir0Arg0)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("winlin arg0 arg1 arg2 {dir0 dir_arg0 {ddir0 ddir_arg0;}}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("winlin", dir.name.c_str());
|
|
|
|
EXPECT_EQ(3, (int)dir.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir.arg0().c_str());
|
|
|
|
EXPECT_STREQ("arg1", dir.arg1().c_str());
|
|
|
|
EXPECT_STREQ("arg2", dir.arg2().c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *dir.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("dir_arg0", dir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& ddir0 = *dir0.directives.at(0);
|
|
|
|
EXPECT_STREQ("ddir0", ddir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)ddir0.args.size());
|
|
|
|
EXPECT_STREQ("ddir_arg0", ddir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)ddir0.directives.size());
|
|
|
|
}
|
2014-07-20 07:53:19 +00:00
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, Parse2SingleDirs)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 arg0;dir1 arg1;");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(2, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir1 = *conf.directives.at(1);
|
|
|
|
EXPECT_STREQ("dir1", dir1.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir1.args.size());
|
|
|
|
EXPECT_STREQ("arg1", dir1.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir1.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseSingleComplexDirs)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 arg0;dir1 {dir2 arg2;}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(2, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir1 = *conf.directives.at(1);
|
|
|
|
EXPECT_STREQ("dir1", dir1.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir1.args.size());
|
|
|
|
EXPECT_EQ(1, (int)dir1.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir2 = *dir1.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir2", dir2.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir2.args.size());
|
|
|
|
EXPECT_STREQ("arg2", dir2.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir2.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseStringArgs)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 arg0 \"str_arg\" 100;");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(3, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir0.arg0().c_str());
|
|
|
|
EXPECT_STREQ("str_arg", dir0.arg1().c_str());
|
|
|
|
EXPECT_STREQ("100", dir0.arg2().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseStringArgsWithSpace)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 arg0 \"str_arg space\" 100;");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(3, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir0.arg0().c_str());
|
|
|
|
EXPECT_STREQ("str_arg space", dir0.arg1().c_str());
|
|
|
|
EXPECT_STREQ("100", dir0.arg2().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseNumberArgs)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 100 101 102;");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(3, (int)dir0.args.size());
|
|
|
|
EXPECT_EQ(100, ::atoi(dir0.arg0().c_str()));
|
|
|
|
EXPECT_EQ(101, ::atoi(dir0.arg1().c_str()));
|
|
|
|
EXPECT_EQ(102, ::atoi(dir0.arg2().c_str()));
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseFloatArgs)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 100.01 101.02 102.03;");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(3, (int)dir0.args.size());
|
|
|
|
EXPECT_FLOAT_EQ(100.01, ::atof(dir0.arg0().c_str()));
|
|
|
|
EXPECT_FLOAT_EQ(101.02, ::atof(dir0.arg1().c_str()));
|
|
|
|
EXPECT_FLOAT_EQ(102.03, ::atof(dir0.arg2().c_str()));
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseComments)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("#commnets\ndir0 arg0;\n#end-comments");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseCommentsInline)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("#commnets\ndir0 arg0;#inline comments\n#end-comments");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseCommentsInlineWithSpace)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf(" #commnets\ndir0 arg0; #inline comments\n #end-comments");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseCommentsInlinemixed)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("#commnets\ndir0 arg0;#inline comments\n#end-comments\ndir1 arg1;");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(2, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir1 = *conf.directives.at(1);
|
|
|
|
EXPECT_STREQ("dir1", dir1.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir1.args.size());
|
|
|
|
EXPECT_STREQ("arg1", dir1.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir1.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseSpecialChars)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 http://www.ossrs.net/api/v1/versions?level=major;");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("http://www.ossrs.net/api/v1/versions?level=major", dir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseSpecialChars2)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 rtmp://[server]:[port]/[app]/[stream]_[engine];");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir0.args.size());
|
|
|
|
EXPECT_STREQ("rtmp://[server]:[port]/[app]/[stream]_[engine]", dir0.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseInvalidNoEndOfDirective)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(&buf));
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseInvalidNoEndOfSubDirective)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 {");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(&buf));
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseInvalidNoStartOfSubDirective)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 }");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(&buf));
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseInvalidEmptyName)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf(";");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(&buf));
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseInvalidEmptyName2)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("{}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(&buf));
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseInvalidEmptyDirective)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 {}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.args.size());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
}
|
2014-07-20 08:16:29 +00:00
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseLine)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 {}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.args.size());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
EXPECT_EQ(1, (int)dir0.conf_line);
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseLine2)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("\n\ndir0 {}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.args.size());
|
|
|
|
EXPECT_EQ(0, (int)dir0.directives.size());
|
|
|
|
EXPECT_EQ(3, (int)dir0.conf_line);
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseLine3)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 {\n\ndir1 arg0;}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.args.size());
|
|
|
|
EXPECT_EQ(1, (int)dir0.directives.size());
|
|
|
|
EXPECT_EQ(1, (int)dir0.conf_line);
|
|
|
|
|
|
|
|
SrsConfDirective& dir1 = *dir0.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir1", dir1.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir1.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir1.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir1.directives.size());
|
|
|
|
EXPECT_EQ(3, (int)dir1.conf_line);
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseLine4)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 {\n\ndir1 \n\narg0;dir2 arg1;}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.args.size());
|
|
|
|
EXPECT_EQ(2, (int)dir0.directives.size());
|
|
|
|
EXPECT_EQ(1, (int)dir0.conf_line);
|
|
|
|
|
|
|
|
SrsConfDirective& dir1 = *dir0.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir1", dir1.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir1.args.size());
|
|
|
|
EXPECT_STREQ("arg0", dir1.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir1.directives.size());
|
|
|
|
EXPECT_EQ(3, (int)dir1.conf_line);
|
|
|
|
|
|
|
|
SrsConfDirective& dir2 = *dir0.directives.at(1);
|
|
|
|
EXPECT_STREQ("dir2", dir2.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir2.args.size());
|
|
|
|
EXPECT_STREQ("arg1", dir2.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir2.directives.size());
|
|
|
|
EXPECT_EQ(5, (int)dir2.conf_line);
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigDirectiveTest, ParseLineNormal)
|
|
|
|
{
|
|
|
|
MockSrsConfigBuffer buf("dir0 {\ndir1 {\ndir2 arg2;\n}\n}");
|
|
|
|
SrsConfDirective conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(&buf));
|
|
|
|
EXPECT_EQ(0, (int)conf.name.length());
|
|
|
|
EXPECT_EQ(0, (int)conf.args.size());
|
|
|
|
EXPECT_EQ(1, (int)conf.directives.size());
|
|
|
|
|
|
|
|
SrsConfDirective& dir0 = *conf.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir0", dir0.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir0.args.size());
|
|
|
|
EXPECT_EQ(1, (int)dir0.directives.size());
|
|
|
|
EXPECT_EQ(1, (int)dir0.conf_line);
|
|
|
|
|
|
|
|
SrsConfDirective& dir1 = *dir0.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir1", dir1.name.c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir1.args.size());
|
|
|
|
EXPECT_EQ(1, (int)dir1.directives.size());
|
|
|
|
EXPECT_EQ(2, (int)dir1.conf_line);
|
|
|
|
|
|
|
|
SrsConfDirective& dir2 = *dir1.directives.at(0);
|
|
|
|
EXPECT_STREQ("dir2", dir2.name.c_str());
|
|
|
|
EXPECT_EQ(1, (int)dir2.args.size());
|
|
|
|
EXPECT_STREQ("arg2", dir2.arg0().c_str());
|
|
|
|
EXPECT_EQ(0, (int)dir2.directives.size());
|
|
|
|
EXPECT_EQ(3, (int)dir2.conf_line);
|
|
|
|
}
|
2014-07-20 09:08:47 +00:00
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, ParseEmpty)
|
|
|
|
{
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(""));
|
|
|
|
}
|
2014-07-20 09:44:20 +00:00
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, ParseMinConf)
|
|
|
|
{
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 07:54:40 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF));
|
2014-07-20 09:44:20 +00:00
|
|
|
|
2015-04-03 03:30:59 +00:00
|
|
|
vector<string> listens = conf.get_listens();
|
2014-07-20 09:44:20 +00:00
|
|
|
EXPECT_EQ(1, (int)listens.size());
|
|
|
|
EXPECT_STREQ("1935", listens.at(0).c_str());
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, ParseInvalidDirective)
|
|
|
|
{
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse("listens 1935;"));
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, ParseInvalidDirective2)
|
|
|
|
{
|
|
|
|
MockSrsConfig conf;
|
2014-07-21 02:50:08 +00:00
|
|
|
// check error for user not specified the listen directive.
|
2014-07-20 09:44:20 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse("chunk_size 4096;"));
|
|
|
|
}
|
2014-07-21 02:50:08 +00:00
|
|
|
|
2014-07-26 06:43:37 +00:00
|
|
|
VOID TEST(ConfigMainTest, CheckConf_listen)
|
|
|
|
{
|
2014-07-26 07:54:40 +00:00
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF));
|
|
|
|
}
|
|
|
|
|
2014-07-26 06:43:37 +00:00
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse("listens 1935;"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse("listen 0;"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse("listen -1;"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse("listen -1935;"));
|
|
|
|
}
|
|
|
|
}
|
2014-07-26 07:34:45 +00:00
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_pid)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 07:54:40 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"pids ./objs/srs.pid;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_chunk_size)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 07:54:40 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"chunk_size 60000;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 07:54:40 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"chunk_sizes 60000;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2017-06-28 01:44:10 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"chunk_size 0;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2017-06-28 01:44:10 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"chunk_size 1;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2017-06-28 01:44:10 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"chunk_size 127;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2017-06-28 01:44:10 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"chunk_size -1;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2017-06-28 01:44:10 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"chunk_size -4096;"));
|
2014-07-26 07:54:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2017-06-28 01:44:10 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"chunk_size 65537;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_ff_log_dir)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 07:54:40 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"ff_log_dir ./objs;"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"ff_log_dirs ./objs;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_srs_log_level)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 07:54:40 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"srs_log_level trace;"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"srs_log_levels trace;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_srs_log_file)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 07:54:40 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"srs_log_file ./objs/srs.log;"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"srs_log_files ./objs/srs.log;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-07-26 07:54:40 +00:00
|
|
|
VOID TEST(ConfigMainTest, CheckConf_daemon)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"daemon on;"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"daemons on;"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_heartbeat)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"heartbeat{}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"heartbeats{}"));
|
|
|
|
}
|
|
|
|
|
2014-07-27 07:00:52 +00:00
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"heartbeat{enabled on;}"));
|
|
|
|
}
|
|
|
|
|
2014-07-26 07:54:40 +00:00
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"heartbeat{enableds on;}"));
|
|
|
|
}
|
|
|
|
|
2014-07-27 07:00:52 +00:00
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"heartbeat{interval 9;}"));
|
|
|
|
}
|
|
|
|
|
2014-07-26 07:54:40 +00:00
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"heartbeat{intervals 9;}"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
|
2014-07-27 07:00:52 +00:00
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"heartbeat{url http://127.0.0.1:8085/api/v1/servers;}"));
|
|
|
|
}
|
|
|
|
|
2014-07-26 07:34:45 +00:00
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 07:54:40 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"heartbeat{urls http://127.0.0.1:8085/api/v1/servers;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-27 07:00:52 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"heartbeat{device_id 0;}"));
|
2014-07-26 07:54:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-27 07:00:52 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"heartbeat{device_ids 0;}"));
|
2014-07-26 07:54:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-27 07:00:52 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"heartbeat{summaries on;}"));
|
2014-07-26 07:54:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"heartbeat{summariess on;}"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_http_api)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"http_api{}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"http_apis{}"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
2014-07-26 09:14:14 +00:00
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"http_api{enableds on;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"http_api{listens 1985;}"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-07-27 07:00:52 +00:00
|
|
|
VOID TEST(ConfigMainTest, CheckConf_stats)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"stats{}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"statss{}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-27 10:39:20 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"stats{network 0;}"));
|
2014-07-27 07:00:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-27 10:39:20 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"stats{networks 0;}"));
|
2014-07-27 07:00:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-27 10:39:20 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"stats{network -100;}"));
|
2014-07-27 07:00:52 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-27 10:39:20 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"stats{network -1;}"));
|
2014-07-27 07:00:52 +00:00
|
|
|
}
|
2014-07-27 08:52:00 +00:00
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-27 10:40:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"stats{disk sda;}"));
|
2014-07-27 08:52:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-27 10:40:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"stats{disks sda;}"));
|
2014-07-27 08:52:00 +00:00
|
|
|
}
|
2014-07-27 07:00:52 +00:00
|
|
|
}
|
|
|
|
|
2014-07-26 09:14:14 +00:00
|
|
|
VOID TEST(ConfigMainTest, CheckConf_http_stream)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"http_stream{}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"http_streams{}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"http_stream{enableds on;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"http_stream{listens 8080;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"http_stream{dirs ./objs/nginx/html;}"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_vhost)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhosts{}"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_vhost_edge)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{mode remote;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{modes remote;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{origin 127.0.0.1:1935 localhost:1935;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{origins 127.0.0.1:1935 localhost:1935;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{token_traverse off;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{token_traverses off;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_vhost_dvr)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{dvr{}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{dvrs{}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{dvr{enabled on;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{dvr{enableds on;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{dvr{dvr_path ./objs/nginx/html;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{dvr{dvr_paths ./objs/nginx/html;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{dvr{dvr_plan session;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{dvr{dvr_plans session;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{dvr{dvr_duration 30;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{dvr{dvr_durations 30;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
2014-09-25 02:59:29 +00:00
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{dvr{dvr_wait_keyframe on;}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{dvr{dvr_wait_keyframes on;}}"));
|
|
|
|
}
|
|
|
|
|
2014-07-26 09:14:14 +00:00
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{dvr{time_jitter full;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{dvr{time_jitters full;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_vhost_ingest)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{ingest{}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{ingests{}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{ingest{enabled on;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{ingest{enableds on;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{ingest{input{}}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{ingest{inputs{}}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{ingest{ffmpeg ./objs/ffmpeg/bin/ffmpeg;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{ingest{ffmpegs ./objs/ffmpeg/bin/ffmpeg;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{ingest{engine{}}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{ingest{engines{}}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_vhost_http)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http{}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{https{}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http{enabled on;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{http{enableds on;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http{mount /hls;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{http{mounts /hls;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http{dir ./objs/nginx/html/hls;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{http{dirs ./objs/nginx/html/hls;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_vhost_hls)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{hls{}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{hlss{}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{hls{enabled on;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{hls{enableds on;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{hls{hls_path ./objs/nginx/html;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{hls{hls_paths ./objs/nginx/html;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{hls{hls_fragment 10;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{hls{hls_fragments 10;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{hls{hls_window 60;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{hls{hls_windows 60;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_hooks)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http_hooks{}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{http_hookss{}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http_hooks{enabled on;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{http_hooks{enableds on;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_connect http://127.0.0.1:8085/api/v1/clients http://localhost:8085/api/v1/clients;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_connects http://127.0.0.1:8085/api/v1/clients http://localhost:8085/api/v1/clients;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_close http://127.0.0.1:8085/api/v1/clients http://localhost:8085/api/v1/clients;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_closes http://127.0.0.1:8085/api/v1/clients http://localhost:8085/api/v1/clients;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_publish http://127.0.0.1:8085/api/v1/streams http://localhost:8085/api/v1/streams;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_publishs http://127.0.0.1:8085/api/v1/streams http://localhost:8085/api/v1/streams;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_unpublish http://127.0.0.1:8085/api/v1/streams http://localhost:8085/api/v1/streams;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_unpublishs http://127.0.0.1:8085/api/v1/streams http://localhost:8085/api/v1/streams;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_play http://127.0.0.1:8085/api/v1/sessions http://localhost:8085/api/v1/sessions;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_plays http://127.0.0.1:8085/api/v1/sessions http://localhost:8085/api/v1/sessions;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_stop http://127.0.0.1:8085/api/v1/sessions http://localhost:8085/api/v1/sessions;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{http_hooks{on_stops http://127.0.0.1:8085/api/v1/sessions http://localhost:8085/api/v1/sessions;}}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_gop_cache)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{gop_cache off;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{gop_caches off;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{queue_length 10;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{queue_lengths 10;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-08-19 02:59:59 +00:00
|
|
|
VOID TEST(ConfigMainTest, CheckConf_debug_srs_upnode)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{debug_srs_upnode off;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{debug_srs_upnodes off;}"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2014-07-26 09:14:14 +00:00
|
|
|
VOID TEST(ConfigMainTest, CheckConf_refer)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{refer github.com github.io;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{refers github.com github.io;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{refer_publish github.com github.io;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{refer_publishs github.com github.io;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{refer_play github.com github.io;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{refer_plays github.com github.io;}"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
|
2014-07-26 11:57:32 +00:00
|
|
|
VOID TEST(ConfigMainTest, CheckConf_forward)
|
2014-07-26 07:34:45 +00:00
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{forward 127.0.0.1:1936;}"));
|
2014-07-26 07:54:40 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2014-07-26 11:57:32 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{forwards 127.0.0.1:1936;}"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_transcode)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcodes{}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{enabled on;}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{enableds on;}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{ffmpeg ./objs/ffmpeg/bin/ffmpeg;}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{ffmpegs ./objs/ffmpeg/bin/ffmpeg;}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engines {}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {enabled on;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {enableds on;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vfilter {}}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vfilters {}}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vcodec libx264;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vcodecs libx264;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vbitrate 300;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vbitrates 300;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vfps 20;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vfpss 20;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vwidth 768;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vwidths 768;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vheight 320;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vheights 320;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vthreads 2;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vthreadss 2;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vprofile baseline;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vprofiles baseline;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vpreset superfast;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vpresets superfast;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vparams {}}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {vparamss {}}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2015-06-08 07:02:19 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {acodec libfdk_aac;}}}"));
|
2014-07-26 11:57:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2015-06-08 07:02:19 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {acodecs libfdk_aac;}}}"));
|
2014-07-26 11:57:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {abitrate 45;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {abitrates 45;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {asample_rate 44100;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {asample_rates 44100;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {achannels 2;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {achannelss 2;}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {aparams {}}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {aparamss {}}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];}}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{transcode{engine {outputs rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];}}}"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_bandcheck)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{bandcheck{}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{bandchecks{}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{bandcheck{enabled on;}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{bandcheck{enableds on;}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{bandcheck{key \"35c9b402c12a7246868752e2878f7e0e\";}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{bandcheck{keys \"35c9b402c12a7246868752e2878f7e0e\";}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{bandcheck{interval 30;}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{bandcheck{intervals 30;}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{bandcheck{limit_kbps 4000;}}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{bandcheck{limit_kbpss 4000;}}"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_chunk_size2)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{chunk_size 128;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{chunk_sizes 128;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2017-06-28 01:44:10 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{chunk_size 127;}"));
|
2014-07-26 11:57:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2017-06-28 01:44:10 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{chunk_size 0;}"));
|
2014-07-26 11:57:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2017-06-28 01:44:10 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{chunk_size -1;}"));
|
2014-07-26 11:57:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2017-06-28 01:44:10 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{chunk_size -128;}"));
|
2014-07-26 11:57:32 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2017-06-28 01:44:10 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{chunk_size 65537;}"));
|
2014-07-26 11:57:32 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_jitter)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{time_jitter full;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{time_jitters full;}"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_atc)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{atc on;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{atcs on;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{atc_auto on;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{atc_autos on;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{enabled on;}"));
|
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{enableds on;}"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
VOID TEST(ConfigMainTest, CheckConf_pithy_print)
|
|
|
|
{
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2015-03-04 04:24:22 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"pithy_print_ms 1000;"));
|
2014-07-26 09:14:14 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
if (true) {
|
|
|
|
MockSrsConfig conf;
|
2015-03-04 04:24:22 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"pithy_print_mss 1000;"));
|
2014-07-26 07:34:45 +00:00
|
|
|
}
|
|
|
|
}
|
2014-08-02 14:18:39 +00:00
|
|
|
|
2014-08-16 11:59:14 +00:00
|
|
|
VOID TEST(ConfigMainTest, CheckConf_vhost_ingest_id)
|
|
|
|
{
|
|
|
|
MockSrsConfig conf;
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{ingest id{}}"));
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{ingest id{} ingest id{}}"));
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS != conf.parse(_MIN_OK_CONF"vhost v{ingest{} ingest{}}"));
|
|
|
|
}
|
|
|
|
|
2019-04-08 00:31:58 +00:00
|
|
|
VOID TEST(ConfigUnitTest, CheckDefaultValues)
|
|
|
|
{
|
|
|
|
MockSrsConfig conf;
|
|
|
|
if (true) {
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF));
|
2019-04-08 00:46:22 +00:00
|
|
|
EXPECT_EQ(30 * SRS_UTIME_SECONDS, conf.get_bw_check_interval(""));
|
|
|
|
|
2019-04-08 01:02:39 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{bandcheck{interval 4;}}"));
|
|
|
|
EXPECT_EQ(4 * SRS_UTIME_SECONDS, conf.get_bw_check_interval("v"));
|
|
|
|
}
|
2019-04-08 00:46:22 +00:00
|
|
|
|
2019-04-08 01:02:39 +00:00
|
|
|
if (true) {
|
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF));
|
|
|
|
EXPECT_EQ(3 * SRS_UTIME_SECONDS, conf.get_dash_fragment(""));
|
2019-04-08 01:10:06 +00:00
|
|
|
EXPECT_EQ(30 * SRS_UTIME_SECONDS, conf.get_dash_update_period(""));
|
2019-04-08 01:20:02 +00:00
|
|
|
EXPECT_EQ(60 * SRS_UTIME_SECONDS, conf.get_dash_timeshift(""));
|
2019-04-08 00:46:22 +00:00
|
|
|
|
2019-04-08 01:20:02 +00:00
|
|
|
EXPECT_TRUE(ERROR_SUCCESS == conf.parse(_MIN_OK_CONF"vhost v{dash{dash_fragment 4;dash_update_period 40;dash_timeshift 70;}}"));
|
2019-04-08 01:02:39 +00:00
|
|
|
EXPECT_EQ(4 * SRS_UTIME_SECONDS, conf.get_dash_fragment("v"));
|
2019-04-08 01:10:06 +00:00
|
|
|
EXPECT_EQ(40 * SRS_UTIME_SECONDS, conf.get_dash_update_period("v"));
|
2019-04-08 01:20:02 +00:00
|
|
|
EXPECT_EQ(70 * SRS_UTIME_SECONDS, conf.get_dash_timeshift("v"));
|
2019-04-08 00:31:58 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|