-
Notifications
You must be signed in to change notification settings - Fork 250
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Support include empty config file. v5.0.173 (ossrs#3768)
SRS supports including another configuration in the include package. When generating configurations, we can only generate the changed configurations, while the unchanged configurations are in the fixed files, for example: ```nginx listen 1935; include server.conf; ``` In `server.conf`, we can manage the changing configurations with the program: ```nginx http_api { enabled on; } ``` However, during system initialization, we often create an empty `server.conf`, and the content is generated only after the program starts, so `server.conf` might be an empty file. This also makes it convenient to use a script to confirm the existence of this file: ```bash touch server.conf ``` Currently, SRS does not support empty configurations and will report an error. This PR is to solve this problem, making it more convenient to use include. `TRANS_BY_GPT4` --------- Co-authored-by: Haibo Chen <495810242@qq.com>
- Loading branch information
1 parent
20f238e
commit fdcff38
Showing
8 changed files
with
120 additions
and
17 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -9,6 +9,6 @@ | |
|
||
#define VERSION_MAJOR 5 | ||
#define VERSION_MINOR 0 | ||
#define VERSION_REVISION 172 | ||
#define VERSION_REVISION 173 | ||
|
||
#endif |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
// | ||
// Copyright (c) 2013-2023 The SRS Authors | ||
// | ||
// SPDX-License-Identifier: MIT or MulanPSL-2.0 | ||
// | ||
#include <srs_utest_config2.hpp> | ||
|
||
#include <srs_kernel_error.hpp> | ||
#include <srs_kernel_file.hpp> | ||
#include <srs_utest_kernel.hpp> | ||
|
||
VOID TEST(ConfigMainTest, CheckIncludeEmptyConfig) | ||
{ | ||
srs_error_t err; | ||
|
||
if (true) { | ||
string filepath = _srs_tmp_file_prefix + "utest-main.conf"; | ||
MockFileRemover _mfr(filepath); | ||
|
||
string included = _srs_tmp_file_prefix + "utest-included-empty.conf"; | ||
MockFileRemover _mfr2(included); | ||
|
||
if (true) { | ||
SrsFileWriter fw; | ||
fw.open(included); | ||
} | ||
|
||
if (true) { | ||
SrsFileWriter fw; | ||
fw.open(filepath); | ||
string content = _MIN_OK_CONF "include " + included + ";"; | ||
fw.write((void*)content.data(), (int)content.length(), NULL); | ||
} | ||
|
||
SrsConfig conf; | ||
HELPER_ASSERT_SUCCESS(conf.parse_file(filepath.c_str())); | ||
EXPECT_EQ(1, (int)conf.get_listens().size()); | ||
} | ||
|
||
if (true) { | ||
MockSrsConfig conf; | ||
conf.mock_include("test.conf", ""); | ||
HELPER_ASSERT_SUCCESS(conf.parse(_MIN_OK_CONF "include test.conf;")); | ||
EXPECT_EQ(1, (int)conf.get_listens().size()); | ||
} | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
// | ||
// Copyright (c) 2013-2023 The SRS Authors | ||
// | ||
// SPDX-License-Identifier: MIT or MulanPSL-2.0 | ||
// | ||
|
||
#ifndef SRS_UTEST_CONFIG2_HPP | ||
#define SRS_UTEST_CONFIG2_HPP | ||
|
||
/* | ||
#include <srs_utest_config2.hpp> | ||
*/ | ||
#include <srs_utest_config.hpp> | ||
|
||
#endif | ||
|