Skip to content

Commit d7dfa3e

Browse files
authored
Bring up tests + validation tests for the 'freestanding' build and the standalone_minimal preset (#34386)
1 parent 38d759c commit d7dfa3e

29 files changed

+125
-26
lines changed

stdlib/CMakeLists.txt

Lines changed: 22 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@ else()
3838
set(SWIFT_STDLIB_STABLE_ABI_default FALSE)
3939
endif()
4040

41+
if(SWIFT_BUILD_SDK_OVERLAY OR SWIFT_INCLUDE_TESTS)
42+
set(SWIFT_BUILD_TEST_SUPPORT_MODULES_default TRUE)
43+
else()
44+
set(SWIFT_BUILD_TEST_SUPPORT_MODULES_default FALSE)
45+
endif()
46+
4147
#
4248
# User-configurable options for the standard library.
4349
#
@@ -46,28 +52,32 @@ endif()
4652
# so that interfaces are emitted when overlays are separately built.
4753

4854
option(SWIFT_STDLIB_STABLE_ABI
49-
"Should stdlib be built with stable ABI (library evolution, resilience)."
50-
"${SWIFT_STDLIB_STABLE_ABI_default}")
55+
"Should stdlib be built with stable ABI (library evolution, resilience)."
56+
"${SWIFT_STDLIB_STABLE_ABI_default}")
5157

5258
option(SWIFT_ENABLE_MODULE_INTERFACES
53-
"Generate .swiftinterface files alongside .swiftmodule files"
54-
"${SWIFT_STDLIB_STABLE_ABI}")
59+
"Generate .swiftinterface files alongside .swiftmodule files"
60+
"${SWIFT_STDLIB_STABLE_ABI}")
5561

5662
option(SWIFT_ENABLE_COMPATIBILITY_OVERRIDES
57-
"Support back-deploying compatibility fixes for newer apps running on older runtimes."
58-
TRUE)
63+
"Support back-deploying compatibility fixes for newer apps running on older runtimes."
64+
TRUE)
5965

6066
option(SWIFT_RUNTIME_MACHO_NO_DYLD
61-
"Build stdlib assuming the runtime environment uses Mach-O but does not support dynamic modules."
62-
FALSE)
67+
"Build stdlib assuming the runtime environment uses Mach-O but does not support dynamic modules."
68+
FALSE)
6369

6470
option(SWIFT_STDLIB_SINGLE_THREADED_RUNTIME
65-
"Build the standard libraries assuming that they will be used in an environment with only a single thread."
66-
FALSE)
71+
"Build the standard libraries assuming that they will be used in an environment with only a single thread."
72+
FALSE)
6773

6874
option(SWIFT_STDLIB_OS_VERSIONING
69-
"Build stdlib with availability based on OS versions (Darwin only)."
70-
TRUE)
75+
"Build stdlib with availability based on OS versions (Darwin only)."
76+
TRUE)
77+
78+
option(SWIFT_BUILD_TEST_SUPPORT_MODULES
79+
"Whether to build StdlibUnittest and other test support modules. Defaults to On when SWIFT_BUILD_SDK_OVERLAY is On, or when SWIFT_INCLUDE_TESTS is On."
80+
"${SWIFT_BUILD_TEST_SUPPORT_MODULES_default}")
7181

7282
#
7383
# End of user-configurable options.

stdlib/cmake/modules/AddSwiftStdlib.cmake

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1438,6 +1438,9 @@ endfunction()
14381438
# SWIFT_MODULE_DEPENDS_WATCHOS
14391439
# Swift modules this library depends on when built for watchOS.
14401440
#
1441+
# SWIFT_MODULE_DEPENDS_FREESTANDING
1442+
# Swift modules this library depends on when built for Freestanding.
1443+
#
14411444
# SWIFT_MODULE_DEPENDS_FREEBSD
14421445
# Swift modules this library depends on when built for FreeBSD.
14431446
#
@@ -1562,6 +1565,7 @@ function(add_swift_target_library name)
15621565
SWIFT_MODULE_DEPENDS
15631566
SWIFT_MODULE_DEPENDS_CYGWIN
15641567
SWIFT_MODULE_DEPENDS_FREEBSD
1568+
SWIFT_MODULE_DEPENDS_FREESTANDING
15651569
SWIFT_MODULE_DEPENDS_OPENBSD
15661570
SWIFT_MODULE_DEPENDS_HAIKU
15671571
SWIFT_MODULE_DEPENDS_IOS
@@ -1719,6 +1723,9 @@ function(add_swift_target_library name)
17191723
elseif(${sdk} STREQUAL WATCHOS OR ${sdk} STREQUAL WATCHOS_SIMULATOR)
17201724
list(APPEND swiftlib_module_depends_flattened
17211725
${SWIFTLIB_SWIFT_MODULE_DEPENDS_WATCHOS})
1726+
elseif(${sdk} STREQUAL FREESTANDING)
1727+
list(APPEND swiftlib_module_depends_flattened
1728+
${SWIFTLIB_SWIFT_MODULE_DEPENDS_FREESTANDING})
17221729
elseif(${sdk} STREQUAL FREEBSD)
17231730
list(APPEND swiftlib_module_depends_flattened
17241731
${SWIFTLIB_SWIFT_MODULE_DEPENDS_FREEBSD})

