Enable gtest for testing LED set operations
This patchset enables gtest to allow different combinations
of LED set operations to be verified at build time.
Change-Id: I9c2ddf82c2e23be911233b23037ee44e3ce301db
Signed-off-by: Vishwanatha Subbanna <vishwa@linux.vnet.ibm.com>
diff --git a/test/led-test-map.hpp b/test/led-test-map.hpp
new file mode 100644
index 0000000..067bb47
--- /dev/null
+++ b/test/led-test-map.hpp
@@ -0,0 +1,134 @@
+static const std::map<std::string,
+ std::set<phosphor::led::Layout::LedAction>> singleLedOn = {
+ { "/xyz/openbmc_project/ledmanager/groups/SingleLed",{
+ {"One",phosphor::led::Layout::On},
+ }
+ },
+};
+
+static const std::map<std::string,
+ std::set<phosphor::led::Layout::LedAction>> singleLedBlink = {
+ { "/xyz/openbmc_project/ledmanager/groups/SingleLed",{
+ {"One",phosphor::led::Layout::Blink},
+ }
+ },
+};
+
+static const std::map<std::string,
+ std::set<phosphor::led::Layout::LedAction>> multipleLedsOn = {
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLeds",{
+ {"One",phosphor::led::Layout::On},
+ {"Two",phosphor::led::Layout::On},
+ {"Three",phosphor::led::Layout::On},
+ }
+ },
+};
+
+static const std::map<std::string,
+ std::set<phosphor::led::Layout::LedAction>> multipleLedsBlink = {
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLeds",{
+ {"One",phosphor::led::Layout::Blink},
+ {"Two",phosphor::led::Layout::Blink},
+ {"Three",phosphor::led::Layout::Blink},
+ }
+ },
+};
+
+static const std::map<std::string,
+ std::set<phosphor::led::Layout::LedAction>> multipleLedsOnAndBlink = {
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLedsMix",{
+ {"One",phosphor::led::Layout::Blink},
+ {"Two",phosphor::led::Layout::On},
+ {"Three",phosphor::led::Layout::Blink},
+ {"Four",phosphor::led::Layout::On},
+ {"Five",phosphor::led::Layout::On},
+ }
+ },
+};
+
+static const std::map<std::string,
+ std::set<phosphor::led::Layout::LedAction>> twoGroupsWithDistinctLEDsOn = {
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",{
+ {"One",phosphor::led::Layout::On},
+ {"Two",phosphor::led::Layout::On},
+ {"Three",phosphor::led::Layout::On},
+ }
+ },
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",{
+ {"Four",phosphor::led::Layout::On},
+ {"Five",phosphor::led::Layout::On},
+ {"Six",phosphor::led::Layout::On},
+ }
+ },
+};
+
+static const std::map<std::string,
+ std::set<phosphor::led::Layout::LedAction>> twoGroupsWithOneComonLEDOn = {
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",{
+ {"One",phosphor::led::Layout::On},
+ {"Two",phosphor::led::Layout::On},
+ {"Three",phosphor::led::Layout::On},
+ }
+ },
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",{
+ {"Four",phosphor::led::Layout::On},
+ {"Three",phosphor::led::Layout::On},
+ {"Six",phosphor::led::Layout::On},
+ }
+ },
+};
+
+static const std::map<std::string,
+ std::set<phosphor::led::Layout::LedAction>>
+ twoGroupsWithOneComonLEDInDifferentState = {
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",{
+ {"One",phosphor::led::Layout::On},
+ {"Two",phosphor::led::Layout::On},
+ {"Three",phosphor::led::Layout::On},
+ }
+ },
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",{
+ {"Two",phosphor::led::Layout::Blink},
+ {"Four",phosphor::led::Layout::On},
+ {"Five",phosphor::led::Layout::On},
+ {"Six",phosphor::led::Layout::On},
+ }
+ },
+};
+
+static const std::map<std::string,
+ std::set<phosphor::led::Layout::LedAction>>
+ twoGroupsWithMultiplComonLEDOn = {
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",{
+ {"One",phosphor::led::Layout::On},
+ {"Two",phosphor::led::Layout::On},
+ {"Three",phosphor::led::Layout::On},
+ }
+ },
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",{
+ {"Two",phosphor::led::Layout::On},
+ {"Six",phosphor::led::Layout::On},
+ {"Three",phosphor::led::Layout::On},
+ {"Seven",phosphor::led::Layout::On},
+ }
+ },
+};
+
+static const std::map<std::string,
+ std::set<phosphor::led::Layout::LedAction>>
+ twoGroupsWithMultipleComonLEDInDifferentState = {
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLedsASet",{
+ {"One",phosphor::led::Layout::On},
+ {"Two",phosphor::led::Layout::Blink},
+ {"Three",phosphor::led::Layout::On},
+ {"Four",phosphor::led::Layout::On},
+ }
+ },
+ { "/xyz/openbmc_project/ledmanager/groups/MultipleLedsBSet",{
+ {"Two",phosphor::led::Layout::On},
+ {"Three",phosphor::led::Layout::Blink},
+ {"Five",phosphor::led::Layout::On},
+ {"Six",phosphor::led::Layout::On},
+ }
+ },
+};