From 7683a1dd08735246653d59069b6f80eeb0d1f82a Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Wed, 8 May 2019 22:44:17 -0700 Subject: kodi-test: add test cases for CSysfsPath --- cmake/treedata/linux/tests.txt | 1 + xbmc/platform/linux/test/CMakeLists.txt | 3 +++ xbmc/platform/linux/test/TestSysfsPath.cpp | 40 ++++++++++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 cmake/treedata/linux/tests.txt create mode 100644 xbmc/platform/linux/test/CMakeLists.txt create mode 100644 xbmc/platform/linux/test/TestSysfsPath.cpp 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 + +#include + +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() == 1234); + ASSERT_TRUE(path.Get() == 1234); + ASSERT_TRUE(path.Get() == 1234); + ASSERT_TRUE(path.Get() == 1234); + ASSERT_TRUE(path.Get() == 1234); + ASSERT_TRUE(path.Get() == 1234); + ASSERT_TRUE(path.Get() == 1234); + ASSERT_TRUE(path.Get() == "1234"); + + CSysfsPath otherPath{"/thispathdoesnotexist"}; + ASSERT_FALSE(otherPath.Exists()); +} -- cgit v1.2.3