// Check that we can debug a system module package.
//
// Unfortunately this doesn't work yet. See: SR-3280 and SR-3863.
// REQUIRES: disabled
//
// Make a sandbox dir.
// RUN: rm -rf %t.dir
// RUN: mkdir -p %t.dir
// RUN: cp -r %S/CFoo %t.dir/
// RUN: cp -r %S/Foo %t.dir/
//
// Create and drop the library inside build folder.
// RUN: mkdir -p %t.dir/Foo/.build/debug
// RUN: clang -shared %t.dir/CFoo/foo.c -o %t.dir/Foo/.build/debug/libfoo.so
//
// Create the git repo for the lib package
// RUN: git -C %t.dir/CFoo init
// RUN: git -C %t.dir/CFoo add .
// RUN: git -C %t.dir/CFoo config user.name "Test User"
// RUN: git -C %t.dir/CFoo config user.email "test@user.com"
// RUN: git -C %t.dir/CFoo commit -m "Creating package"
// RUN: git -C %t.dir/CFoo tag 1.0.0
//
// Check the build log.
// RUN: %{swift} build --chdir %t.dir/Foo 2>&1 | tee %t.build-log
// RUN: %{FileCheck} --check-prefix CHECK-BUILD-LOG --input-file %t.build-log %s
// CHECK-BUILD-LOG: Compile Swift Module 'Foo'

// Verify that the build worked.
// RUN: test -x %t.dir/Foo/.build/debug/Foo
// RUN: %t.dir/Foo/.build/debug/Foo > %t.out
// RUN: %{FileCheck} --check-prefix CHECK-APP-OUTPUT --input-file %t.out %s
// CHECK-APP-OUTPUT: 5
// CHECK-APP-OUTPUT-NEXT: OK

// Check we can debug the executable.
// RUN: %{lldb} %t.dir/Foo/.build/debug/Foo -o "b main.swift:2" -o r -o "po foo()" -b &> %t.lldb
// RUN: %{FileCheck} --check-prefix CHECK-LLDB-LOG --input-file %t.lldb %s
// CHECK-LLDB-LOG: (lldb) po foo()
