mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
https://bugs.swift.org/browse/SR-237 calls for `build-script` and `build-script-impl` to be merged. This commit takes another step towards that goal by moving the logic that finds the path to the `clang` and `clang++` executables up into Python-land. Rather than simply moving all of the logic into `utils/build-script`, this commit moves relevant functions into a new Python module, named `swift_build_support`. This has several benefits: - The logic can be tested. Whereas `build-script-impl` needed to be run in order to verify its behavior, the logic extracted out of it into `swift_build_support` can be tested in isolation. - The logic can be split up into several files without polluting the `utils` directory, which now contains many different files that are unrelated to `build-script`.
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
# test_clang.py - Unit tests for swift_build_support.clang -*- python -*-
|
|
#
|
|
# This source file is part of the Swift.org open source project
|
|
#
|
|
# Copyright (c) 2014 - 2015 Apple Inc. and the Swift project authors
|
|
# Licensed under Apache License v2.0 with Runtime Library Exception
|
|
#
|
|
# See http://swift.org/LICENSE.txt for license information
|
|
# See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors
|
|
|
|
import os
|
|
import unittest
|
|
|
|
from swift_build_support.clang import host_clang
|
|
|
|
|
|
class HostClangTestCase(unittest.TestCase):
|
|
def test_clang_available_on_this_platform(self):
|
|
# Test that Clang is installed on this platform, as a means of
|
|
# testing host_clang().
|
|
clang = host_clang(xcrun_toolchain='default')
|
|
|
|
# The CC and CXX from host_clang() should be of the form
|
|
# 'path/to/clang', where 'clang' may have a trailing version
|
|
# number.
|
|
self.assertTrue(os.path.split(clang.cc)[-1].startswith('clang'))
|
|
self.assertTrue(os.path.split(clang.cxx)[-1].startswith('clang++'))
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|