diff options
| author | Lei YU <mine260309@gmail.com> | 2017-02-09 11:37:26 +0800 |
|---|---|---|
| committer | Lei YU <mine260309@gmail.com> | 2017-10-15 20:15:34 +0800 |
| commit | 415b964f063f81cd8ec3d1ffc3955be51de06690 (patch) | |
| tree | 581108a6e5501488572f32a3645cc6ac6092b9e3 /test | |
| parent | af5abc5785535f4e059a35be60dbbd012c61facf (diff) | |
| download | phosphor-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.am | 3 | ||||
| -rw-r--r-- | test/TestBmcEpoch.cpp | 4 | ||||
| -rw-r--r-- | test/TestEpochBase.cpp | 46 | ||||
| -rw-r--r-- | test/TestHostEpoch.cpp | 4 | ||||
| -rw-r--r-- | test/TestManager.cpp | 76 |
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")); +} + +} +} |