stdlib/private/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ if(SWIFT_BUILD_SDK_OVERLAY)
88
if(SWIFT_ENABLE_EXPERIMENTAL_DIFFERENTIABLE_PROGRAMMING)
99
add_subdirectory(DifferentiationUnittest)
1010
endif()
11+
endif()
12+
13+
if(SWIFT_BUILD_SDK_OVERLAY OR SWIFT_BUILD_TEST_SUPPORT_MODULES)
1114
add_subdirectory(RuntimeUnittest)
1215
add_subdirectory(StdlibUnicodeUnittest)
1316
add_subdirectory(StdlibCollectionUnittest)
@@ -18,7 +21,9 @@ if(SWIFT_BUILD_SDK_OVERLAY)
1821
# SwiftPrivateThreadExtras to ensure that the dependency targets are setup in
1922
# the correct order for Windows.
2023
add_subdirectory(StdlibUnittest)
24+
endif()
2125

26+
if(SWIFT_BUILD_SDK_OVERLAY)
2227
add_subdirectory(OSLog)
2328

2429
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")

stdlib/private/StdlibUnittest/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ add_swift_target_library(swiftStdlibUnittest ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES}
3636
SWIFT_MODULE_DEPENDS_OSX Darwin Foundation
3737
SWIFT_MODULE_DEPENDS_TVOS Darwin Foundation
3838
SWIFT_MODULE_DEPENDS_WATCHOS Darwin Foundation
39+
SWIFT_MODULE_DEPENDS_FREESTANDING Darwin
3940
SWIFT_MODULE_DEPENDS_LINUX Glibc
4041
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
4142
SWIFT_MODULE_DEPENDS_OPENBSD Glibc

stdlib/private/StdlibUnittest/StdlibUnittest.swift

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@ import SwiftPrivateThreadExtras
1616
import SwiftPrivateLibcExtras
1717

1818
#if canImport(Darwin)
19+
#if _runtime(_ObjC)
1920
import Foundation
21+
#endif
2022
import Darwin
2123
#elseif canImport(Glibc)
2224
import Glibc
@@ -1729,9 +1731,19 @@ public final class TestSuite {
17291731
}
17301732

17311733
#if canImport(Darwin)
1734+
#if _runtime(_ObjC)
17321735
func _getSystemVersionPlistProperty(_ propertyName: String) -> String? {
17331736
return NSDictionary(contentsOfFile: "/System/Library/CoreServices/SystemVersion.plist")?[propertyName] as? String
17341737
}
1738+
#else
1739+
func _getSystemVersionPlistProperty(_ propertyName: String) -> String? {
1740+
var count = 0
1741+
sysctlbyname("kern.osproductversion", nil, &count, nil, 0)
1742+
var s = [CChar](repeating: 0, count: count)
1743+
sysctlbyname("kern.osproductversion", &s, &count, nil, 0)
1744+
return String(cString: &s)
1745+
}
1746+
#endif
17351747
#endif
17361748

