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

Merge branch '3.0release' into develop

This commit is contained in:
winlin 2019-05-14 08:42:56 +08:00
commit ab66773aae
10 changed files with 206 additions and 47 deletions

View file

@ -166,6 +166,7 @@ Please select according to languages:
### V3 changes ### V3 changes
* v3.0, 2019-05-14, Covert Kernel File reader/writer. 3.0.52
* v3.0, 2019-04-30, Refine typo in files. 3.0.51 * v3.0, 2019-04-30, Refine typo in files. 3.0.51
* v3.0, 2019-04-25, Upgrade http-parser from 2.1 to 2.9.2 and cover it. 3.0.50 * v3.0, 2019-04-25, Upgrade http-parser from 2.1 to 2.9.2 and cover it. 3.0.50
* v3.0, 2019-04-22, Refine in time unit. 3.0.49 * v3.0, 2019-04-22, Refine in time unit. 3.0.49

View file

@ -27,7 +27,7 @@
// The version config. // The version config.
#define VERSION_MAJOR 3 #define VERSION_MAJOR 3
#define VERSION_MINOR 0 #define VERSION_MINOR 0
#define VERSION_REVISION 51 #define VERSION_REVISION 52
// The macros generated by configure script. // The macros generated by configure script.
#include <srs_auto_headers.hpp> #include <srs_auto_headers.hpp>

View file

@ -79,7 +79,7 @@
#define ERROR_SYSTEM_PID_SET_FILE_INFO 1040 #define ERROR_SYSTEM_PID_SET_FILE_INFO 1040
#define ERROR_SYSTEM_FILE_ALREADY_OPENED 1041 #define ERROR_SYSTEM_FILE_ALREADY_OPENED 1041
#define ERROR_SYSTEM_FILE_OPENE 1042 #define ERROR_SYSTEM_FILE_OPENE 1042
#define ERROR_SYSTEM_FILE_CLOSE 1043 //#define ERROR_SYSTEM_FILE_CLOSE 1043
#define ERROR_SYSTEM_FILE_READ 1044 #define ERROR_SYSTEM_FILE_READ 1044
#define ERROR_SYSTEM_FILE_WRITE 1045 #define ERROR_SYSTEM_FILE_WRITE 1045
#define ERROR_SYSTEM_FILE_EOF 1046 #define ERROR_SYSTEM_FILE_EOF 1046

View file

