[autotest] Handle version comparison for builder trybot-*-pre-cq

trybot pre-cq build is similar to trybot paladin build that the build name ends
with -b#, and the release version in lsb-release ends with a date string, e.g.,
3837.0.2013_03_21_1340

This CL adds the support to compare the CrOS version from builder
trybot-*-pre-cq to the release name from lsb-release file.

BUG=chromium:507406
TEST=unittest

Change-Id: Ib57408a6e76715cd833daa58815f38c0c897938a
Reviewed-on: https://chromium-review.googlesource.com/283514
Tested-by: Dan Shi <dshi@chromium.org>
Reviewed-by: Tien Chang <tienchang@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Queue: Dan Shi <dshi@chromium.org>
diff --git a/client/common_lib/site_utils.py b/client/common_lib/site_utils.py
index 78c0945..5216f16 100644
--- a/client/common_lib/site_utils.py
+++ b/client/common_lib/site_utils.py
@@ -426,7 +426,7 @@
 
     The method is designed to compare version for following 6 scenarios with
     samples of build version and expected release version:
-    1. trybot paladin build.
+    1. trybot non-release build (paladin or pre-cq build).
     build version:   trybot-lumpy-paladin/R27-3837.0.0-b123
     release version: 3837.0.2013_03_21_1340
 
@@ -475,9 +475,9 @@
     # Trim the builder info, e.g., trybot-lumpy-paladin/
     stripped_version = stripped_version.split('/')[-1]
 
-    is_trybot_paladin_build = (
-            re.match(r'.*trybot-.+-paladin', build_version) or
-            re.match(r'.*trybot-.+-paladin', update_url))
+    is_trybot_non_release_build = (
+            re.match(r'.*trybot-.+-(paladin|pre-cq)', build_version) or
+            re.match(r'.*trybot-.+-(paladin|pre-cq)', update_url))
 
     # Replace date string with 0 in release_version
     release_version_no_date = re.sub(r'\d{4}_\d{2}_\d{2}_\d+', '0',
@@ -492,10 +492,11 @@
     release_version_no_pgo = release_version.replace('-pgo-generate', '')
     has_pgo_generate = release_version != release_version_no_pgo
 
-    if is_trybot_paladin_build:
+    if is_trybot_non_release_build:
         if not has_date_string:
-            logging.error('A trybot paladin build is expected. Version '
-                          '"%s" is not a paladin build.', release_version)
+            logging.error('A trybot paladin or pre-cq build is expected. '
+                          'Version "%s" is not a paladin or pre-cq  build.',
+                          release_version)
             return False
         return stripped_version == release_version_no_date
     elif is_pgo_generate_build:
@@ -507,8 +508,8 @@
         return stripped_version == release_version_no_pgo
     else:
         if has_date_string:
-            logging.error('Unexpected date found in a non trybot paladin '
-                          'build.')
+            logging.error('Unexpected date found in a non trybot paladin or '
+                          'pre-cq build.')
             return False
         # Versioned build, i.e., rc or release build.
         return stripped_version == release_version