diff options
-rw-r--r-- | cmake/treedata/linux/tests.txt | 1 | ||||
-rw-r--r-- | xbmc/platform/linux/test/CMakeLists.txt | 3 | ||||
-rw-r--r-- | xbmc/platform/linux/test/TestSysfsPath.cpp | 40 |
3 files changed, 44 insertions, 0 deletions
diff --git a/cmake/treedata/linux/tests.txt b/cmake/treedata/linux/tests.txt new file mode 100644 index 0000000000..3f3a3e35fd --- /dev/null +++ b/cmake/treedata/linux/tests.txt @@ -0,0 +1 @@ +xbmc/platform/linux/test platform/linux/test diff --git a/xbmc/platform/linux/test/CMakeLists.txt b/xbmc/platform/linux/test/CMakeLists.txt new file mode 100644 index 0000000000..1fb0281ce0 --- /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 0000000000..9d8171bc60 --- /dev/null +++ b/xbmc/platform/linux/test/TestSysfsPath.cpp @@ -0,0 +1,40 @@ +/* + * 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 <fstream> + +#include <gtest/gtest.h> + +struct TestSysfsPath : public ::testing::Test +{ + ~TestSysfsPath() { std::remove("/tmp/kodi-test"); } +}; + +TEST_F(TestSysfsPath, SysfsPathTest) +{ + int temp{1234}; + std::ofstream output{"/tmp/kodi-test"}; + output << temp; + output.close(); + + CSysfsPath path("/tmp/kodi-test"); + ASSERT_TRUE(path.Exists()); + ASSERT_TRUE(path.Get<int>() == 1234); + ASSERT_TRUE(path.Get<float>() == 1234); + ASSERT_TRUE(path.Get<double>() == 1234); + ASSERT_TRUE(path.Get<uint64_t>() == 1234); + ASSERT_TRUE(path.Get<uint16_t>() == 1234); + ASSERT_TRUE(path.Get<unsigned int>() == 1234); + ASSERT_TRUE(path.Get<unsigned long int>() == 1234); + ASSERT_TRUE(path.Get<std::string>() == "1234"); + + CSysfsPath otherPath{"/thispathdoesnotexist"}; + ASSERT_FALSE(otherPath.Exists()); +} |