1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90
|
#! /usr/bin/env vpython3
# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
"""Unit tests for device_dependencies.py.
Example usage:
vpython3 device_dependencies_test.py
"""
import os
import unittest
from pathlib import Path
import sys
build_android_path = Path(__file__).parents[2]
sys.path.append(str(build_android_path))
from pylib import constants
from pylib.utils import device_dependencies
class DevicePathComponentsForTest(unittest.TestCase):
def testCheckedInFile(self):
test_path = os.path.join(constants.DIR_SOURCE_ROOT, 'foo', 'bar', 'baz.txt')
output_directory = os.path.join(
constants.DIR_SOURCE_ROOT, 'out-foo', 'Release')
self.assertEqual([None, 'foo', 'bar', 'baz.txt'],
device_dependencies.DevicePathComponentsFor(
test_path, output_directory))
def testOutputDirectoryFile(self):
test_path = os.path.join(constants.DIR_SOURCE_ROOT, 'out-foo', 'Release',
'icudtl.dat')
output_directory = os.path.join(
constants.DIR_SOURCE_ROOT, 'out-foo', 'Release')
self.assertEqual([None, 'icudtl.dat'],
device_dependencies.DevicePathComponentsFor(
test_path, output_directory))
def testOutputDirectorySubdirFile(self):
test_path = os.path.join(constants.DIR_SOURCE_ROOT, 'out-foo', 'Release',
'test_dir', 'icudtl.dat')
output_directory = os.path.join(
constants.DIR_SOURCE_ROOT, 'out-foo', 'Release')
self.assertEqual([None, 'test_dir', 'icudtl.dat'],
device_dependencies.DevicePathComponentsFor(
test_path, output_directory))
def testOutputDirectoryPakFile(self):
test_path = os.path.join(constants.DIR_SOURCE_ROOT, 'out-foo', 'Release',
'foo.pak')
output_directory = os.path.join(
constants.DIR_SOURCE_ROOT, 'out-foo', 'Release')
self.assertEqual([None, 'paks', 'foo.pak'],
device_dependencies.DevicePathComponentsFor(
test_path, output_directory))
class SubstituteDeviceRootTest(unittest.TestCase):
def testNoneDevicePath(self):
self.assertEqual(
'/fake/device/root',
device_dependencies.SubstituteDeviceRootSingle(None,
'/fake/device/root'))
def testStringDevicePath(self):
self.assertEqual(
'/another/fake/device/path',
device_dependencies.SubstituteDeviceRootSingle(
'/another/fake/device/path', '/fake/device/root'))
def testListWithNoneDevicePath(self):
self.assertEqual(
'/fake/device/root/subpath',
device_dependencies.SubstituteDeviceRootSingle([None, 'subpath'],
'/fake/device/root'))
def testListWithoutNoneDevicePath(self):
self.assertEqual(
'/another/fake/device/path',
device_dependencies.SubstituteDeviceRootSingle(
['/', 'another', 'fake', 'device', 'path'], '/fake/device/root'))
if __name__ == '__main__':
unittest.main()
|