mirror of
https://github.com/apple/swift.git
synced 2025-12-21 12:14:44 +01:00
64 lines
1.6 KiB
Bash
Executable File
64 lines
1.6 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Exercise the SwiftRemoteMirrorLegacyInterop API. This requires a build
|
|
# of an old (circa 4.0.3) version of Swift as well as the current one.
|
|
# It then builds Swift code using the old and new compilers, and
|
|
# exercises the Interop API using the old and new remote mirrors
|
|
# libraries.
|
|
|
|
set -euo pipefail
|
|
|
|
if [[ $# -ne 4 ]]; then
|
|
echo -n "Usage: $0 <swiftc4-path> <swiftc5-path> "
|
|
echo "<libswiftRemoteMirror4.dylib> <libswiftRemoteMirror5.dylib>"
|
|
exit 1
|
|
fi
|
|
|
|
swiftc4="$1"
|
|
swiftc5="$2"
|
|
mirrorlib4="$3"
|
|
mirrorlib5="$4"
|
|
|
|
SDK=`xcrun --show-sdk-path`
|
|
|
|
cd `dirname $0`
|
|
|
|
"$swiftc4" -sdk "$SDK" -emit-library test4.swift -o /tmp/libtest4.dylib
|
|
"$swiftc5" -sdk "$SDK" -emit-library test5.swift -o /tmp/libtest5.dylib
|
|
|
|
clang -framework Foundation -I ../../../include/swift/SwiftRemoteMirror \
|
|
-o /tmp/test -g test.m
|
|
|
|
|
|
echo "Testing 4 with both mirror libs"
|
|
/tmp/test /tmp/libtest4.dylib "$mirrorlib4" "$mirrorlib5"
|
|
echo ""
|
|
|
|
echo "Testing 4 with only mirror lib 5"
|
|
/tmp/test /tmp/libtest4.dylib "-" "$mirrorlib5"
|
|
echo ""
|
|
|
|
echo "Testing 4 with only mirror lib 4"
|
|
/tmp/test /tmp/libtest4.dylib "$mirrorlib4" "-"
|
|
echo ""
|
|
|
|
echo "Testing 4 with no mirror libs"
|
|
/tmp/test /tmp/libtest4.dylib "-" "-" || true
|
|
echo ""
|
|
|
|
echo "Testing 5 with both mirror libs"
|
|
/tmp/test /tmp/libtest5.dylib "$mirrorlib4" "$mirrorlib5"
|
|
echo ""
|
|
|
|
echo "Testing 5 with only mirror lib 5"
|
|
/tmp/test /tmp/libtest5.dylib "-" "$mirrorlib5"
|
|
echo ""
|
|
|
|
# Not supported (yet?)
|
|
#echo "Testing 5 with only mirror lib 4"
|
|
#/tmp/test /tmp/libtest5.dylib "$mirrorlib4" "-"
|
|
#echo ""
|
|
|
|
echo "Testing 5 with no mirror libs"
|
|
/tmp/test /tmp/libtest5.dylib "-" "-" || true
|