summaryrefslogtreecommitdiff
path: root/harnesses/host_controller/tfc/command_attempt.py
diff options
context:
space:
mode:
Diffstat (limited to 'harnesses/host_controller/tfc/command_attempt.py')
-rw-r--r--harnesses/host_controller/tfc/command_attempt.py137
1 files changed, 0 insertions, 137 deletions
diff --git a/harnesses/host_controller/tfc/command_attempt.py b/harnesses/host_controller/tfc/command_attempt.py
deleted file mode 100644
index 930ec71..0000000
--- a/harnesses/host_controller/tfc/command_attempt.py
+++ /dev/null
@@ -1,137 +0,0 @@
-#
-# Copyright (C) 2017 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-import time
-
-from host_controller.tfc import api_message
-
-
-class EventType(object):
- """The types of command events."""
- ALLOCATION_FAILED = "AllocationFailed"
- CONFIGURATION_ERROR = "ConfigurationError"
- EXECUTE_FAILED = "ExecuteFailed"
- FETCH_FAILED = "FetchFailed"
- INVOCATION_COMPLETED = "InvocationCompleted"
- INVOCATION_STARTED = "InvocationStarted"
- TEST_RUN_IN_PROGRESS = "TestRunInProgress"
-
-
-class CommandAttempt(api_message.ApiMessage):
- """The command attempt defined by TFC API.
-
- Attributes:
- _COMMAND_EVENT: The parameters of command_events.submit.
- _COMMAND_EVENT_DATA: The fields in "data" parameter of command_events.
- _LIST_ATTEMPT: The fields returned by commandAttempts.list.
- """
- _COMMAND_EVENT = {
- "attempt_id",
- "data",
- "device_serial",
- "hostname",
- "task_id",
- "time",
- "type"}
- _COMMAND_EVENT_DATA = {
- "error",
- "failed_test_count",
- "summary",
- "test_run_name",
- "total_test_count"}
- _LIST_ATTEMPT = {
- "attempt_id",
- "command_id",
- "create_time",
- "end_time",
- "error",
- "device_serial",
- "failed_test_count",
- "hostname",
- "request_id",
- "start_time",
- "state",
- "status",
- "summary",
- "task_id",
- "total_test_count",
- "update_time"}
-
- def __init__(self, task_id, attempt_id, hostname, device_serial, **kwargs):
- """Initializes the attributes.
-
- Args:
- task_id: A string, the task id assigned by the server.
- attempt_id: A string or UUID, the attempt id generated by the host.
- hostname: The name of the TradeFed host.
- device_serial: The serial number of the device.
- **kwargs: The optional attributes.
- """
- super(CommandAttempt, self).__init__(self._LIST_ATTEMPT,
- task_id=task_id,
- attempt_id=str(attempt_id),
- hostname=hostname,
- device_serial=device_serial,
- **kwargs)
-
- def CreateCommandEvent(self, event_type, error=None, event_time=None):
- """Creates an event defined by command_events.submit.
-
- Args:
- event_type: A string in EventType.
- error: A string, the error message for *Failed, *Error, and
- *Completed events.
- event_time: A float, Unix timestamp of the event in seconds.
-
- Returns:
- A JSON object.
- """
- obj = self.ToJson(self._COMMAND_EVENT)
- obj["type"] = event_type
- obj["time"] = int(event_time if event_time is not None else time.time())
- data_obj = self.ToJson(self._COMMAND_EVENT_DATA)
- if error is not None:
- data_obj["error"] = error
- if data_obj:
- obj["data"] = data_obj
- return obj
-
- def CreateInvocationCompletedEvent(self,
- summary,
- total_test_count,
- failed_test_count,
- error=None,
- event_time=None):
- """Creates an InvocationCompleted event.
-
- Args:
- summary: A string, the result of the command.
- total_test_count: Number of test cases.
- failed_test_count: Number of failed test cases.
- error: A string, the error message.
- event_time: A float, Unix timestamp of the event in seconds.
-
- Returns:
- A JSON object.
- """
- obj = self.CreateCommandEvent(EventType.INVOCATION_COMPLETED,
- error, event_time)
- if "data" not in obj:
- obj["data"] = dict()
- obj["data"].update({"summary": summary,
- "total_test_count": total_test_count,
- "failed_test_count": failed_test_count})
- return obj