Added upload command to campaign/vts.
Test: > upload --src={result_zip} --dest=<>
Bug: 72474046
Change-Id: I60249735b4bdebeeb82e9dd1d3682bdf1ab6aab5
diff --git a/harnesses/host_controller/campaigns/vts.py b/harnesses/host_controller/campaigns/vts.py
index 9aac9f6..3ce4446 100644
--- a/harnesses/host_controller/campaigns/vts.py
+++ b/harnesses/host_controller/campaigns/vts.py
@@ -15,23 +15,21 @@
#
# The list of the kwargs key. can retrieve informations on the leased job.
-_JOB_ADDITIONAL_ATTR_LIST = [
+_JOB_ATTR_LIST = [
+ "build_id",
+ "test_name",
+ "shards",
+ "serial",
"build_target",
"manifest_branch",
"gsi_branch",
"gsi_build_target",
- "gsi_pab_account_id",
"test_branch",
"test_build_target",
- "test_pab_account_id",
]
-def EmitConsoleCommands(_build_id="latest",
- _test_name="vts/vts",
- _shards=1,
- _serials=None,
- **kwargs):
+def EmitConsoleCommands(**kwargs):
"""Runs a common VTS-on-GSI or CTS-on-GSI test.
This uses a given device branch information and automatically
@@ -39,9 +37,9 @@
"""
result = []
- if not set(_JOB_ADDITIONAL_ATTR_LIST).issubset(kwargs):
+ if not set(_JOB_ATTR_LIST).issubset(kwargs):
missing_keys = [
- key for key in _JOB_ADDITIONAL_ATTR_LIST if key not in kwargs
+ key for key in _JOB_ATTR_LIST if key not in kwargs
]
print("Leased job missing attribute(s): {}".format(
", ".join(missing_keys)))
@@ -52,54 +50,64 @@
else:
build_target = kwargs["build_target"]
+ manifest_branch = kwargs["manifest_branch"]
+ build_id = kwargs["build_id"]
result.append(
"fetch --type=pab --branch=%s --target=%s --artifact_name=%s-img-%s.zip "
"--build_id=%s --account_id=541462473" %
- (kwargs["manifest_branch"], build_target, build_target.split("-")[0],
- _build_id if _build_id != "latest" else "{build_id}", _build_id), )
+ (manifest_branch, build_target, build_target.split("-")[0], build_id
+ if build_id != "latest" else "{build_id}", build_id), )
result.append(
"fetch --type=pab --branch=%s --target=%s --artifact_name=bootloader.img "
- "--build_id=%s --account_id=541462473" % (kwargs["manifest_branch"],
- build_target, _build_id), )
+ "--build_id=%s --account_id=541462473" % (manifest_branch,
+ build_target, build_id), )
result.append(
"fetch --type=pab --branch=%s --target=%s --artifact_name=radio.img "
- "--build_id=%s --account_id=541462473" % (kwargs["manifest_branch"],
- build_target, _build_id), )
+ "--build_id=%s --account_id=541462473" % (manifest_branch,
+ build_target, build_id), )
- result.append("fetch --type=pab --branch=%s --target=%s "
- "--artifact_name=aosp_arm64_ab-img-{build_id}.zip "
- "--build_id=latest --account_id=%s" %
- (kwargs["gsi_branch"], kwargs["gsi_build_target"],
- kwargs["gsi_pab_account_id"]), )
- result.append("fetch --type=pab --branch=%s --target=%s "
- "--artifact_name=android-vts.zip "
- "--build_id=latest --account_id=%s" %
- (kwargs["test_branch"], kwargs["test_build_target"],
- kwargs["test_pab_account_id"]), )
+ result.append(
+ "fetch --type=pab --branch=%s --target=%s "
+ "--artifact_name=aosp_arm64_ab-img-{build_id}.zip --build_id=latest"
+ % (kwargs["gsi_branch"], kwargs["gsi_build_target"]))
+ if "gsi_pab_account_id" in kwargs and kwargs["gsi_pab_account_id"] != "":
+ result[-1] += " --account_id=%s" % kwargs["gsi_pab_account_id"]
- shards = int(_shards)
+ result.append(
+ "fetch --type=pab --branch=%s --target=%s "
+ "--artifact_name=android-vts.zip --build_id=latest"
+ % (kwargs["test_branch"], kwargs["test_build_target"]))
+ if "test_pab_account_id" in kwargs and kwargs["test_pab_account_id"] != "":
+ result[-1] += " --account_id=%s" % kwargs["test_pab_account_id"]
+
result.append("info")
result.append("gsispl --version_from_path=boot.img")
- test_name = _test_name.split("/")[-1]
+
+ shards = int(kwargs["shards"])
+ test_name = kwargs["test_name"].split("/")[-1]
+ serials = kwargs["serial"]
if shards > 1:
sub_commands = []
- if shards <= len(_serials):
+ if shards <= len(serials):
for shard_index in range(shards):
new_cmd_list = []
new_cmd_list.append(
- "flash --current --serial %s" % _serials[shard_index])
+ "flash --current --serial %s" % serials[shard_index])
new_cmd_list.append("test -- %s --serial %s --shard-count %d "
"--shard-index %d" %
- (test_name, _serials[shard_index], shards,
+ (test_name, serials[shard_index], shards,
shard_index))
sub_commands.append(new_cmd_list)
result.append(sub_commands)
else:
- result.append("flash --current --serial %s" % _serials[0])
- if _serials:
- result.append("test %s -- --serial %s --shards %s" %
- (test_name, ",".join(_serials), shards))
+ result.append("flash --current --serial %s" % serials[0])
+ if serials:
+ result.append("test --keep-result -- %s --serial %s --shards %s" %
+ (test_name, ",".join(serials), shards))
else:
- result.append("test %s -- --shards %s" % (test_name, shards))
+ result.append("test --keep-result -- %s --shards %s" % (test_name,
+ shards))
+
+ result.append("upload --src={result_zip} --dest=gs://vts-report/")
return result
diff --git a/harnesses/host_controller/console.py b/harnesses/host_controller/console.py
index 90379c8..0e6fd8c 100644
--- a/harnesses/host_controller/console.py
+++ b/harnesses/host_controller/console.py
@@ -325,12 +325,7 @@
script_module = imp.load_source('script_module', script_file_path)
- commands = script_module.EmitConsoleCommands(
- _build_id=kwargs["build_id"],
- _test_name=kwargs["test_name"].split("/")[0],
- _shards=int(kwargs["shards"]),
- _serials=kwargs["serial"],
- **kwargs)
+ commands = script_module.EmitConsoleCommands(**kwargs)
if commands:
for command in commands:
self.onecmd(command)
@@ -1321,7 +1316,11 @@
"fastboot -s %s getvar product" % device["serial"])
if retcode == 0:
res = stderr.splitlines()[0].rstrip()
- device["product"] = res.split(":")[1].strip()
+ print(res)
+ if ":" in res:
+ device["product"] = res.split(":")[1].strip()
+ else:
+ device["product"] = "error"
else:
device["product"] = "error"
device["status"] = DEVICE_STATUS_DICT["fastboot"]
@@ -1333,6 +1332,7 @@
if lease:
filepath, kwargs = self._vti_endpoint_client.LeaseJob(
socket.gethostname(), False)
+
if filepath is not None:
self.leased_job_queue.put(kwargs)