1#!/usr/bin/env python3 2# Copyright 2018 The Chromium Authors 3# Use of this source code is governed by a BSD-style license that can be 4# found in the LICENSE file. 5 6 7import logging 8import os 9import unittest 10 11import pylib.constants as constants 12import pylib.constants.host_paths as host_paths 13 14# This map corresponds to the binprefix of NDK prebuilt toolchains for various 15# target CPU architectures. Note that 'x86_64' and 'x64' are the same. 16_EXPECTED_NDK_TOOL_SUBDIR_MAP = { 17 'arm': 'toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin/' + 18 'arm-linux-androideabi-', 19 'arm64': 20 'toolchains/aarch64-linux-android-4.9/prebuilt/linux-x86_64/bin/' + 21 'aarch64-linux-android-', 22 'x86': 'toolchains/x86-4.9/prebuilt/linux-x86_64/bin/i686-linux-android-', 23 'x86_64': 24 'toolchains/x86_64-4.9/prebuilt/linux-x86_64/bin/x86_64-linux-android-', 25 'x64': 26 'toolchains/x86_64-4.9/prebuilt/linux-x86_64/bin/x86_64-linux-android-', 27 'mips': 28 'toolchains/mipsel-linux-android-4.9/prebuilt/linux-x86_64/bin/' + 29 'mipsel-linux-android-' 30} 31 32 33class HostPathsTest(unittest.TestCase): 34 def setUp(self): 35 logging.getLogger().setLevel(logging.ERROR) 36 37 def test_GetAaptPath(self): 38 _EXPECTED_AAPT_PATH = os.path.join(constants.ANDROID_SDK_TOOLS, 'aapt') 39 self.assertEqual(host_paths.GetAaptPath(), _EXPECTED_AAPT_PATH) 40 self.assertEqual(host_paths.GetAaptPath(), _EXPECTED_AAPT_PATH) 41 42 def test_ToolPath(self): 43 for cpu_arch, binprefix in _EXPECTED_NDK_TOOL_SUBDIR_MAP.items(): 44 expected_binprefix = os.path.join(constants.ANDROID_NDK_ROOT, binprefix) 45 expected_path = expected_binprefix + 'foo' 46 self.assertEqual(host_paths.ToolPath('foo', cpu_arch), expected_path) 47 48 49if __name__ == '__main__': 50 unittest.main() 51