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: