From ec16e53802b3e3c9cc8239352abb16728b1a4c30 Mon Sep 17 00:00:00 2001 From: winlin Date: Mon, 4 Feb 2019 12:48:56 +0800 Subject: [PATCH] CI: Cover kernel file --- trunk/src/utest/srs_utest_kernel.cpp | 66 ++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/trunk/src/utest/srs_utest_kernel.cpp b/trunk/src/utest/srs_utest_kernel.cpp index 97948dc6d..e9b0779df 100644 --- a/trunk/src/utest/srs_utest_kernel.cpp +++ b/trunk/src/utest/srs_utest_kernel.cpp @@ -32,6 +32,7 @@ using namespace std; #include #include #include +#include #define MAX_MOCK_DATA_SIZE 1024 * 1024 @@ -2842,3 +2843,68 @@ VOID TEST(KernelCodecTest, VideoFormat) } } +VOID TEST(KernelFileTest, FileWriteReader) +{ + if (true) { + SrsFileWriter f; + EXPECT_TRUE(!f.is_open()); + } + + if (true) { + SrsFileWriter f; + EXPECT_TRUE(srs_success == f.open("/dev/null")); + EXPECT_TRUE(f.is_open()); + + EXPECT_EQ(0, f.tellg()); + + ssize_t nwriten = 0; + EXPECT_TRUE(srs_success == f.write((void*)"Hello", 5, &nwriten)); + EXPECT_EQ(5, nwriten); + + EXPECT_TRUE(srs_success == f.lseek(0, SEEK_CUR, NULL)); + EXPECT_EQ(5, f.tellg()); + + f.seek2(0); + EXPECT_EQ(0, f.tellg()); + } + + if (true) { + SrsFileWriter f; + EXPECT_TRUE(srs_success == f.open_append("/dev/null")); + EXPECT_TRUE(f.is_open()); + } + + if (true) { + SrsFileReader f; + EXPECT_TRUE(!f.is_open()); + } + + if (true) { + SrsFileReader f; + EXPECT_TRUE(srs_success == f.open("/dev/null")); + EXPECT_TRUE(f.is_open()); + EXPECT_EQ(0, f.tellg()); + EXPECT_EQ(0, f.filesize()); + + f.skip(1); + EXPECT_EQ(1, f.tellg()); + + f.seek2(0); + EXPECT_EQ(0, f.tellg()); + } + + if (true) { + SrsFileReader f; + EXPECT_TRUE(srs_success == f.open("/dev/null")); + + char buf[16]; + ssize_t nread = 0; + srs_error_t err = f.read((void*)buf, sizeof(buf), &nread); + EXPECT_EQ(ERROR_SYSTEM_FILE_EOF, srs_error_code(err)); + srs_freep(err); + + f.lseek(1, SEEK_CUR, NULL); + EXPECT_EQ(1, f.tellg()); + } +} +