mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
49 lines
1.5 KiB
Python
Executable File
49 lines
1.5 KiB
Python
Executable File
#!/usr/bin/python
|
|
# RUN: ${python} %s %target-swiftmodule-name %platform-sdk-overlay-dir \
|
|
# RUN: %target-sil-opt -sdk %sdk -enable-sil-verify-all \
|
|
# RUN: -F %sdk/System/Library/PrivateFrameworks \
|
|
# RUN: -F "%xcode-extra-frameworks-dir"
|
|
|
|
# REQUIRES: long_test
|
|
# REQUIRES: nonexecutable_test
|
|
|
|
|
|
from __future__ import print_function
|
|
|
|
import os
|
|
import subprocess
|
|
import sys
|
|
|
|
target_swiftmodule_name = sys.argv[1]
|
|
sdk_overlay_dir = sys.argv[2]
|
|
sil_opt_invocation = sys.argv[3:]
|
|
|
|
for module_file in os.listdir(sdk_overlay_dir):
|
|
module_name, ext = os.path.splitext(module_file)
|
|
if ext != ".swiftmodule":
|
|
continue
|
|
# Skip the standard library because it's tested elsewhere.
|
|
if module_name == "Swift":
|
|
continue
|
|
# TODO(TF-1229): Fix the "_Differentiation" module.
|
|
if module_name == "_Differentiation":
|
|
continue
|
|
print("# " + module_name)
|
|
|
|
module_path = os.path.join(sdk_overlay_dir, module_file)
|
|
if os.path.isdir(module_path):
|
|
module_path = os.path.join(module_path, target_swiftmodule_name)
|
|
|
|
# llvm-bcanalyzer | not grep Unknown
|
|
bcanalyzer_output = subprocess.check_output(["llvm-bcanalyzer",
|
|
module_path])
|
|
if "Unknown" in bcanalyzer_output:
|
|
print(bcanalyzer_output)
|
|
sys.exit(1)
|
|
|
|
# sil-opt
|
|
# We are deliberately discarding the output here; we're just making sure
|
|
# it can be generated.
|
|
subprocess.check_output(sil_opt_invocation +
|
|
[module_path, "-module-name", module_name])
|