Files
swift-mirror/utils/swift_build_support/tests/test_clang.py
Brian Gesiak ca3e11b2d6 [build-script] Determine HOST_CC in build-script
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`.
2015-12-27 02:35:32 -05:00

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()