Files
swift-mirror/test/Serialization/async_initializers.swift
Kavon Farvardin 8fbe42b4c1 [NFC] remove test use of cmp to compare swiftmodules
In the test infrastructure, I was using the binary
comparison tool `cmp` to check if the serialization
of a module can be deserialized and reserialized to
the exact same swiftmodule file. It turns out that
bitwise equality on the emitted files is not
guaranteed between those two methods of creating
a swiftmodule file is not always guaranteed.

Thus, this commit removes the uses of cmp to check
for this fragile guarantee.
2021-08-09 16:43:40 -07:00

41 lines
1.0 KiB
Swift

// RUN: %empty-directory(%t)
// RUN: %target-swift-frontend -disable-availability-checking -emit-module-path %t/a.swiftmodule -module-name a %s
// RUN: llvm-bcanalyzer -dump %t/a.swiftmodule | %FileCheck --implicit-check-not UnknownCode %s
// RUN: %target-swift-ide-test -print-module -module-to-print a -source-filename x -I %t | %FileCheck -check-prefix MODULE-CHECK %s
// REQUIRES: concurrency
///////////
// This test checks for correct serialization & deserialization of
// async initializers
// look for correct members in module's deserialization pretty-print:
// MODULE-CHECK: actor A {
// MODULE-CHECK-NEXT: init() async
actor A {
init() async {}
}
// MODULE-CHECK: class C {
// MODULE-CHECK-NEXT: init() async
class C {
init() async {}
}
// MODULE-CHECK: enum E {
// MODULE-CHECK-NEXT: case nothing
// MODULE-CHECK-NEXT: init() async
enum E {
case nothing
init() async {
self = .nothing
}
}
// MODULE-CHECK: struct S {
// MODULE-CHECK-NEXT: init() async
struct S {
init() async {}
}