Home | History | Annotate | Download | only in base
      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 
      6 class Environment(object):
      7   """An environment in which tests can be run.
      8 
      9   This is expected to handle all logic that is applicable to an entire specific
     10   environment but is independent of the test type.
     11 
     12   Examples include:
     13     - The local device environment, for running tests on devices attached to
     14       the local machine.
     15     - The local machine environment, for running tests directly on the local
     16       machine.
     17   """
     18 
     19   def __init__(self):
     20     pass
     21 
     22   def SetUp(self):
     23     raise NotImplementedError
     24 
     25   def TearDown(self):
     26     raise NotImplementedError
     27 
     28   def __enter__(self):
     29     self.SetUp()
     30     return self
     31 
     32   def __exit__(self, _exc_type, _exc_val, _exc_tb):
     33     self.TearDown()
     34 
     35