Source code for mobly.runtime_test_info

# Copyright 2017 Google Inc.
#
# 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 copy
import os

from mobly import utils


[docs]class RuntimeTestInfo: """Container class for runtime information of a test or test stage. One object corresponds to one test. This is meant to be a read-only class. This also applies to test stages like `setup_class`, which has its own runtime info but is not part of any single test. Attributes: name: string, name of the test. signature: string, an identifier of the test, a combination of test name and begin time. record: TestResultRecord, the current test result record. This changes as the test's execution progresses. output_path: string, path to the test's output directory. It's created upon accessing. """ def __init__(self, test_name, log_path, record): self._name = test_name self._record = record self._output_dir_path = utils.abs_path( os.path.join(log_path, self._record.signature)) @property def name(self): return self._name @property def signature(self): return self.record.signature @property def record(self): return copy.deepcopy(self._record) @property def output_path(self): utils.create_dir(self._output_dir_path) return self._output_dir_path