1# Copyright 2014 The Chromium Authors. All rights reserved. 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5 6class TestInstance(object): 7 """A type of test. 8 9 This is expected to handle all logic that is test-type specific but 10 independent of the environment or device. 11 12 Examples include: 13 - gtests 14 - instrumentation tests 15 """ 16 17 def __init__(self): 18 pass 19 20 def TestType(self): 21 raise NotImplementedError 22 23 def SetUp(self): 24 raise NotImplementedError 25 26 def TearDown(self): 27 raise NotImplementedError 28 29 def __enter__(self): 30 self.SetUp() 31 return self 32 33 def __exit__(self, _exc_type, _exc_val, _exc_tb): 34 self.TearDown() 35 36