Files
swift-mirror/test/Interpreter/async.swift
Doug Gregor 3ee09a2298 Switch concurrency runtime tests to "REQUIRES: concurrency_runtime"
Rather than blanket-disabling concurrency tests when we aren't using a
just-built concurrency library, enable them whenever we have a
suitable concurrency runtime, either just-built, in the OS, or via the
back-deployment libraries.
2021-09-13 12:34:20 -07:00

45 lines
904 B
Swift

// RUN: %empty-directory(%t)
// RUN: %target-build-swift -Xfrontend -disable-availability-checking %s -parse-as-library -module-name main -o %t/main
// RUN: %target-codesign %t/main
// RUN: %target-run %t/main | %FileCheck %s
// REQUIRES: concurrency
// REQUIRES: executable_test
// REQUIRES: concurrency_runtime
// UNSUPPORTED: back_deployment_runtime
func sayHello() async {
print("hello")
}
func sayGeneric<T>(_ msg: T) async {
await sayHello()
print(msg)
}
func sayWithClosure(_ action: () async -> ()) async {
await action()
print("hallo welt")
}
@main struct Main {
static func main() async {
// CHECK: hello
await sayHello()
// CHECK: hello
// CHECK: world
await sayGeneric("world")
// CHECK: hello
// CHECK: and now in german
// CHECK: hallo welt
await sayWithClosure {
await sayHello()
print("and now in german")
}
}
}