@ -39,7 +39,9 @@ using namespace std;
// For utest to mock it. // For utest to mock it.
_srs_open_t _srs_open_fn = ::open; _srs_open_t _srs_open_fn = ::open;
_srs_write_t _srs_write_fn = ::write; _srs_write_t _srs_write_fn = ::write;
_srs_read_t _srs_read_fn = ::read;
_srs_lseek_t _srs_lseek_fn = ::lseek; _srs_lseek_t _srs_lseek_fn = ::lseek;
_srs_close_t _srs_close_fn = ::close;
SrsFileWriter::SrsFileWriter() SrsFileWriter::SrsFileWriter()
{ {
@ -97,7 +99,7 @@ void SrsFileWriter::close()
return; return;
} }
if (::close(fd) < 0) { if (_srs_close_fn(fd) < 0) {
srs_warn("close file %s failed", path.c_str()); srs_warn("close file %s failed", path.c_str());
} }
fd = -1; fd = -1;
@ -191,7 +193,7 @@ srs_error_t SrsFileReader::open(string p)
return srs_error_new(ERROR_SYSTEM_FILE_ALREADY_OPENED, "file %s already opened", path.c_str()); return srs_error_new(ERROR_SYSTEM_FILE_ALREADY_OPENED, "file %s already opened", path.c_str());
} }
if ((fd = ::open(p.c_str(), O_RDONLY)) < 0) { if ((fd = _srs_open_fn(p.c_str(), O_RDONLY)) < 0) {
return srs_error_new(ERROR_SYSTEM_FILE_OPENE, "open file %s failed", p.c_str()); return srs_error_new(ERROR_SYSTEM_FILE_OPENE, "open file %s failed", p.c_str());
} }
@ -208,10 +210,8 @@ void SrsFileReader::close()
return; return;
} }
if (::close(fd) < 0) { if (_srs_close_fn(fd) < 0) {
ret = ERROR_SYSTEM_FILE_CLOSE; srs_warn("close file %s failed. ret=%d", path.c_str(), ret);
srs_error("close file %s failed. ret=%d", path.c_str(), ret);
return;
} }
fd = -1; fd = -1;
@ -225,26 +225,26 @@ bool SrsFileReader::is_open()
int64_t SrsFileReader::tellg() int64_t SrsFileReader::tellg()
{ {
return (int64_t)::lseek(fd, 0, SEEK_CUR); return (int64_t)_srs_lseek_fn(fd, 0, SEEK_CUR);
} }
void SrsFileReader::skip(int64_t size) void SrsFileReader::skip(int64_t size)
{ {
off_t r0 = ::lseek(fd, (off_t)size, SEEK_CUR); off_t r0 = _srs_lseek_fn(fd, (off_t)size, SEEK_CUR);
srs_assert(r0 != -1); srs_assert(r0 != -1);
} }
int64_t SrsFileReader::seek2(int64_t offset) int64_t SrsFileReader::seek2(int64_t offset)
{ {
return (int64_t)::lseek(fd, (off_t)offset, SEEK_SET); return (int64_t)_srs_lseek_fn(fd, (off_t)offset, SEEK_SET);
} }
int64_t SrsFileReader::filesize() int64_t SrsFileReader::filesize()
{ {
int64_t cur = tellg(); int64_t cur = tellg();
int64_t size = (int64_t)::lseek(fd, 0, SEEK_END); int64_t size = (int64_t)_srs_lseek_fn(fd, 0, SEEK_END);
off_t r0 = ::lseek(fd, (off_t)cur, SEEK_SET); off_t r0 = _srs_lseek_fn(fd, (off_t)cur, SEEK_SET);
srs_assert(r0 != -1); srs_assert(r0 != -1);
return size; return size;
@ -256,7 +256,7 @@ srs_error_t SrsFileReader::read(void* buf, size_t count, ssize_t* pnread)
ssize_t nread; ssize_t nread;
// TODO: FIXME: use st_read. // TODO: FIXME: use st_read.
if ((nread = ::read(fd, buf, count)) < 0) { if ((nread = _srs_read_fn(fd, buf, count)) < 0) {
return srs_error_new(ERROR_SYSTEM_FILE_READ, "read from file %s failed", path.c_str()); return srs_error_new(ERROR_SYSTEM_FILE_READ, "read from file %s failed", path.c_str());
} }
@ -273,7 +273,7 @@ srs_error_t SrsFileReader::read(void* buf, size_t count, ssize_t* pnread)
srs_error_t SrsFileReader::lseek(off_t offset, int whence, off_t* seeked) srs_error_t SrsFileReader::lseek(off_t offset, int whence, off_t* seeked)
{ {
off_t sk = ::lseek(fd, offset, whence); off_t sk = _srs_lseek_fn(fd, offset, whence);
if (sk < 0) { if (sk < 0) {
return srs_error_new(ERROR_SYSTEM_FILE_SEEK, "seek %v failed", (int)sk); return srs_error_new(ERROR_SYSTEM_FILE_SEEK, "seek %v failed", (int)sk);
} }

View file

@ -111,7 +111,9 @@ public:
// For utest to mock it. // For utest to mock it.
typedef int (*_srs_open_t)(const char* path, int oflag, ...); typedef int (*_srs_open_t)(const char* path, int oflag, ...);
typedef ssize_t (*_srs_write_t)(int fildes, const void* buf, size_t nbyte); typedef ssize_t (*_srs_write_t)(int fildes, const void* buf, size_t nbyte);
typedef ssize_t (*_srs_read_t)(int fildes, void* buf, size_t nbyte);
typedef off_t (*_srs_lseek_t)(int fildes, off_t offset, int whence); typedef off_t (*_srs_lseek_t)(int fildes, off_t offset, int whence);
typedef int (*_srs_close_t)(int fildes);
#endif #endif

View file

@ -151,8 +151,9 @@ enum SrsMp4BoxBrand
}; };
// The context to dump. // The context to dump.
struct SrsMp4DumpContext class SrsMp4DumpContext
{ {
public:
int level; int level;
bool summary; bool summary;
@ -467,8 +468,9 @@ enum SrsMp4TrunFlags
// Entry for trun. // Entry for trun.
// ISO_IEC_14496-12-base-format-2012.pdf, page 69 // ISO_IEC_14496-12-base-format-2012.pdf, page 69
struct SrsMp4TrunEntry class SrsMp4TrunEntry
{ {
public:
SrsMp4FullBox* owner; SrsMp4FullBox* owner;
uint32_t sample_duration; uint32_t sample_duration;
@ -864,7 +866,7 @@ public:
// 8.6.6 Edit List Box // 8.6.6 Edit List Box
// ISO_IEC_14496-12-base-format-2012.pdf, page 55 // ISO_IEC_14496-12-base-format-2012.pdf, page 55
struct SrsMp4ElstEntry class SrsMp4ElstEntry
{ {
public: public:
// An integer that specifies the duration of this edit segment in units of the timescale // An integer that specifies the duration of this edit segment in units of the timescale
@ -1514,8 +1516,9 @@ public:
// 8.6.1.2 Decoding Time to Sample Box (stts), for Audio/Video. // 8.6.1.2 Decoding Time to Sample Box (stts), for Audio/Video.
// ISO_IEC_14496-12-base-format-2012.pdf, page 48 // ISO_IEC_14496-12-base-format-2012.pdf, page 48
struct SrsMp4SttsEntry class SrsMp4SttsEntry
{ {
public:
// An integer that counts the number of consecutive samples that have the given // An integer that counts the number of consecutive samples that have the given
// duration. // duration.
uint32_t sample_count; uint32_t sample_count;
@ -1561,8 +1564,9 @@ public:
// 8.6.1.3 Composition Time to Sample Box (ctts), for Video. // 8.6.1.3 Composition Time to Sample Box (ctts), for Video.
// ISO_IEC_14496-12-base-format-2012.pdf, page 49 // ISO_IEC_14496-12-base-format-2012.pdf, page 49
struct SrsMp4CttsEntry class SrsMp4CttsEntry
{ {
public:
// An integer that counts the number of consecutive samples that have the given offset. // An integer that counts the number of consecutive samples that have the given offset.
uint32_t sample_count; uint32_t sample_count;
// uint32_t for version=0 // uint32_t for version=0
@ -1638,8 +1642,9 @@ public:
// 8.7.4 Sample To Chunk Box (stsc), for Audio/Video. // 8.7.4 Sample To Chunk Box (stsc), for Audio/Video.
// ISO_IEC_14496-12-base-format-2012.pdf, page 58 // ISO_IEC_14496-12-base-format-2012.pdf, page 58
struct SrsMp4StscEntry class SrsMp4StscEntry
{ {
public:
// An integer that gives the index of the first chunk in this run of chunks that share the // An integer that gives the index of the first chunk in this run of chunks that share the
// same samples-per-chunk and sample-description-index; the index of the first chunk in a track has the // same samples-per-chunk and sample-description-index; the index of the first chunk in a track has the
// value 1 (the first_chunk field in the first record of this box has the value 1, identifying that the first // value 1 (the first_chunk field in the first record of this box has the value 1, identifying that the first

View file

@ -29,6 +29,13 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_app_config.hpp> #include <srs_app_config.hpp>
#include <srs_app_log.hpp> #include <srs_app_log.hpp>
// Temporary disk config.
std::string _srs_tmp_file_prefix = "/tmp/srs-utest-";
// Temporary network config.
std::string _srs_tmp_host = "127.0.0.1";
int _srs_tmp_port = 11935;
srs_utime_t _srs_tmp_timeout = (100 * SRS_UTIME_MILLISECONDS);
// kernel module. // kernel module.
ISrsLog* _srs_log = new MockEmptyLog(SrsLogLevelDisabled); ISrsLog* _srs_log = new MockEmptyLog(SrsLogLevelDisabled);
ISrsThreadContext* _srs_context = new ISrsThreadContext(); ISrsThreadContext* _srs_context = new ISrsThreadContext();

View file

@ -34,12 +34,20 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#include <srs_core.hpp> #include <srs_core.hpp>
#include "gtest/gtest.h" #include "gtest/gtest.h"
#include <string>
#include <srs_app_log.hpp> #include <srs_app_log.hpp>
// we add an empty macro for upp to show the smart tips. // we add an empty macro for upp to show the smart tips.
#define VOID #define VOID
// Temporary disk config.
extern std::string _srs_tmp_file_prefix;
// Temporary network config.
extern std::string _srs_tmp_host;
extern int _srs_tmp_port;
extern srs_utime_t _srs_tmp_timeout;
// For errors. // For errors.
#define HELPER_EXPECT_SUCCESS(x) EXPECT_TRUE(srs_success == (err = x)); srs_freep(err) #define HELPER_EXPECT_SUCCESS(x) EXPECT_TRUE(srs_success == (err = x)); srs_freep(err)
#define HELPER_EXPECT_FAILED(x) EXPECT_TRUE(srs_success != (err = x)); srs_freep(err) #define HELPER_EXPECT_FAILED(x) EXPECT_TRUE(srs_success != (err = x)); srs_freep(err)

View file

@ -2974,7 +2974,9 @@ VOID TEST(KernelFileTest, FileWriteReader)
// Mock the system call hooks. // Mock the system call hooks.
extern _srs_open_t _srs_open_fn; extern _srs_open_t _srs_open_fn;
extern _srs_write_t _srs_write_fn; extern _srs_write_t _srs_write_fn;
extern _srs_read_t _srs_read_fn;
extern _srs_lseek_t _srs_lseek_fn; extern _srs_lseek_t _srs_lseek_fn;
extern _srs_close_t _srs_close_fn;
int mock_open(const char* /*path*/, int /*oflag*/, ...) { int mock_open(const char* /*path*/, int /*oflag*/, ...) {
return -1; return -1;
@ -2984,30 +2986,48 @@ ssize_t mock_write(int /*fildes*/, const void* /*buf*/, size_t /*nbyte*/) {
return -1; return -1;
} }
ssize_t mock_read(int /*fildes*/, void* /*buf*/, size_t /*nbyte*/) {
return -1;
}
off_t mock_lseek(int /*fildes*/, off_t /*offset*/, int /*whence*/) { off_t mock_lseek(int /*fildes*/, off_t /*offset*/, int /*whence*/) {
return -1; return -1;
} }
int mock_close(int /*fildes*/) {
return -1;
}
class MockSystemIO class MockSystemIO
{ {
private: private:
_srs_open_t oo; _srs_open_t oo;
_srs_write_t ow; _srs_write_t ow;
_srs_read_t _or;
_srs_lseek_t os; _srs_lseek_t os;
_srs_close_t oc;
public: public:
MockSystemIO(_srs_open_t o = NULL, _srs_write_t w = NULL, _srs_lseek_t s = NULL) { MockSystemIO(_srs_open_t o = NULL, _srs_write_t w = NULL, _srs_read_t r = NULL, _srs_lseek_t s = NULL, _srs_close_t c = NULL) {
oo = _srs_open_fn; oo = _srs_open_fn;
ow = _srs_write_fn; ow = _srs_write_fn;
os = _srs_lseek_fn; os = _srs_lseek_fn;
_or = _srs_read_fn;
oc = _srs_close_fn;
if (o) { if (o) {
_srs_open_fn = o; _srs_open_fn = o;
} }
if (w) { if (w) {
_srs_write_fn = w; _srs_write_fn = w;
} }
if (r) {
_srs_read_fn = r;
}
if (s) { if (s) {
_srs_lseek_fn = s; _srs_lseek_fn = s;
} }
if (c) {
_srs_close_fn = c;
}
} }
virtual ~MockSystemIO() { virtual ~MockSystemIO() {
if (oo) { if (oo) {
@ -3016,13 +3036,19 @@ public:
if (ow) { if (ow) {
_srs_write_fn = ow; _srs_write_fn = ow;
} }
if (_or) {
_srs_read_fn = _or;
}
if (os) { if (os) {
_srs_lseek_fn = os; _srs_lseek_fn = os;
} }
if (oc) {
_srs_close_fn = oc;
}
} }
}; };
VOID TEST(KernelFileTest, WriteSpecialCase) VOID TEST(KernelFileWriterTest, WriteSpecialCase)
{ {
srs_error_t err; srs_error_t err;
@ -3098,12 +3124,111 @@ VOID TEST(KernelFileTest, WriteSpecialCase)
HELPER_EXPECT_FAILED(f.writev(iovs, 3, NULL)); HELPER_EXPECT_FAILED(f.writev(iovs, 3, NULL));
} }
if (true) { if (true) {
MockSystemIO _mockio(NULL, NULL, mock_lseek); MockSystemIO _mockio(NULL, NULL, NULL, mock_lseek);
SrsFileWriter f; SrsFileWriter f;
HELPER_EXPECT_SUCCESS(f.open("/dev/null")); HELPER_EXPECT_SUCCESS(f.open("/dev/null"));
HELPER_EXPECT_FAILED(f.lseek(0, 0, NULL)); HELPER_EXPECT_FAILED(f.lseek(0, 0, NULL));
} }
if (true) {
MockSystemIO _mockio(NULL, NULL, NULL, NULL, mock_close);
SrsFileWriter f;
HELPER_EXPECT_SUCCESS(f.open("/dev/null"));
f.close();
}
}
VOID TEST(KernelFileReaderTest, WriteSpecialCase)
{
srs_error_t err;
// Should fail when open multiple times.
if (true) {
SrsFileReader f;
HELPER_EXPECT_SUCCESS(f.open("/dev/null"));
HELPER_EXPECT_FAILED(f.open("/dev/null"));
}
// Always fail.
if (true) {
MockSystemIO _mockio(mock_open);
SrsFileReader f;
HELPER_EXPECT_FAILED(f.open("/dev/null"));
HELPER_EXPECT_FAILED(f.open("/dev/null"));
}
// Should ok for lseek.
if (true) {
SrsFileReader f;
HELPER_EXPECT_SUCCESS(f.open("/dev/null"));
off_t seeked = 0;
HELPER_EXPECT_SUCCESS(f.lseek(0, SEEK_CUR, &seeked));
EXPECT_EQ(0, seeked);
}
// Always fail.
if (true) {
MockSystemIO _mockio(NULL, NULL, mock_read);
SrsFileReader f;
HELPER_EXPECT_SUCCESS(f.open("/dev/null"));
ssize_t nn = 0;
char buf[16];
HELPER_EXPECT_FAILED(f.read(buf, sizeof(buf), &nn));
}
if (true) {
MockSystemIO _mockio(NULL, NULL, NULL, mock_lseek);
SrsFileReader f;
HELPER_EXPECT_SUCCESS(f.open("/dev/null"));
HELPER_EXPECT_FAILED(f.lseek(0, 0, NULL));
}
if (true) {
MockSystemIO _mockio(NULL, NULL, NULL, NULL, mock_close);
SrsFileReader f;
HELPER_EXPECT_SUCCESS(f.open("/dev/null"));
f.close();
}
}
class MockFileRemover
{
private:
string f;
public:
MockFileRemover(string p) {
f = p;
}
virtual ~MockFileRemover() {
if (f != "") {
::unlink(f.c_str());
}
}
};
VOID TEST(KernelFileTest, ReadWriteCase)
{
srs_error_t err;
string filepath = _srs_tmp_file_prefix + "kernel-file-read-write-case";
MockFileRemover _mfr(filepath);
SrsFileWriter w;
HELPER_EXPECT_SUCCESS(w.open(filepath.c_str()));
SrsFileReader r;
HELPER_EXPECT_SUCCESS(r.open(filepath.c_str()));
ssize_t nn = 0;
HELPER_EXPECT_SUCCESS(w.write((void*)"Hello", 5, &nn));
EXPECT_EQ(5, nn);
char buf[16] = {0};
HELPER_EXPECT_SUCCESS(r.read(buf, sizeof(buf), &nn));
EXPECT_EQ(5, nn);
EXPECT_STREQ("Hello", buf);
} }
VOID TEST(KernelFLVTest, CoverAll) VOID TEST(KernelFLVTest, CoverAll)
@ -3736,6 +3861,21 @@ VOID TEST(KernelTSTest, CoverTransmuxer)
} }
} }
VOID TEST(KernelMP4Test, CoverMP4All)
{
if (true) {
SrsMp4ElstEntry e;
EXPECT_EQ(0, e.media_time);
EXPECT_EQ(0, e.segment_duration);
}
if (true) {
SrsMp4CttsEntry e;
EXPECT_EQ(0, e.sample_count);
EXPECT_EQ(0, e.sample_offset);
}
}
VOID TEST(KernelMP4Test, CoverMP4Codec) VOID TEST(KernelMP4Test, CoverMP4Codec)
{ {
SrsMp4Encoder enc; SrsMp4Encoder enc;

View file

@ -44,10 +44,6 @@ VOID TEST(ServiceTimeTest, TimeUnit)
EXPECT_FALSE(srs_is_never_timeout(0)); EXPECT_FALSE(srs_is_never_timeout(0));
} }
#define MOCK_LISTEN_HOST "127.0.0.1"
#define MOCK_LISTEN_PORT 11935
#define MOCK_TCP_TIMEOUT (100 * SRS_UTIME_MILLISECONDS)
class MockTcpHandler : public ISrsTcpHandler class MockTcpHandler : public ISrsTcpHandler
{ {
private: private:
@ -80,7 +76,7 @@ VOID TEST(TCPServerTest, PingPong)
srs_error_t err; srs_error_t err;
if (true) { if (true) {
MockTcpHandler h; MockTcpHandler h;
SrsTcpListener l(&h, MOCK_LISTEN_HOST, MOCK_LISTEN_PORT); SrsTcpListener l(&h, _srs_tmp_host, _srs_tmp_port);
HELPER_EXPECT_SUCCESS(l.listen()); HELPER_EXPECT_SUCCESS(l.listen());
EXPECT_TRUE(l.fd() > 0); EXPECT_TRUE(l.fd() > 0);
@ -88,10 +84,10 @@ VOID TEST(TCPServerTest, PingPong)
if (true) { if (true) {
MockTcpHandler h; MockTcpHandler h;
SrsTcpListener l(&h, MOCK_LISTEN_HOST, MOCK_LISTEN_PORT); SrsTcpListener l(&h, _srs_tmp_host, _srs_tmp_port);
HELPER_EXPECT_SUCCESS(l.listen()); HELPER_EXPECT_SUCCESS(l.listen());
SrsTcpClient c(MOCK_LISTEN_HOST, MOCK_LISTEN_PORT, MOCK_TCP_TIMEOUT); SrsTcpClient c(_srs_tmp_host, _srs_tmp_port, _srs_tmp_timeout);
HELPER_EXPECT_SUCCESS(c.connect()); HELPER_EXPECT_SUCCESS(c.connect());
EXPECT_TRUE(h.fd != NULL); EXPECT_TRUE(h.fd != NULL);
@ -99,10 +95,10 @@ VOID TEST(TCPServerTest, PingPong)
if (true) { if (true) {
MockTcpHandler h; MockTcpHandler h;
SrsTcpListener l(&h, MOCK_LISTEN_HOST, MOCK_LISTEN_PORT); SrsTcpListener l(&h, _srs_tmp_host, _srs_tmp_port);
HELPER_EXPECT_SUCCESS(l.listen()); HELPER_EXPECT_SUCCESS(l.listen());
SrsTcpClient c(MOCK_LISTEN_HOST, MOCK_LISTEN_PORT, MOCK_TCP_TIMEOUT); SrsTcpClient c(_srs_tmp_host, _srs_tmp_port, _srs_tmp_timeout);
HELPER_EXPECT_SUCCESS(c.connect()); HELPER_EXPECT_SUCCESS(c.connect());
SrsStSocket skt; SrsStSocket skt;
@ -118,10 +114,10 @@ VOID TEST(TCPServerTest, PingPong)
if (true) { if (true) {
MockTcpHandler h; MockTcpHandler h;
SrsTcpListener l(&h, MOCK_LISTEN_HOST, MOCK_LISTEN_PORT); SrsTcpListener l(&h, _srs_tmp_host, _srs_tmp_port);
HELPER_EXPECT_SUCCESS(l.listen()); HELPER_EXPECT_SUCCESS(l.listen());
SrsTcpClient c(MOCK_LISTEN_HOST, MOCK_LISTEN_PORT, MOCK_TCP_TIMEOUT); SrsTcpClient c(_srs_tmp_host, _srs_tmp_port, _srs_tmp_timeout);
HELPER_EXPECT_SUCCESS(c.connect()); HELPER_EXPECT_SUCCESS(c.connect());
SrsStSocket skt; SrsStSocket skt;
@ -139,10 +135,10 @@ VOID TEST(TCPServerTest, PingPong)
if (true) { if (true) {
MockTcpHandler h; MockTcpHandler h;
SrsTcpListener l(&h, MOCK_LISTEN_HOST, MOCK_LISTEN_PORT); SrsTcpListener l(&h, _srs_tmp_host, _srs_tmp_port);
HELPER_EXPECT_SUCCESS(l.listen()); HELPER_EXPECT_SUCCESS(l.listen());
SrsTcpClient c(MOCK_LISTEN_HOST, MOCK_LISTEN_PORT, MOCK_TCP_TIMEOUT); SrsTcpClient c(_srs_tmp_host, _srs_tmp_port, _srs_tmp_timeout);
HELPER_EXPECT_SUCCESS(c.connect()); HELPER_EXPECT_SUCCESS(c.connect());
SrsStSocket skt; SrsStSocket skt;
@ -171,10 +167,10 @@ VOID TEST(TCPServerTest, PingPongWithTimeout)
if (true) { if (true) {
MockTcpHandler h; MockTcpHandler h;
SrsTcpListener l(&h, MOCK_LISTEN_HOST, MOCK_LISTEN_PORT); SrsTcpListener l(&h, _srs_tmp_host, _srs_tmp_port);
HELPER_EXPECT_SUCCESS(l.listen()); HELPER_EXPECT_SUCCESS(l.listen());
SrsTcpClient c(MOCK_LISTEN_HOST, MOCK_LISTEN_PORT, MOCK_TCP_TIMEOUT); SrsTcpClient c(_srs_tmp_host, _srs_tmp_port, _srs_tmp_timeout);
HELPER_EXPECT_SUCCESS(c.connect()); HELPER_EXPECT_SUCCESS(c.connect());
SrsStSocket skt; SrsStSocket skt;
@ -190,10 +186,10 @@ VOID TEST(TCPServerTest, PingPongWithTimeout)
if (true) { if (true) {
MockTcpHandler h; MockTcpHandler h;
SrsTcpListener l(&h, MOCK_LISTEN_HOST, MOCK_LISTEN_PORT); SrsTcpListener l(&h, _srs_tmp_host, _srs_tmp_port);
HELPER_EXPECT_SUCCESS(l.listen()); HELPER_EXPECT_SUCCESS(l.listen());
SrsTcpClient c(MOCK_LISTEN_HOST, MOCK_LISTEN_PORT, MOCK_TCP_TIMEOUT); SrsTcpClient c(_srs_tmp_host, _srs_tmp_port, _srs_tmp_timeout);
HELPER_EXPECT_SUCCESS(c.connect()); HELPER_EXPECT_SUCCESS(c.connect());
SrsStSocket skt; SrsStSocket skt;
@ -209,10 +205,10 @@ VOID TEST(TCPServerTest, PingPongWithTimeout)
if (true) { if (true) {
MockTcpHandler h; MockTcpHandler h;
SrsTcpListener l(&h, MOCK_LISTEN_HOST, MOCK_LISTEN_PORT); SrsTcpListener l(&h, _srs_tmp_host, _srs_tmp_port);
HELPER_EXPECT_SUCCESS(l.listen()); HELPER_EXPECT_SUCCESS(l.listen());
SrsTcpClient c(MOCK_LISTEN_HOST, MOCK_LISTEN_PORT, MOCK_TCP_TIMEOUT); SrsTcpClient c(_srs_tmp_host, _srs_tmp_port, _srs_tmp_timeout);
HELPER_EXPECT_SUCCESS(c.connect()); HELPER_EXPECT_SUCCESS(c.connect());
SrsStSocket skt; SrsStSocket skt;
@ -234,10 +230,10 @@ VOID TEST(TCPServerTest, WritevIOVC)
srs_error_t err; srs_error_t err;
if (true) { if (true) {
MockTcpHandler h; MockTcpHandler h;
SrsTcpListener l(&h, MOCK_LISTEN_HOST, MOCK_LISTEN_PORT); SrsTcpListener l(&h, _srs_tmp_host, _srs_tmp_port);
HELPER_EXPECT_SUCCESS(l.listen()); HELPER_EXPECT_SUCCESS(l.listen());
SrsTcpClient c(MOCK_LISTEN_HOST, MOCK_LISTEN_PORT, MOCK_TCP_TIMEOUT); SrsTcpClient c(_srs_tmp_host, _srs_tmp_port, _srs_tmp_timeout);
HELPER_EXPECT_SUCCESS(c.connect()); HELPER_EXPECT_SUCCESS(c.connect());
SrsStSocket skt; SrsStSocket skt;
@ -261,10 +257,10 @@ VOID TEST(TCPServerTest, WritevIOVC)
if (true) { if (true) {
MockTcpHandler h; MockTcpHandler h;
SrsTcpListener l(&h, MOCK_LISTEN_HOST, MOCK_LISTEN_PORT); SrsTcpListener l(&h, _srs_tmp_host, _srs_tmp_port);
HELPER_EXPECT_SUCCESS(l.listen()); HELPER_EXPECT_SUCCESS(l.listen());
SrsTcpClient c(MOCK_LISTEN_HOST, MOCK_LISTEN_PORT, MOCK_TCP_TIMEOUT); SrsTcpClient c(_srs_tmp_host, _srs_tmp_port, _srs_tmp_timeout);
HELPER_EXPECT_SUCCESS(c.connect()); HELPER_EXPECT_SUCCESS(c.connect());
SrsStSocket skt; SrsStSocket skt;