diff options
author | Lukas Rusak <lorusak@gmail.com> | 2019-05-08 22:44:17 -0700 |
---|---|---|
committer | Lukas Rusak <lorusak@gmail.com> | 2020-01-14 19:37:54 -0800 |
commit | 7683a1dd08735246653d59069b6f80eeb0d1f82a (patch) | |
tree | 6716100864af901b301766719187d43db78dfb81 | |
parent | af927c17985c00a9b831e45c1441e153341276da (diff) |
kodi-test: add test cases for CSysfsPath
-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()); +} |