[Autotest] add support to check pgo-generate build
After a pgo-generate build is installed, lsb-release has version string like
'3837.0.0-pgo-generate', autoupdater needs to be updated to handle version
string in such form.
BUG=chromium:237803
TEST=local unittest, and try lumpy-release-pgo-generate/R28-4082.0.0
DEPLOY=none
Change-Id: I9548c430fa64998fe9965daa707f6a6606f9f783
Reviewed-on: https://gerrit.chromium.org/gerrit/50050
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
Reviewed-by: Dan Shi <dshi@chromium.org>
Tested-by: Dan Shi <dshi@chromium.org>
diff --git a/client/common_lib/cros/autoupdater.py b/client/common_lib/cros/autoupdater.py
index a191df0..9bce3d3 100644
--- a/client/common_lib/cros/autoupdater.py
+++ b/client/common_lib/cros/autoupdater.py
@@ -385,6 +385,10 @@
update version: lumpy-chrome-perf/R28-3837.0.0-b2996
booted version: 3837.0.0
+ 6. pgo-generate build.
+ update version: lumpy-release-pgo-generate/R28-3837.0.0-b2996
+ booted version: 3837.0.0-pgo-generate
+
When we are checking if a DUT needs to do a full install, we should NOT
use this method to check if the DUT is running the same version, since
it may return false positive for a DUT running trybot paladin build to
@@ -422,12 +426,26 @@
booted_version)
has_date_string = booted_version != booted_version_no_date
+ is_pgo_generate_build = re.match(r'.+-pgo-generate',
+ self.update_url)
+
+ # Remove |-pgo-generate| in booted_version
+ booted_version_no_pgo = booted_version.replace('-pgo-generate', '')
+ has_pgo_generate = booted_version != booted_version_no_pgo
+
if is_trybot_paladin_build:
if not has_date_string:
logging.error('A trybot paladin build is expected. Version ' +
'"%s" is not a paladin build.', booted_version)
return False
return stripped_version == booted_version_no_date
+ elif is_pgo_generate_build:
+ if not has_pgo_generate:
+ logging.error('A pgo-generate build is expected. Version ' +
+ '"%s" is not a pgo-generate build.',
+ booted_version)
+ return False
+ return stripped_version == booted_version_no_pgo
else:
if has_date_string:
logging.error('Unexpected date found in a non trybot paladin' +