# Copyright 2014 The Chromium Authors. All rights reserved. | |
# Use of this source code is governed by a BSD-style license that can be | |
# found in the LICENSE file. | |
class TestInstance(object): | |
"""A type of test. | |
This is expected to handle all logic that is test-type specific but | |
independent of the environment or device. | |
Examples include: | |
- gtests | |
- instrumentation tests | |
""" | |
def __init__(self): | |
pass | |
def TestType(self): | |
raise NotImplementedError | |
def SetUp(self): | |
raise NotImplementedError | |
def TearDown(self): | |
raise NotImplementedError | |
def __enter__(self): | |
self.SetUp() | |
return self | |
def __exit__(self, _exc_type, _exc_val, _exc_tb): | |
self.TearDown() | |