regulators: Add Services& services to classes
Modify the configure() method in the System, Chassis, Device, and Rail
classes to have a new first parameter: Services& services.
Fix mock_services.hpp bug.
Signed-off-by: Bob King <Bob_King@wistron.com>
Change-Id: I6ef41de65d2c5b68c55edb42189ba9c0f2e436ed
diff --git a/phosphor-regulators/test/configuration_tests.cpp b/phosphor-regulators/test/configuration_tests.cpp
index a7ba37f..93f1be8 100644
--- a/phosphor-regulators/test/configuration_tests.cpp
+++ b/phosphor-regulators/test/configuration_tests.cpp
@@ -22,6 +22,7 @@
#include "journal.hpp"
#include "mock_action.hpp"
#include "mock_journal.hpp"
+#include "mock_services.hpp"
#include "mocked_i2c_interface.hpp"
#include "pmbus_utils.hpp"
#include "pmbus_write_vout_command_action.hpp"
@@ -80,6 +81,9 @@
{
// Test where works: Volts value not specified
{
+ // Create mock services.
+ MockServices services{};
+
// Create I2CWriteByteAction with register 0x7C and value 0x0A
std::unique_ptr<I2CWriteByteAction> action =
std::make_unique<I2CWriteByteAction>(0x7C, 0x0A);
@@ -123,7 +127,7 @@
// Execute Configuration
journal::clear();
- configurationPtr->execute(system, *chassisPtr, *devicePtr);
+ configurationPtr->execute(services, system, *chassisPtr, *devicePtr);
std::vector<std::string> expectedDebugMessages{"Configuring vdd_reg"};
EXPECT_EQ(journal::getDebugMessages(), expectedDebugMessages);
EXPECT_EQ(journal::getErrMessages().size(), 0);
@@ -131,6 +135,9 @@
// Test where works: Volts value specified
{
+ // Create mock services.
+ MockServices services{};
+
// Create PMBusWriteVoutCommandAction. Do not specify a volts value
// because it will get a value of 1.3V from the
// ActionEnvironment/Configuration. Specify a -8 exponent.
@@ -179,7 +186,7 @@
// Execute Configuration
journal::clear();
- configurationPtr->execute(system, *chassisPtr, *devicePtr);
+ configurationPtr->execute(services, system, *chassisPtr, *devicePtr);
std::vector<std::string> expectedDebugMessages{
"Configuring vdd_reg: volts=1.300000"};
EXPECT_EQ(journal::getDebugMessages(), expectedDebugMessages);
@@ -188,6 +195,9 @@
// Test where fails
{
+ // Create mock services.
+ MockServices services{};
+
// Create I2CWriteByteAction with register 0x7C and value 0x0A
std::unique_ptr<I2CWriteByteAction> action =
std::make_unique<I2CWriteByteAction>(0x7C, 0x0A);
@@ -233,7 +243,7 @@
// Execute Configuration
journal::clear();
- configurationPtr->execute(system, *chassisPtr, *devicePtr);
+ configurationPtr->execute(services, system, *chassisPtr, *devicePtr);
std::vector<std::string> expectedDebugMessages{"Configuring vdd_reg"};
EXPECT_EQ(journal::getDebugMessages(), expectedDebugMessages);
std::vector<std::string> expectedErrMessages{
@@ -250,6 +260,9 @@
{
// Test where works: Volts value not specified
{
+ // Create mock services.
+ MockServices services{};
+
// Create I2CWriteByteAction with register 0x7C and value 0x0A
std::unique_ptr<I2CWriteByteAction> action =
std::make_unique<I2CWriteByteAction>(0x7C, 0x0A);
@@ -301,7 +314,8 @@
// Execute Configuration
journal::clear();
- configurationPtr->execute(system, *chassisPtr, *devicePtr, *railPtr);
+ configurationPtr->execute(services, system, *chassisPtr, *devicePtr,
+ *railPtr);
std::vector<std::string> expectedDebugMessages{"Configuring vio2"};
EXPECT_EQ(journal::getDebugMessages(), expectedDebugMessages);
EXPECT_EQ(journal::getErrMessages().size(), 0);
@@ -309,6 +323,9 @@
// Test where works: Volts value specified
{
+ // Create mock services.
+ MockServices services{};
+
// Create PMBusWriteVoutCommandAction. Do not specify a volts value
// because it will get a value of 1.3V from the
// ActionEnvironment/Configuration. Specify a -8 exponent.
@@ -365,7 +382,8 @@
// Execute Configuration
journal::clear();
- configurationPtr->execute(system, *chassisPtr, *devicePtr, *railPtr);
+ configurationPtr->execute(services, system, *chassisPtr, *devicePtr,
+ *railPtr);
std::vector<std::string> expectedDebugMessages{
"Configuring vio2: volts=1.300000"};
EXPECT_EQ(journal::getDebugMessages(), expectedDebugMessages);
@@ -374,6 +392,9 @@
// Test where fails
{
+ // Create mock services.
+ MockServices services{};
+
// Create I2CWriteByteAction with register 0x7C and value 0x0A
std::unique_ptr<I2CWriteByteAction> action =
std::make_unique<I2CWriteByteAction>(0x7C, 0x0A);
@@ -427,7 +448,8 @@
// Execute Configuration
journal::clear();
- configurationPtr->execute(system, *chassisPtr, *devicePtr, *railPtr);
+ configurationPtr->execute(services, system, *chassisPtr, *devicePtr,
+ *railPtr);
std::vector<std::string> expectedDebugMessages{"Configuring vio2"};
EXPECT_EQ(journal::getDebugMessages(), expectedDebugMessages);
std::vector<std::string> expectedErrMessages{