mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
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.
41 lines
1.0 KiB
Swift
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 {}
|
|
}
|