Fix regex, improve error messages

Running autotest to validate firmware upgrade
uncovered a cut&paste error in the the firmware regex.
The error prevents firmware upgrade.

Also when the package is missing a rule file, no error
was reported.

BUG=chromium:328624
TEST=unit test
TEST=apply firmware packages to upgrade/downgrade and invalid package

Change-Id: I1365a539d0572fbdafd788609a26f41b7ca34832
Reviewed-on: https://chromium-review.googlesource.com/186753
Reviewed-by: Mike Frysinger <vapier@chromium.org>
Commit-Queue: Gwendal Grignou <gwendal@chromium.org>
Tested-by: Gwendal Grignou <gwendal@chromium.org>
diff --git a/scripts/chromeos-disk-firmware-update.sh b/scripts/chromeos-disk-firmware-update.sh
index ad96352..0401bdb 100755
--- a/scripts/chromeos-disk-firmware-update.sh
+++ b/scripts/chromeos-disk-firmware-update.sh
@@ -178,7 +178,7 @@
     | sed -re 's/ +$//' -e 's/[ -]/_/g')
   disk_fw_rev=$(sed -nre \
       '/^\t+Firmware/s|\t+Firmware Revision: +(.*)|\1|p' "${hdparm_out}" \
-    | sed -re 's/ \+$//' -e 's/[ -]/_/g')
+    | sed -re 's/ +$//' -e 's/[ -]/_/g')
   if [ -z "${disk_model}" -o -z "${disk_fw_rev}" ]; then
     return 1
   fi
@@ -231,10 +231,6 @@
   local rc=0
   local tries=0
 
-  if [ ! -f "${disk_rules}" ]; then
-    log_msg "Unable to find rules file in ${FLAGS_fw_package_dir}"
-    return 120
-  fi
   shift # skip disk rules parameters.
   for device in "$@"; do
     sucess=""
@@ -322,7 +318,11 @@
     erase_tmp_dir=${FLAGS_TRUE}
     FLAGS_tmp_dir=$(mktemp -d)
   fi
-  disk_rules=${FLAGS_tmp_dir}/disk_rules
+  if [ ! -f "${disk_rules_raw}" ]; then
+    log_msg "Unable to find rules file in ${FLAGS_fw_package_dir}"
+    return 120
+  fi
+  disk_rules=${FLAGS_tmp_dir}/rules
 
   # remove unnecessary lines
   sed '/^#/d;/^[[:space:]]*$/d' "${disk_rules_raw}" > "${disk_rules}"
diff --git a/tests/LITEONIT_LSS_16L6G_HP-DS41702.hdparm b/tests/LITEONIT_LSS_16L6G_HP-DS41702.hdparm
index 40d008c..9a1b4c4 100644
--- a/tests/LITEONIT_LSS_16L6G_HP-DS41702.hdparm
+++ b/tests/LITEONIT_LSS_16L6G_HP-DS41702.hdparm
@@ -4,7 +4,7 @@
 ATA device, with non-removable media
 	Model Number:       LITEONIT LSS-16L6G-HP
 	Serial Number:      50026B7238039E80    
-	Firmware Revision:  DS41702
+	Firmware Revision:  DS41702  
 	Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
 Standards:
 	Supported: 10 9 8 7 6 5 
diff --git a/tests/LITEONIT_LSS_32L6G_HP-DS51702.hdparm b/tests/LITEONIT_LSS_32L6G_HP-DS51702.hdparm
index 6744364..b476eb2 100644
--- a/tests/LITEONIT_LSS_32L6G_HP-DS51702.hdparm
+++ b/tests/LITEONIT_LSS_32L6G_HP-DS51702.hdparm
@@ -4,7 +4,7 @@
 ATA device, with non-removable media
 	Model Number:       LITEONIT LSS-32L6G-HP
 	Serial Number:      50026B7238039E80    
-	Firmware Revision:  DS51702
+	Firmware Revision:  DS51702  
 	Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
 Standards:
 	Supported: 10 9 8 7 6 5 
diff --git a/tests/LITEONIT_LSS_32L6G_HP-DS51704.hdparm b/tests/LITEONIT_LSS_32L6G_HP-DS51704.hdparm
index 0294c71..371420f 100644
--- a/tests/LITEONIT_LSS_32L6G_HP-DS51704.hdparm
+++ b/tests/LITEONIT_LSS_32L6G_HP-DS51704.hdparm
@@ -4,7 +4,7 @@
 ATA device, with non-removable media
 	Model Number:       LITEONIT LSS-32L6G-HP
 	Serial Number:      50026B7238039E80    
-	Firmware Revision:  DS51704
+	Firmware Revision:  DS51704  
 	Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
 Standards:
 	Supported: 10 9 8 7 6 5 
diff --git a/tests/SAMSUNG_MZAPF032HCFV-000H1.hdparm b/tests/SAMSUNG_MZAPF032HCFV-000H1.hdparm
index 39fe9b9..55484c4 100644
--- a/tests/SAMSUNG_MZAPF032HCFV-000H1.hdparm
+++ b/tests/SAMSUNG_MZAPF032HCFV-000H1.hdparm
@@ -4,7 +4,7 @@
 ATA device, with non-removable media
 	Model Number:       SAMSUNG MZAPF032HCFV-000H1              
 	Serial Number:      S1BMNYAD700041      
-	Firmware Revision:  FXM21H2Q
+	Firmware Revision:  FXM21H2Q  
 	Media Serial Num:   
 	Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0
 Standards: