mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
utils/remote-run will only run things in %t.
An Apple-internal tool doesn't follow symlinks.
Normal macOS and simulator runs find the support libraries relative to
the binary.
I'm not sure what to do yet, but for now let's unbreak the
Apple-internal bots I broke in 01a0de2.
56 lines
1.7 KiB
Swift
56 lines
1.7 KiB
Swift
// RUN: %empty-directory(%t)
|
|
// RUN: %target-build-swift -lswiftSwiftReflectionTest %s -o %t/reflect_Array
|
|
// RUN: %target-codesign %t/reflect_Array
|
|
|
|
// Link %target-swift-reflection-test into %t to convince %target-run to copy
|
|
// it.
|
|
// RUN: ln -s %target-swift-reflection-test %t/swift-reflection-test
|
|
// RUN: %target-run %t/swift-reflection-test %t/reflect_Array | %FileCheck %s --check-prefix=CHECK-%target-ptrsize
|
|
|
|
// REQUIRES: objc_interop
|
|
// REQUIRES: executable_test
|
|
|
|
// FIXME: Handle different forms of %target-run more robustly
|
|
// REQUIRES: OS=macosx
|
|
|
|
import SwiftReflectionTest
|
|
|
|
class TestClass {
|
|
var t: Array<Int>
|
|
init(t: Array<Int>) {
|
|
self.t = t
|
|
}
|
|
}
|
|
|
|
var obj = TestClass(t: [1, 2, 3])
|
|
|
|
reflect(object: obj)
|
|
|
|
// CHECK-64: Reflecting an object.
|
|
// CHECK-64: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
|
|
// CHECK-64: Type reference:
|
|
// CHECK-64: (class reflect_Array.TestClass)
|
|
|
|
// CHECK-64: Type info:
|
|
// CHECK-64: (class_instance size=24 alignment=8 stride=24 num_extra_inhabitants=0
|
|
// CHECK-64: (field name=t offset=16
|
|
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1
|
|
// (unstable implementation details omitted)
|
|
|
|
// CHECK-32: Reflecting an object.
|
|
// CHECK-32: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
|
|
// CHECK-32: Type reference:
|
|
// CHECK-32: (class reflect_Array.TestClass)
|
|
|
|
// CHECK-32: Type info:
|
|
// CHECK-32: (class_instance size=12 alignment=4 stride=12 num_extra_inhabitants=0
|
|
// CHECK-32: (field name=t offset=8
|
|
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=1
|
|
// (unstable implementation details omitted)
|
|
|
|
doneReflecting()
|
|
|
|
// CHECK-64: Done.
|
|
|
|
// CHECK-32: Done.
|