From c04dcc2e7d834218ef2d4194331e383402495ae1 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 10 Apr 2024 20:07:22 +0200 Subject: Adding upstream version 2:20.4+dfsg. Signed-off-by: Daniel Baumann --- xbmc/platform/linux/test/CMakeLists.txt | 3 + xbmc/platform/linux/test/TestSysfsPath.cpp | 91 ++++++++++++++++++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 xbmc/platform/linux/test/CMakeLists.txt create mode 100644 xbmc/platform/linux/test/TestSysfsPath.cpp (limited to 'xbmc/platform/linux/test') diff --git a/xbmc/platform/linux/test/CMakeLists.txt b/xbmc/platform/linux/test/CMakeLists.txt new file mode 100644 index 0000000..1fb0281 --- /dev/null +++ b/xbmc/platform/linux/test/CMakeLists.txt @@ -0,0 +1,3 @@ +list(APPEND SOURCES TestSysfsPath.cpp) + +core_add_test_library(linux_test) diff --git a/xbmc/platform/linux/test/TestSysfsPath.cpp b/xbmc/platform/linux/test/TestSysfsPath.cpp new file mode 100644 index 0000000..91e7763 --- /dev/null +++ b/xbmc/platform/linux/test/TestSysfsPath.cpp @@ -0,0 +1,91 @@ +/* + * Copyright (C) 2005-2018 Team Kodi + * This file is part of Kodi - https://kodi.tv + * + * SPDX-License-Identifier: GPL-2.0-or-later + * See LICENSES/README.md for more information. + */ + +#include "platform/linux/SysfsPath.h" +#include "utils/StringUtils.h" + +#include +#include +#include + +#include + +struct TestSysfsPath : public ::testing::Test +{ + std::string GetTestFilePath() + { + std::string tmpdir{"/tmp"}; + const char *test_tmpdir = getenv("TMPDIR"); + + if (test_tmpdir && test_tmpdir[0] != '\0') { + tmpdir.assign(test_tmpdir); + } + + return tmpdir + "/kodi-test-" + StringUtils::CreateUUID(); + } +}; + +TEST_F(TestSysfsPath, SysfsPathTestInt) +{ + std::string filepath = GetTestFilePath(); + std::ofstream m_output(filepath); + + int temp{1234}; + m_output << temp; + m_output.close(); + + CSysfsPath path(filepath); + ASSERT_TRUE(path.Exists()); + EXPECT_EQ(path.Get(), 1234); + EXPECT_EQ(path.Get(), 1234); + EXPECT_EQ(path.Get(), 1234); + EXPECT_EQ(path.Get(), 1234); + EXPECT_EQ(path.Get(), 1234); + EXPECT_EQ(path.Get(), 1234); + EXPECT_EQ(path.Get(), 1234); + + std::remove(filepath.c_str()); +} + +TEST_F(TestSysfsPath, SysfsPathTestString) +{ + std::string filepath = GetTestFilePath(); + std::ofstream m_output{filepath}; + + std::string temp{"test"}; + m_output << temp; + m_output.close(); + + CSysfsPath path(filepath); + ASSERT_TRUE(path.Exists()); + EXPECT_EQ(path.Get(), "test"); + + std::remove(filepath.c_str()); +} + +TEST_F(TestSysfsPath, SysfsPathTestLongString) +{ + std::string filepath = GetTestFilePath().append("-long"); + std::ofstream m_output{filepath}; + + std::string temp{"test with spaces"}; + m_output << temp; + m_output.close(); + + CSysfsPath path(filepath); + ASSERT_TRUE(path.Exists()); + EXPECT_EQ(path.Get(), "test with spaces"); + + std::remove(filepath.c_str()); +} + +TEST_F(TestSysfsPath, SysfsPathTestPathDoesNotExist) +{ + CSysfsPath otherPath{"/thispathdoesnotexist"}; + ASSERT_FALSE(otherPath.Exists()); +} -- cgit v1.2.3