Fix volatile handling.  Don't read local firmware if not necessary.

Also add verify_hwid_test using fake data.

BUG=None
TEST=verify_hwid_test.py

Change-Id: Ia1c82632082c215d1231788966d4d6a3bd417e51
Reviewed-on: https://gerrit.chromium.org/gerrit/35259
Reviewed-by: Andy Cheng <andycheng@chromium.org>
Commit-Ready: Jon Salz <jsalz@chromium.org>
Reviewed-by: Jon Salz <jsalz@chromium.org>
Tested-by: Jon Salz <jsalz@chromium.org>
diff --git a/py/gooftool/gooftool.py b/py/gooftool/gooftool.py
index 5ea465e..486037b 100755
--- a/py/gooftool/gooftool.py
+++ b/py/gooftool/gooftool.py
@@ -402,7 +402,8 @@
     _event_log.Log('vpd', ro_vpd=FilterVPD(ro_vpd), rw_vpd=FilterVPD(rw_vpd))
   map(hwid_tool.Validate.Status, options.status)
 
-  main_fw_file = crosfw.LoadMainFirmware().GetFileName()
+  if not options.hwid or not options.probe_results:
+    main_fw_file = crosfw.LoadMainFirmware().GetFileName()
 
   if options.hwid:
     hwid_str = options.hwid