tree 16db558af117d1402aaebab227ee3c17cb4a70c2
parent a3ff7e71b1e044bfe4edcbb338e335b45a624715
author Shawn McCarney <shawnmm@us.ibm.com> 1729796311 -0500
committer Shawn McCarney <shawnmm@us.ibm.com> 1729864991 -0500

psutils: Do not pad PSU version with blanks

When `psutils --get-version <inventory_path>` is run, it returns the
firmware version for the specified PSU inventory path.

If no psu.json file is found, the PSU I2C bus and address are obtained
from D-Bus. The PSU version is then obtained from a file in sysfs.

The contents of the sysfs file are currently treated as VPD. Invalid
characters are replaced with spaces, and the value is padded with spaces
if needed to reach an expected VPD length.

If an error occurs trying to read the sysfs file, the version is
initially set to "". However, since it is being treated as VPD it is
later padded with blanks. Since the version is not an empty string, it
is treated as valid by psutils and the PSU code update application.
This causes subsequent code update issues.

Modify psutils so that the contents of the sysfs file are treated as a
simple string. If an error occurs, set the version to "". This will
cause psutils and the PSU code update application to correctly conclude
that an error occurred and the version is not valid.

Tested:
* psutils --get-version
  * psu.json file exists
    * Test where getting the version works
      * Verify file contents are obtained
      * Verify psutils prints out the version
      * Verify psutils exits with a return code of 0
    * Test where getting the version fails
      * Verify exception is written to the journal
      * Verify psutils prints out an empty string
      * Verify psutils exits with a return code of 1
  * psu.json file does not exist; PSU information is obtained from D-Bus
    * Test where getting the version works
      * Verify file contents are obtained
      * Verify psutils prints out the version
      * Verify psutils exits with a return code of 0
    * Test where getting the version fails
      * Verify exception is written to the journal
      * Verify psutils prints out an empty string
      * Verify psutils exits with a return code of 1

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