blob: c39e7ae81ed3ef43d29ae0437f64928305d2618e [file] [log] [blame]
import os
import unittest
from modules.llvm import LLVMSubproject
class TestLLVMSubproject(unittest.TestCase):
"""Test that we have the right info on LLVM subprojects."""
def test_build_paths(self):
subprojects = LLVMSubproject.get_all_subprojects()
self.assertEqual(subprojects["clang"].cmake_path,
os.path.join("tools", "clang"))
self.assertEqual(subprojects["compiler-rt"].cmake_path,
os.path.join("projects", "compiler-rt"))
self.assertEqual(subprojects["libcxx"].cmake_path,
os.path.join("projects", "libcxx"))
self.assertEqual(subprojects["libcxxabi"].cmake_path,
os.path.join("projects", "libcxxabi"))
self.assertEqual(subprojects["libunwind"].cmake_path,
os.path.join("projects", "libunwind"))
self.assertEqual(subprojects["lld"].cmake_path,
os.path.join("tools", "lld"))
self.assertEqual(subprojects["lldb"].cmake_path,
os.path.join("tools", "lldb"))
self.assertEqual(subprojects["test-suite"].cmake_path,
os.path.join("projects", "test-suite"))
def test_cmake_vars(self):
subprojects = LLVMSubproject.get_all_subprojects()
self.assertEqual(
subprojects["clang"].cmake_var,
"LLVM_TOOL_CLANG_BUILD")
self.assertEqual(subprojects["compiler-rt"].cmake_var,
"LLVM_TOOL_COMPILER_RT_BUILD")
self.assertEqual(
subprojects["libcxx"].cmake_var,
"LLVM_TOOL_LIBCXX_BUILD")
self.assertEqual(subprojects["libcxxabi"].cmake_var,
"LLVM_TOOL_LIBCXXABI_BUILD")
self.assertEqual(
subprojects["libunwind"].cmake_var,
"LLVM_TOOL_LIBUNWIND_BUILD")
self.assertEqual(subprojects["lld"].cmake_var, "LLVM_TOOL_LLD_BUILD")
self.assertEqual(subprojects["lldb"].cmake_var, "LLVM_TOOL_LLDB_BUILD")
self.assertEqual(subprojects["test-suite"].cmake_var, None)
def test_get_cmake_path(self):
subproject = LLVMSubproject(
os.path.join(
"path",
"to",
"subproj"),
None)
cmake_path = subproject.get_cmake_path(os.path.join("llvm", "sources"))
self.assertEqual(
str(cmake_path),
os.path.join("llvm", "sources", "path", "to", "subproj"))
if __name__ == "__main__":
unittest.main()