# Tapi's awareness of symlinks relies on POSIX level apis not available on windows. ; REQUIRES: system-darwin ; RUN: rm -rf %t ; RUN: split-file %s %t ; RUN: mkdir -p %t/sysroot/usr/lib/ ; RUN: mkdir -p %t/sysroot/System/Library/Frameworks/System.framework ; RUN: yaml2obj %S/Inputs/libSystem.1.yaml -o %t/sysroot/usr/lib/libSystem.1.dylib ; RUN: cd %t/sysroot/usr/lib # Set relative symlink. ; RUN: ln -s libSystem.1.dylib libSystem.dylib # Set broken but accepted symlink. ; RUN: ln -s /usr/lib/libSystem.1.dylib %t/sysroot/System/Library/Frameworks/System.framework/System # Set absolute symlink. ; RUN: ln -s %t/sysroot/usr/lib/libSystem.dylib libfoo.dylib ; RUN: cd %t ; RUN: llvm-readtapi -stubify %t/sysroot 2>&1 | FileCheck -allow-empty %s ; RUN: llvm-readtapi -compare %t/sysroot/usr/lib/libfoo.tbd %t/expected_system.tbd 2>&1 | FileCheck -allow-empty %s ; RUN: file %t/sysroot/System/Library/Frameworks/System.framework/System.tbd 2>&1 | FileCheck -allow-empty %s # Warn on invalid symlink. ; RUN: ln -s %t/sysroot/usr/libSystem.dylib %t/sysroot/usr/lib/libbroken.dylib ; RUN: llvm-readtapi -stubify %t/sysroot 2>&1 | FileCheck %s --check-prefix BROKEN_SYMLINK ; CHECK-NOT: error: ; CHECK-NOT: warning: ; BROKEN_SYMLINK: ignoring broken symlink: {{.*}}/usr/lib/libbroken.dylib ;--- expected_system.tbd { "main_library": { "flags": [ { "attributes": [ "not_app_extension_safe" ] } ], "install_names": [ { "name": "/usr/lib/libSystem.1.dylib" } ], "target_info": [ { "min_deployment": "10.14", "target": "x86_64-macos" }, { "min_deployment": "12", "target": "x86_64-maccatalyst" } ] }, "tapi_tbd_version": 5 }