summaryrefslogtreecommitdiffstats
path: root/test
diff options
context:
space:
mode:
authorLei YU <mine260309@gmail.com>2017-02-09 11:37:26 +0800
committerLei YU <mine260309@gmail.com>2017-10-15 20:15:34 +0800
commit415b964f063f81cd8ec3d1ffc3955be51de06690 (patch)
tree581108a6e5501488572f32a3645cc6ac6092b9e3 /test
parentaf5abc5785535f4e059a35be60dbbd012c61facf (diff)
downloadphosphor-time-manager-415b964f063f81cd8ec3d1ffc3955be51de06690.tar.gz
phosphor-time-manager-415b964f063f81cd8ec3d1ffc3955be51de06690.zip
Add time Manager to handle property changes callback
1. Implement time::Manager who registers property change signal for time mode and owner; 2. Add PropertyChangeListner interface to handle the callback; 3. Make EpochBase to implement the interface. Change-Id: I185580ae37353e1ed82a47e4905fb22e269ac09d Signed-off-by: Lei YU <mine260309@gmail.com>
Diffstat (limited to 'test')
-rw-r--r--test/Makefile.am3
-rw-r--r--test/TestBmcEpoch.cpp4
-rw-r--r--test/TestEpochBase.cpp46
-rw-r--r--test/TestHostEpoch.cpp4
-rw-r--r--test/TestManager.cpp76
5 files changed, 101 insertions, 32 deletions
diff --git a/test/Makefile.am b/test/Makefile.am
index bdd258e..b8ea41c 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -8,7 +8,8 @@ check_PROGRAMS += test
test_SOURCES = \
TestEpochBase.cpp \
TestBmcEpoch.cpp \
- TestHostEpoch.cpp
+ TestHostEpoch.cpp \
+ TestManager.cpp
test_LDADD = $(top_builddir)/libtimemanager.la
diff --git a/test/TestBmcEpoch.cpp b/test/TestBmcEpoch.cpp
index da65b3e..2fd55a5 100644
--- a/test/TestBmcEpoch.cpp
+++ b/test/TestBmcEpoch.cpp
@@ -3,6 +3,7 @@
#include "bmc_epoch.hpp"
#include "config.h"
+#include "types.hpp"
namespace phosphor
{
@@ -13,9 +14,6 @@ using namespace std::chrono;
class TestBmcEpoch : public testing::Test
{
public:
- using Mode = EpochBase::Mode;
- using Owner = EpochBase::Owner;
-
sdbusplus::bus::bus bus;
BmcEpoch bmcEpoch;
diff --git a/test/TestEpochBase.cpp b/test/TestEpochBase.cpp
index c3ca7e1..e4a2b68 100644
--- a/test/TestEpochBase.cpp
+++ b/test/TestEpochBase.cpp
@@ -1,6 +1,7 @@
#include <sdbusplus/bus.hpp>
#include <gtest/gtest.h>
+#include "types.hpp"
#include "epoch_base.hpp"
namespace phosphor
@@ -11,9 +12,6 @@ namespace time
class TestEpochBase : public testing::Test
{
public:
- using Mode = EpochBase::Mode;
- using Owner = EpochBase::Owner;
-
sdbusplus::bus::bus bus;
EpochBase epochBase;
@@ -24,40 +22,38 @@ class TestEpochBase : public testing::Test
// Empty
}
- // Proxies for EpochBase's private members and functions
- Mode convertToMode(const std::string& mode)
+ Mode getMode()
{
- return EpochBase::convertToMode(mode);
+ return epochBase.timeMode;
}
- Owner convertToOwner(const std::string& owner)
+ Owner getOwner()
{
- return EpochBase::convertToOwner(owner);
+ return epochBase.timeOwner;
}
};
-TEST_F(TestEpochBase, convertToMode)
+TEST_F(TestEpochBase, onModeChange)
{
- EXPECT_EQ(Mode::NTP, convertToMode("NTP"));
- EXPECT_EQ(Mode::MANUAL, convertToMode("MANUAL"));
+ epochBase.onModeChanged(Mode::NTP);
+ EXPECT_EQ(Mode::NTP, getMode());
- // All unrecognized strings are mapped to Ntp
- EXPECT_EQ(Mode::NTP, convertToMode(""));
- EXPECT_EQ(Mode::NTP, convertToMode("Manual"));
- EXPECT_EQ(Mode::NTP, convertToMode("whatever"));
+ epochBase.onModeChanged(Mode::MANUAL);
+ EXPECT_EQ(Mode::MANUAL, getMode());
}
-
-TEST_F(TestEpochBase, convertToOwner)
+TEST_F(TestEpochBase, onOwnerChange)
{
- EXPECT_EQ(Owner::BMC, convertToOwner("BMC"));
- EXPECT_EQ(Owner::HOST, convertToOwner("HOST"));
- EXPECT_EQ(Owner::SPLIT, convertToOwner("SPLIT"));
- EXPECT_EQ(Owner::BOTH, convertToOwner("BOTH"));
+ epochBase.onOwnerChanged(Owner::BMC);
+ EXPECT_EQ(Owner::BMC, getOwner());
+
+ epochBase.onOwnerChanged(Owner::HOST);
+ EXPECT_EQ(Owner::HOST, getOwner());
+
+ epochBase.onOwnerChanged(Owner::SPLIT);
+ EXPECT_EQ(Owner::SPLIT, getOwner());
- // All unrecognized strings are mapped to Bmc
- EXPECT_EQ(Owner::BMC, convertToOwner(""));
- EXPECT_EQ(Owner::BMC, convertToOwner("Split"));
- EXPECT_EQ(Owner::BMC, convertToOwner("xyz"));
+ epochBase.onOwnerChanged(Owner::BOTH);
+ EXPECT_EQ(Owner::BOTH, getOwner());
}
}
diff --git a/test/TestHostEpoch.cpp b/test/TestHostEpoch.cpp
index dca8d72..ec8ecf1 100644
--- a/test/TestHostEpoch.cpp
+++ b/test/TestHostEpoch.cpp
@@ -3,6 +3,7 @@
#include "host_epoch.hpp"
#include "config.h"
+#include "types.hpp"
namespace phosphor
{
@@ -15,9 +16,6 @@ using namespace std::chrono_literals;
class TestHostEpoch : public testing::Test
{
public:
- using Mode = EpochBase::Mode;
- using Owner = EpochBase::Owner;
-
sdbusplus::bus::bus bus;
HostEpoch hostEpoch;
diff --git a/test/TestManager.cpp b/test/TestManager.cpp
new file mode 100644
index 0000000..4d9ae73
--- /dev/null
+++ b/test/TestManager.cpp
@@ -0,0 +1,76 @@
+#include <sdbusplus/bus.hpp>
+#include <gtest/gtest.h>
+
+#include "types.hpp"
+#include "manager.hpp"
+
+namespace phosphor
+{
+namespace time
+{
+
+class TestManager : public testing::Test
+{
+ public:
+ sdbusplus::bus::bus bus;
+ Manager manager;
+
+ TestManager()
+ : bus(sdbusplus::bus::new_default()),
+ manager(bus)
+ {
+ // Empty
+ }
+
+ // Proxies for Manager's private members and functions
+ Mode getTimeMode()
+ {
+ return manager.timeMode;
+ }
+ Owner getTimeOwner()
+ {
+ return manager.timeOwner;
+ }
+ Mode convertToMode(const std::string& mode)
+ {
+ return Manager::convertToMode(mode);
+ }
+ Owner convertToOwner(const std::string& owner)
+ {
+ return Manager::convertToOwner(owner);
+ }
+};
+
+TEST_F(TestManager, empty)
+{
+ EXPECT_EQ(Mode::NTP, getTimeMode());
+ EXPECT_EQ(Owner::BMC, getTimeOwner());
+}
+
+TEST_F(TestManager, convertToMode)
+{
+ EXPECT_EQ(Mode::NTP, convertToMode("NTP"));
+ EXPECT_EQ(Mode::MANUAL, convertToMode("MANUAL"));
+
+ // All unrecognized strings are mapped to Ntp
+ EXPECT_EQ(Mode::NTP, convertToMode(""));
+ EXPECT_EQ(Mode::NTP, convertToMode("Manual"));
+ EXPECT_EQ(Mode::NTP, convertToMode("whatever"));
+}
+
+
+TEST_F(TestManager, convertToOwner)
+{
+ EXPECT_EQ(Owner::BMC, convertToOwner("BMC"));
+ EXPECT_EQ(Owner::HOST, convertToOwner("HOST"));
+ EXPECT_EQ(Owner::SPLIT, convertToOwner("SPLIT"));
+ EXPECT_EQ(Owner::BOTH, convertToOwner("BOTH"));
+
+ // All unrecognized strings are mapped to Bmc
+ EXPECT_EQ(Owner::BMC, convertToOwner(""));
+ EXPECT_EQ(Owner::BMC, convertToOwner("Split"));
+ EXPECT_EQ(Owner::BMC, convertToOwner("xyz"));
+}
+
+}
+}
OpenPOWER on IntegriCloud