Home
last modified time | relevance | path

Searched hist:e4fef0fcf29fb330527afd467b90b6c5dcc245ca (Results 1 – 5 of 5) sorted by relevance

/openbmc/phosphor-power/phosphor-power-sequencer/src/
H A Dservices.cppdiff e4fef0fcf29fb330527afd467b90b6c5dcc245ca Fri Apr 05 17:56:09 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> pseq: Add presence caching to Services

Add caching of hardware presence data to the Services class in the
phosphor-power-sequencer application. Obtaining hardware presence from
D-Bus is a slow operation. During pgood fault isolation, multiple rails
may need the same hardware presence information. Cache this information
to improve performance.

Provide a method to clear the cached data since it is only valid for a
short period of time. For example, power supplies are hot-pluggable, so
their presence may change while a system is powered on.

Tested:
* BMCServices
* createPMBus()
* Verify correct sysfs path passed to PMBus constructor
* isPresent()
* Test where hardware is present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where hardware is not present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where D-Bus method call fails with an expected exception
* Verify false is stored in cache
* Verify false is returned
* Test where D-Bus method call fails with an unexpected exception
* Verify nothing is cached
* Verify exception is re-thrown
* clearCache()
* Verify clears all cached data
* MockServices
* Verify all methods can be called from an automated test
* Run existing automated tests

Change-Id: I3e92be3ded1ed333acbedc970409176cabe98c09
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
H A Dservices.hppdiff e4fef0fcf29fb330527afd467b90b6c5dcc245ca Fri Apr 05 17:56:09 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> pseq: Add presence caching to Services

Add caching of hardware presence data to the Services class in the
phosphor-power-sequencer application. Obtaining hardware presence from
D-Bus is a slow operation. During pgood fault isolation, multiple rails
may need the same hardware presence information. Cache this information
to improve performance.

Provide a method to clear the cached data since it is only valid for a
short period of time. For example, power supplies are hot-pluggable, so
their presence may change while a system is powered on.

Tested:
* BMCServices
* createPMBus()
* Verify correct sysfs path passed to PMBus constructor
* isPresent()
* Test where hardware is present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where hardware is not present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where D-Bus method call fails with an expected exception
* Verify false is stored in cache
* Verify false is returned
* Test where D-Bus method call fails with an unexpected exception
* Verify nothing is cached
* Verify exception is re-thrown
* clearCache()
* Verify clears all cached data
* MockServices
* Verify all methods can be called from an automated test
* Run existing automated tests

Change-Id: I3e92be3ded1ed333acbedc970409176cabe98c09
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
H A Dmeson.builddiff e4fef0fcf29fb330527afd467b90b6c5dcc245ca Fri Apr 05 17:56:09 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> pseq: Add presence caching to Services

Add caching of hardware presence data to the Services class in the
phosphor-power-sequencer application. Obtaining hardware presence from
D-Bus is a slow operation. During pgood fault isolation, multiple rails
may need the same hardware presence information. Cache this information
to improve performance.

Provide a method to clear the cached data since it is only valid for a
short period of time. For example, power supplies are hot-pluggable, so
their presence may change while a system is powered on.

Tested:
* BMCServices
* createPMBus()
* Verify correct sysfs path passed to PMBus constructor
* isPresent()
* Test where hardware is present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where hardware is not present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where D-Bus method call fails with an expected exception
* Verify false is stored in cache
* Verify false is returned
* Test where D-Bus method call fails with an unexpected exception
* Verify nothing is cached
* Verify exception is re-thrown
* clearCache()
* Verify clears all cached data
* MockServices
* Verify all methods can be called from an automated test
* Run existing automated tests

Change-Id: I3e92be3ded1ed333acbedc970409176cabe98c09
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
/openbmc/phosphor-power/phosphor-power-sequencer/test/
H A Dmock_services.hppdiff e4fef0fcf29fb330527afd467b90b6c5dcc245ca Fri Apr 05 17:56:09 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> pseq: Add presence caching to Services

Add caching of hardware presence data to the Services class in the
phosphor-power-sequencer application. Obtaining hardware presence from
D-Bus is a slow operation. During pgood fault isolation, multiple rails
may need the same hardware presence information. Cache this information
to improve performance.

Provide a method to clear the cached data since it is only valid for a
short period of time. For example, power supplies are hot-pluggable, so
their presence may change while a system is powered on.

Tested:
* BMCServices
* createPMBus()
* Verify correct sysfs path passed to PMBus constructor
* isPresent()
* Test where hardware is present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where hardware is not present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where D-Bus method call fails with an expected exception
* Verify false is stored in cache
* Verify false is returned
* Test where D-Bus method call fails with an unexpected exception
* Verify nothing is cached
* Verify exception is re-thrown
* clearCache()
* Verify clears all cached data
* MockServices
* Verify all methods can be called from an automated test
* Run existing automated tests

Change-Id: I3e92be3ded1ed333acbedc970409176cabe98c09
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
H A Dmeson.builddiff e4fef0fcf29fb330527afd467b90b6c5dcc245ca Fri Apr 05 17:56:09 CDT 2024 Shawn McCarney <shawnmm@us.ibm.com> pseq: Add presence caching to Services

Add caching of hardware presence data to the Services class in the
phosphor-power-sequencer application. Obtaining hardware presence from
D-Bus is a slow operation. During pgood fault isolation, multiple rails
may need the same hardware presence information. Cache this information
to improve performance.

Provide a method to clear the cached data since it is only valid for a
short period of time. For example, power supplies are hot-pluggable, so
their presence may change while a system is powered on.

Tested:
* BMCServices
* createPMBus()
* Verify correct sysfs path passed to PMBus constructor
* isPresent()
* Test where hardware is present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where hardware is not present
* Test where value is not cached
* Verify value is cached after data obtained from D-Bus
* Test where value is cached
* Test where D-Bus method call fails with an expected exception
* Verify false is stored in cache
* Verify false is returned
* Test where D-Bus method call fails with an unexpected exception
* Verify nothing is cached
* Verify exception is re-thrown
* clearCache()
* Verify clears all cached data
* MockServices
* Verify all methods can be called from an automated test
* Run existing automated tests

Change-Id: I3e92be3ded1ed333acbedc970409176cabe98c09
Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>