Home | History | Annotate | Download | only in tests
      1 #!/usr/bin/env python3.4
      2 #
      3 #   Copyright 2016 - The Android Open Source Project
      4 #
      5 #   Licensed under the Apache License, Version 2.0 (the "License");
      6 #   you may not use this file except in compliance with the License.
      7 #   You may obtain a copy of the License at
      8 #
      9 #       http://www.apache.org/licenses/LICENSE-2.0
     10 #
     11 #   Unless required by applicable law or agreed to in writing, software
     12 #   distributed under the License is distributed on an "AS IS" BASIS,
     13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14 #   See the License for the specific language governing permissions and
     15 #   limitations under the License.
     16 
     17 # This is a mock third-party controller module used for unit testing ACTS.
     18 
     19 ACTS_CONTROLLER_CONFIG_NAME = "MagicDevice"
     20 
     21 def create(configs, logger):
     22     objs = []
     23     for c in configs:
     24         if isinstance(c, dict):
     25             c.pop("serial")
     26         objs.append(MagicDevice(c, logger))
     27     return objs
     28 
     29 def destroy(objs):
     30     print("Destroying magic")
     31 
     32 class MagicDevice(object):
     33     def __init__(self, config, log):
     34         self.magic = config
     35         self.log = log
     36 
     37     def get_magic(self):
     38         self.log.info("My magic is %s." % self.magic)
     39         return self.magic