Fix for BMC version mismatch with "get device id" command output.

Resolves openbmc/openbmc-test-automation#1318

Change-Id: I83b382868f107b3efc4574effaf06f711a80ed1f
Signed-off-by: Rahul Maheshwari <rahulmaheshwari@in.ibm.com>
diff --git a/tests/ipmi/test_general_ipmi.robot b/tests/ipmi/test_general_ipmi.robot
index bb9e943..9b5830b 100644
--- a/tests/ipmi/test_general_ipmi.robot
+++ b/tests/ipmi/test_general_ipmi.robot
@@ -444,12 +444,26 @@
     Should Be Equal  ${mc_info['device_id']}  0
     Should Be Equal  ${mc_info['device_revision']}  0
 
-    # Get major BMC version from BMC cli i.e. 2.1 from "v2.1-51-g04ff12c"
-    ${bmc_version}=  Get BMC Version
-    ${bmc_version}=  Fetch From Left  ${bmc_version}  -
-    ${bmc_version}=  Remove String  ${bmc_version}  "v
+    # Get firmware revision from mc info command output i.e. 2.01
+    ${ipmi_fw_major_version}  ${ipmi_fw_minor_version}=
+    ...  Split String  ${mc_info['firmware_revision']}  .
+    # Convert minor firmware version from BCD format to integer. i.e. 01 to 1
+    ${ipmi_fw_minor_version}=  Convert To Integer  ${ipmi_fw_minor_version}
 
-    Should Be Equal  ${mc_info['firmware_revision']}  ${bmc_version}
+    # Get BMC version from BMC CLI i.e. 2.1 from "ibm-v2.1-338-r1-0-gbcd7765"
+    ${bmc_version}=  Get BMC Version
+    ${bmc_version}=
+    ...  Remove String Using Regexp  ${bmc_version}  ^[^0-9]+  [^0-9\.].*
+
+    # Get major and minor version from BMC version i.e. 2 and 1 from 2.1
+    ${bmc_major_version}  ${bmc_minor_version}=
+    ...  Split String  ${bmc_version}  .
+
+    Should Be Equal As Strings  ${ipmi_fw_major_version}  ${bmc_major_version}
+    ...  msg=Major version mis-match.
+    Should Be Equal As Strings  ${ipmi_fw_minor_version}  ${bmc_minor_version}
+    ...  msg=Minor version mis-match.
+
     Should Be Equal  ${mc_info['ipmi_version']}  2.0
 
     # TODO: Verify Manufacturer and Product IDs directy from json file.