12a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Copyright (c) 2013 The Chromium Authors. All rights reserved.
22a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# Use of this source code is governed by a BSD-style license that can be
32a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)# found in the LICENSE file.
42a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
52a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)"""Class representing uiautomator test package."""
62a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
72a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)import os
82a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
92a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)from pylib import constants
102a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)from pylib.instrumentation import test_jar
112a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
122a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
132a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)class TestPackage(test_jar.TestJar):
142a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  def __init__(self, jar_path, jar_info_path):
152a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    test_jar.TestJar.__init__(self, jar_info_path)
162a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
172a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    if not os.path.exists(jar_path):
182a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)      raise Exception('%s not found, please build it' % jar_path)
192a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    self._jar_path = jar_path
202a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
212a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  def GetPackageName(self):
222a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    """Returns the JAR named that is installed on the device."""
232a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)    return os.path.basename(self._jar_path)
242a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)
252a99a7e74a7f215066514fe81d2bfa6639d9edddTorne (Richard Coles)  # Override.
26a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch  def Install(self, device):
27116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch    device.PushChangedFiles(self._jar_path, constants.TEST_EXECUTABLE_DIR)
28