17371749
public enum OSVersion : CustomStringConvertible {

stdlib/private/SwiftPrivateLibcExtras/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ add_swift_target_library(swiftSwiftPrivateLibcExtras ${SWIFT_STDLIB_LIBRARY_BUIL
1313
SWIFT_MODULE_DEPENDS_IOS Darwin
1414
SWIFT_MODULE_DEPENDS_TVOS Darwin
1515
SWIFT_MODULE_DEPENDS_WATCHOS Darwin
16+
SWIFT_MODULE_DEPENDS_FREESTANDING Darwin
1617
SWIFT_MODULE_DEPENDS_LINUX Glibc
1718
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
1819
SWIFT_MODULE_DEPENDS_OPENBSD Glibc

stdlib/private/SwiftPrivateThreadExtras/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,14 +10,14 @@ add_swift_target_library(swiftSwiftPrivateThreadExtras ${SWIFT_STDLIB_LIBRARY_BU
1010
SWIFT_MODULE_DEPENDS_OSX Darwin
1111
SWIFT_MODULE_DEPENDS_TVOS Darwin
1212
SWIFT_MODULE_DEPENDS_WATCHOS Darwin
13+
SWIFT_MODULE_DEPENDS_FREESTANDING Darwin
1314
SWIFT_MODULE_DEPENDS_LINUX Glibc
1415
SWIFT_MODULE_DEPENDS_FREEBSD Glibc
1516
SWIFT_MODULE_DEPENDS_OPENBSD Glibc
1617
SWIFT_MODULE_DEPENDS_CYGWIN Glibc
1718
SWIFT_MODULE_DEPENDS_HAIKU Glibc
1819
SWIFT_MODULE_DEPENDS_WINDOWS CRT WinSDK
1920
SWIFT_COMPILE_FLAGS ${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
20-
TARGET_SDKS ALL_APPLE_PLATFORMS CYGWIN FREEBSD OPENBSD HAIKU LINUX WINDOWS ANDROID
2121
INSTALL_IN_COMPONENT stdlib-experimental
2222
DARWIN_INSTALL_NAME_DIR "${SWIFT_DARWIN_STDLIB_PRIVATE_INSTALL_NAME_DIR}")
2323

stdlib/public/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ if(SWIFT_BUILD_STDLIB OR SWIFT_BUILD_REMOTE_MIRROR)
104104
add_subdirectory(SwiftRemoteMirror)
105105
endif()
106106

107-
if(SWIFT_BUILD_SDK_OVERLAY)
107+
if(SWIFT_BUILD_SDK_OVERLAY OR SWIFT_BUILD_TEST_SUPPORT_MODULES)
108108
add_subdirectory(Platform)
109109
endif()
110110

stdlib/public/Platform/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ add_swift_target_library(swiftDarwin ${SWIFT_STDLIB_LIBRARY_BUILD_TYPES} IS_SDK_
2727
${SWIFT_STANDARD_LIBRARY_SWIFT_FLAGS}
2828
-Xfrontend -disable-objc-attr-requires-foundation-module
2929
LINK_FLAGS "${SWIFT_RUNTIME_SWIFT_LINK_FLAGS}"
30-
TARGET_SDKS ALL_APPLE_PLATFORMS
30+
TARGET_SDKS ALL_APPLE_PLATFORMS FREESTANDING
3131
INSTALL_IN_COMPONENT sdk-overlay
3232

3333
DEPENDS ${darwin_depends})

stdlib/public/Platform/MachError.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
13+
#if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && _runtime(_ObjC)
1414
/// Enumeration describing Mach error codes.
1515
@objc
1616
public enum MachErrorCode : Int32 {
@@ -202,4 +202,4 @@ public enum MachErrorCode : Int32 {
202202
/// The requested property cannot be changed at this time.
203203
case policyStatic = 51
204204
}
205-
#endif // os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
205+
#endif // (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && _runtime(_ObjC)

stdlib/public/Platform/POSIXError.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
//
1111
//===----------------------------------------------------------------------===//
1212

13-
#if os(macOS) || os(iOS) || os(tvOS) || os(watchOS)
13+
#if (os(macOS) || os(iOS) || os(tvOS) || os(watchOS)) && _runtime(_ObjC)
1414

1515
/// Enumeration describing POSIX error codes.
1616
@objc

stdlib/public/runtime/Metadata.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6059,3 +6059,8 @@ inline void _Atomic_storage<::PoolRange, 16>::_Unlock() const noexcept {
60596059
}
60606060
}
60616061
#endif
6062+
6063+
// Autolink with libc++, for cases where libswiftCore is linked statically.
6064+
#if defined(__MACH__)
6065+
asm(".linker_option \"-lc++\"\n");
6066+
#endif // defined(__MACH__)

stdlib/tools/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
# Keep in sync with test/CMakeLists.txt: swift-reflection-test is
2+
# only used when testing dynamic stdlib.
13
if(SWIFT_BUILD_DYNAMIC_STDLIB AND SWIFT_INCLUDE_TESTS)
24
add_subdirectory(swift-reflection-test)
35
endif()

test/CMakeLists.txt

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -252,7 +252,9 @@ foreach(SDK ${SWIFT_SDKS})
252252
set(test_dependencies)
253253
get_test_dependencies("${SDK}" test_dependencies)
254254

255-
if(SWIFT_BUILD_STDLIB AND SWIFT_INCLUDE_TESTS)
255+
# Keep in sync with stdlib/tools/CMakeLists.txt: swift-reflection-test is
256+
# only used when testing dynamic stdlib.
257+
if(SWIFT_BUILD_DYNAMIC_STDLIB AND SWIFT_INCLUDE_TESTS)
256258
# NOTE create a stub BlocksRuntime library that can be used for the
257259
# reflection tests
258260
file(WRITE ${test_bin_dir}/Inputs/BlocksRuntime.c

test/lit.cfg

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -850,6 +850,36 @@ if run_vendor == 'apple':
850850
config.available_features.add('foundation')
851851
config.available_features.add('objc_interop')
852852

853+
# The "freestanding" tests will link against the static libswiftCore.a and
854+
# cannot use any of Obj-C / Dispatch / Foundation.
855+
if "-freestanding" in config.variant_suffix:
856+
config.target_runtime = "native"
857+
config.available_features.remove('libdispatch')
858+
config.available_features.remove('foundation')
859+
config.available_features.remove('objc_interop')
860+
config.available_features.add('freestanding')
861+
862+
# Build all "freestanding" tests with -disable-objc-interop
863+
swift_execution_tests_extra_flags += ' -Xfrontend -disable-objc-interop'
864+
865+
# Link all "freestanding" tests with -dead_strip, which can effectively
866+
# even remove parts of the stdlib and runtime, if it's not needed. Since
867+
# it's a very desired behavior, let's enable it for all executable tests.
868+
swift_execution_tests_extra_flags += ' -Xlinker -dead_strip'
869+
870+
# Build a resource dir for freestanding tests.
871+
new_resource_dir = os.path.join(config.test_exec_root, "resource_dir")
872+
if not os.path.exists(new_resource_dir): os.mkdir(new_resource_dir)
873+
def symlink_if_not_exists(src, dst):
874+
src = os.path.join(test_resource_dir, src)
875+
dst = os.path.join(new_resource_dir, dst)
876+
if not os.path.exists(dst): os.symlink(src, dst)
877+
symlink_if_not_exists("clang", "clang")
878+
symlink_if_not_exists("shims", "shims")
879+
symlink_if_not_exists("freestanding", "macosx")
880+
resource_dir_opt = "-resource-dir %s" % new_resource_dir
881+
lit_config.note('Using freestanding resource dir: ' + new_resource_dir)
882+
853883
xcrun_prefix = (
854884
"xcrun --toolchain %s --sdk %r" %
855885
(config.darwin_xcrun_toolchain, config.variant_sdk))

test/stdlib/FlatMapDeprecation.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %swift -swift-version 4 -typecheck -verify %s
1+
// RUN: %target-typecheck-verify-swift -swift-version 4
22

33
func flatMapOnSequence<
44
S : Sequence

test/stdlib/NewStringAppending.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// RUN: %target-run-stdlib-swift | %FileCheck %s
22
// REQUIRES: executable_test
3+
// REQUIRES: foundation
34
//
45
// Parts of this test depend on memory allocator specifics. The test
56
// should be rewritten soon so it doesn't expose legacy components

test/stdlib/OSLogExecutionTest.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
// RUN: %target-codesign %t/OSLogExecutionTest
88
// RUN: %target-run %t/OSLogExecutionTest
99
// REQUIRES: executable_test
10+
// REQUIRES: foundation
1011
//
1112
// REQUIRES: VENDOR=apple
1213

test/stdlib/Runtime.swift.gyb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,7 @@ Runtime.test("Struct layout with reference storage types") {
591591
print(malkovich)
592592
}
593593

594+
#if !(canImport(Darwin) && !_runtime(_ObjC))
594595
Runtime.test("SwiftError layout constants for LLDB") {
595596
let offsetof_SwiftError_typeMetadata = pointerToSwiftCoreSymbol(name: "_swift_lldb_offsetof_SwiftError_typeMetadata")!
596597
let sizeof_SwiftError = pointerToSwiftCoreSymbol(name: "_swift_lldb_sizeof_SwiftError")!
@@ -610,6 +611,7 @@ Runtime.test("SwiftError layout constants for LLDB") {
610611
_UnimplementedError()
611612
#endif
612613
}
614+
#endif
613615

614616
var Reflection = TestSuite("Reflection")
615617

@@ -762,7 +764,7 @@ AvailabilityVersionsTestSuite.test("_stdlib_isOSVersionAtLeast") {
762764

763765
// _stdlib_isOSVersionAtLeast is broken for
764766
// watchOS. rdar://problem/20234735
765-
#if canImport(Darwin)
767+
#if canImport(Darwin) && _runtime(_ObjC)
766768
// This test assumes that no version component on an OS we test upon
767769
// will ever be greater than 1066 and that every major version will always
768770
// be greater than 1.

test/stdlib/UnsafePointerDiagnostics.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-typecheck-verify-swift -enable-invalid-ephemeralness-as-error
1+
// RUN: %target-typecheck-verify-swift -enable-invalid-ephemeralness-as-error -disable-objc-interop
22

33
// Test availability attributes on UnsafePointer initializers.
44
// Assume the original source contains no UnsafeRawPointer types.

test/stdlib/UnsafePointerDiagnostics_warning.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// RUN: %target-typecheck-verify-swift
1+
// RUN: %target-typecheck-verify-swift -disable-objc-interop
22

33
// Test that we get a custom diagnostic for an ephemeral conversion to non-ephemeral param for an Unsafe[Mutable][Raw][Buffer]Pointer init.
44
func unsafePointerInitEphemeralConversions() {

test/stdlib/VarArgs.swift

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,17 @@
33

44
import Swift
55

6-
#if _runtime(_ObjC)
6+
#if canImport(Darwin)
77
import Darwin
8-
import CoreGraphics
8+
#if _runtime(_ObjC)
9+
import CoreGraphics
10+
#else
11+
#if arch(x86_64) || arch(arm64)
12+
typealias CGFloat = Double
13+
#else
14+
typealias CGFloat = Float
15+
#endif
16+
#endif
917
#elseif canImport(Glibc)
1018
import Glibc
1119
typealias CGFloat = Double
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
// RUN: %llvm-nm --defined-only -C %platform-dylib-dir/%target-library-name(swiftCore) | %FileCheck --allow-empty %s
22
// CHECK-NOT: [^:]llvm::
3+
// UNSUPPORTED: freestanding

test/stdlib/symbol-visibility-darwin.test-sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,3 +19,4 @@
1919
// symbols are handled properly.
2020

2121
// REQUIRES: VENDOR=apple
22+
// UNSUPPORTED: freestanding

test/stdlib/tgmath.swift.gyb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ internal extension TGMath {
176176
% if T == 'Float80':
177177
#if (arch(i386) || arch(x86_64)) && !os(Windows)
178178
% elif T == 'CGFloat':
179-
#if canImport(CoreGraphics)
179+
#if _runtime(_ObjC) && canImport(CoreGraphics)
180180
import CoreGraphics
181181
% end
182182

utils/build-presets.ini

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2344,6 +2344,13 @@ swift-freestanding-triple-name=macosx11.0
23442344
swift-freestanding-module-name=macos
23452345
swift-freestanding-archs=x86_64
23462346

2347+
[preset: stdlib_S_standalone_minimal_macho_x86_64,build,test]
2348+
mixin-preset=stdlib_S_standalone_minimal_macho_x86_64,build
2349+
2350+
test
2351+
validation-test
2352+
2353+
23472354
#===----------------------------------------------------------------------===#
23482355
# Preset for Source Compatibility Suite
23492356
#===----------------------------------------------------------------------===#

validation-test/stdlib/POSIXErrorCode.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// RUN: %target-run-simple-swift
22
// REQUIRES: executable_test
33
// REQUIRES: VENDOR=apple || OS=linux-androideabi || OS=linux-android || OS=linux-gnu
4+
// UNSUPPORTED: freestanding
45

56
import Swift
67
import StdlibUnittest

validation-test/stdlib/String.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
// RUN: %target-run %t/String
77
// REQUIRES: executable_test
88
// XFAIL: interpret
9+
// UNSUPPORTED: freestanding
910

1011
// With a non-optimized stdlib the test takes very long.
1112
// REQUIRES: optimized_stdlib

0 commit comments

Comments
 (0)