Skip to content

Commit a76c35a

Browse files
committed
reenable collection reflection tests, with impl details ignored
1 parent bbe53f3 commit a76c35a

5 files changed

+18
-162
lines changed

validation-test/Reflection/reflect_Array.swift

+2-15
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
// REQUIRES: objc_interop
55
// REQUIRES: executable_test
66

7-
// FIXME(ABI): This test is too fragile while this type isn't ABI stable
8-
// REQUIRES: rdar29139967
9-
107
import SwiftReflectionTest
118

129
class TestClass {
@@ -29,12 +26,7 @@ reflect(object: obj)
2926
// CHECK-64: (class_instance size=24 alignment=8 stride=32 num_extra_inhabitants=0
3027
// CHECK-64: (field name=t offset=16
3128
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1
32-
// CHECK-64: (field name=_buffer offset=0
33-
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1
34-
// CHECK-64: (field name=_storage offset=0
35-
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1
36-
// CHECK-64: (field name=rawValue offset=0
37-
// CHECK-64: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=1)))))))))
29+
// (unstable implementation details omitted)
3830

3931
// CHECK-32: Reflecting an object.
4032
// CHECK-32: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
@@ -45,12 +37,7 @@ reflect(object: obj)
4537
// CHECK-32: (class_instance size=16 alignment=4 stride=16 num_extra_inhabitants=0
4638
// CHECK-32: (field name=t offset=12
4739
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=1
48-
// CHECK-32: (field name=_buffer offset=0
49-
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=1
50-
// CHECK-32: (field name=_storage offset=0
51-
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=1
52-
// CHECK-32: (field name=rawValue offset=0
53-
// CHECK-32: (builtin size=4 alignment=4 stride=4 num_extra_inhabitants=1)))))))))
40+
// (unstable implementation details omitted)
5441

5542
doneReflecting()
5643

validation-test/Reflection/reflect_Dictionary.swift

+2-15
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
// REQUIRES: objc_interop
55
// REQUIRES: executable_test
66

7-
// FIXME(ABI): This test is too fragile while this type isn't ABI stable
8-
// REQUIRES: rdar29139967
9-
107
import SwiftReflectionTest
118

129
class TestClass {
@@ -29,12 +26,7 @@ reflect(object: obj)
2926
// CHECK-64: (class_instance size=25 alignment=8 stride=32 num_extra_inhabitants=0
3027
// CHECK-64: (field name=t offset=16
3128
// CHECK-64: (struct size=9 alignment=8 stride=16 num_extra_inhabitants=0
32-
// CHECK-64: (field name=_variantBuffer offset=0
33-
// CHECK-64: (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0
34-
// CHECK-64: (field name=native offset=0
35-
// CHECK-64: (reference kind=strong refcounting=native))
36-
// CHECK-64: (field name=cocoa offset=0
37-
// CHECK-64: (reference kind=strong refcounting=native)))))))
29+
// (unstable implementation details omitted)
3830

3931
// CHECK-32: Reflecting an object.
4032
// CHECK-32: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
@@ -45,12 +37,7 @@ reflect(object: obj)
4537
// CHECK-32: (class_instance size=17 alignment=16 stride=32 num_extra_inhabitants=0
4638
// CHECK-32: (field name=t offset=12
4739
// CHECK-32: (struct size=5 alignment=4 stride=8 num_extra_inhabitants=0
48-
// CHECK-32: (field name=_variantBuffer offset=0
49-
// CHECK-32: (multi_payload_enum size=5 alignment=4 stride=8 num_extra_inhabitants=0
50-
// CHECK-32: (field name=native offset=0
51-
// CHECK-32: (reference kind=strong refcounting=native))
52-
// CHECK-32: (field name=cocoa offset=0
53-
// CHECK-32: (reference kind=strong refcounting=native)))))))
40+
// (unstable implementation details omitted)
5441

5542
doneReflecting()
5643

validation-test/Reflection/reflect_Set.swift

+2-15
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
// REQUIRES: objc_interop
55
// REQUIRES: executable_test
66

7-
// FIXME(ABI): This test is too fragile while this type isn't ABI stable
8-
// REQUIRES: rdar29139967
9-
107
import SwiftReflectionTest
118

129
class TestClass {
@@ -29,12 +26,7 @@ reflect(object: obj)
2926
// CHECK-64: (class_instance size=25 alignment=8 stride=32 num_extra_inhabitants=0
3027
// CHECK-64: (field name=t offset=16
3128
// CHECK-64: (struct size=9 alignment=8 stride=16 num_extra_inhabitants=0
32-
// CHECK-64: (field name=_variantBuffer offset=0
33-
// CHECK-64: (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0
34-
// CHECK-64: (field name=native offset=0
35-
// CHECK-64: (reference kind=strong refcounting=native))
36-
// CHECK-64: (field name=cocoa offset=0
37-
// CHECK-64: (reference kind=strong refcounting=native)))))))
29+
// (unstable implementation details omitted)
3830

3931
// CHECK-32: Reflecting an object.
4032
// CHECK-32: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
@@ -45,12 +37,7 @@ reflect(object: obj)
4537
// CHECK-32: (class_instance size=17 alignment=4 stride=32 num_extra_inhabitants=0
4638
// CHECK-32: (field name=t offset=12
4739
// CHECK-32: (struct size=5 alignment=4 stride=8 num_extra_inhabitants=0
48-
// CHECK-32: (field name=_variantBuffer offset=0
49-
// CHECK-32: (multi_payload_enum size=5 alignment=4 stride=8 num_extra_inhabitants=0
50-
// CHECK-32: (field name=native offset=0
51-
// CHECK-32: (reference kind=strong refcounting=native))
52-
// CHECK-32: (field name=cocoa offset=0
53-
// CHECK-32: (reference kind=strong refcounting=native)))))))
40+
// (unstable implementation details omitted)
5441

5542
doneReflecting()
5643

validation-test/Reflection/reflect_String.swift

+2-39
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,6 @@
44
// REQUIRES: objc_interop
55
// REQUIRES: executable_test
66

7-
// FIXME(ABI): This test is too fragile while this type isn't ABI stable
8-
// REQUIRES: rdar29139967
9-
107
import SwiftReflectionTest
118

129
class TestClass {
@@ -29,24 +26,7 @@ reflect(object: obj)
2926
// CHECK-64-NEXT: (class_instance size=40 alignment=8 stride=40
3027
// CHECK-64-NEXT: (field name=t offset=16
3128
// CHECK-64-NEXT: (struct size=24 alignment=8 stride=24 num_extra_inhabitants=0
32-
// CHECK-64-NEXT: (field name=_core offset=0
33-
// CHECK-64-NEXT: (struct size=24 alignment=8 stride=24 num_extra_inhabitants=0
34-
// CHECK-64-NEXT: (field name=_baseAddress offset=0
35-
// CHECK-64-NEXT: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=0
36-
// CHECK-64-NEXT: (field name=some offset=0
37-
// CHECK-64-NEXT: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1
38-
// CHECK-64-NEXT: (field name=_rawValue offset=0
39-
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=1))))))
40-
// CHECK-64-NEXT: (field name=_countAndFlags offset=8
41-
// CHECK-64-NEXT: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0
42-
// CHECK-64-NEXT: (field name=_value offset=0
43-
// CHECK-64-NEXT: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0))))
44-
// CHECK-64-NEXT: (field name=_owner offset=16
45-
// CHECK-64-NEXT: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=2147483646
46-
// CHECK-64-NEXT: (field name=some offset=0
47-
// CHECK-64-NEXT: (class_existential size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647
48-
// CHECK-64-NEXT: (field name=object offset=0
49-
// CHECK-64-NEXT: (reference kind=strong refcounting=unknown)))))))))))
29+
// (unstable implementation details omitted)
5030

5131
// CHECK-32: Reflecting an object.
5232
// CHECK-32: Instance pointer in child address space: 0x{{[0-9a-fA-F]+}}
@@ -57,24 +37,7 @@ reflect(object: obj)
5737
// CHECK-32-NEXT: (class_instance size=24 alignment=4 stride=32
5838
// CHECK-32-NEXT: (field name=t offset=12
5939
// CHECK-32-NEXT: (struct size=12 alignment=4 stride=12 num_extra_inhabitants=0
60-
// CHECK-32-NEXT: (field name=_core offset=0
61-
// CHECK-32-NEXT: (struct size=12 alignment=4 stride=12 num_extra_inhabitants=0
62-
// CHECK-32-NEXT: (field name=_baseAddress offset=0
63-
// CHECK-32-NEXT: (single_payload_enum size=4 alignment=4 stride=4 num_extra_inhabitants=0
64-
// CHECK-32-NEXT: (field name=some offset=0
65-
// CHECK-32-NEXT: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=1
66-
// CHECK-32-NEXT: (field name=_rawValue offset=0
67-
// CHECK-32-NEXT: (builtin size=4 alignment=4 stride=4 num_extra_inhabitants=1))))))
68-
// CHECK-32-NEXT: (field name=_countAndFlags offset=4
69-
// CHECK-32-NEXT: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=0
70-
// CHECK-32-NEXT: (field name=_value offset=0
71-
// CHECK-32-NEXT: (builtin size=4 alignment=4 stride=4 num_extra_inhabitants=0))))
72-
// CHECK-32-NEXT: (field name=_owner offset=8
73-
// CHECK-32-NEXT: (single_payload_enum size=4 alignment=4 stride=4 num_extra_inhabitants=4095
74-
// CHECK-32-NEXT: (field name=some offset=0
75-
// CHECK-32-NEXT: (class_existential size=4 alignment=4 stride=4 num_extra_inhabitants=4096
76-
// CHECK-32-NEXT: (field name=object offset=0
77-
// CHECK-32-NEXT: (reference kind=strong refcounting=unknown)))))))))))
40+
// (unstable implementation details omitted)
7841

7942
doneReflecting()
8043

validation-test/Reflection/reflect_multiple_types.swift

+10-78
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
// REQUIRES: objc_interop
55
// REQUIRES: executable_test
66

7-
// FIXME(ABI): This test is too fragile while these type aren't ABI stable
8-
// REQUIRES: rdar29139967
7+
// FIXME: https://bugs.swift.org/browse/SR-2808
8+
// XFAIL: resilient_stdlib
99

1010
import SwiftReflectionTest
1111
import Foundation
@@ -118,12 +118,7 @@ reflect(object: obj)
118118
// CHECK-64: (class_instance size=209 alignment=16 stride=224 num_extra_inhabitants=0
119119
// CHECK-64: (field name=t00 offset=16
120120
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1
121-
// CHECK-64: (field name=_buffer offset=0
122-
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1
123-
// CHECK-64: (field name=_storage offset=0
124-
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1
125-
// CHECK-64: (field name=rawValue offset=0
126-
// CHECK-64: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=1))))))))
121+
// (unstable implementation details omitted)
127122
// CHECK-64: (field name=t01 offset=24
128123
// CHECK-64: (struct size=1 alignment=1 stride=1 num_extra_inhabitants=254
129124
// CHECK-64: (field name=_value offset=0
@@ -142,12 +137,7 @@ reflect(object: obj)
142137
// CHECK-64: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647))))))
143138
// CHECK-64: (field name=t03 offset=48
144139
// CHECK-64: (struct size=9 alignment=8 stride=16 num_extra_inhabitants=0
145-
// CHECK-64: (field name=_variantBuffer offset=0
146-
// CHECK-64: (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0
147-
// CHECK-64: (field name=native offset=0
148-
// CHECK-64: (reference kind=strong refcounting=native))
149-
// CHECK-64: (field name=cocoa offset=0
150-
// CHECK-64: (reference kind=strong refcounting=native))))))
140+
// (unstable implementation details omitted)
151141
// CHECK-64: (field name=t04 offset=64
152142
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0
153143
// CHECK-64: (field name=_value offset=0
@@ -186,32 +176,10 @@ reflect(object: obj)
186176
// CHECK-64: (reference kind=strong refcounting=unknown))
187177
// CHECK-64: (field name=t15 offset=144
188178
// CHECK-64: (struct size=9 alignment=8 stride=16 num_extra_inhabitants=0
189-
// CHECK-64: (field name=_variantBuffer offset=0
190-
// CHECK-64: (multi_payload_enum size=9 alignment=8 stride=16 num_extra_inhabitants=0
191-
// CHECK-64: (field name=native offset=0
192-
// CHECK-64: (reference kind=strong refcounting=native))
193-
// CHECK-64: (field name=cocoa offset=0
194-
// CHECK-64: (reference kind=strong refcounting=native))))))
179+
// (unstable implementation details omitted)
195180
// CHECK-64: (field name=t16 offset=160
196181
// CHECK-64: (struct size=24 alignment=8 stride=24 num_extra_inhabitants=0
197-
// CHECK-64: (field name=_core offset=0
198-
// CHECK-64: (struct size=24 alignment=8 stride=24 num_extra_inhabitants=0
199-
// CHECK-64: (field name=_baseAddress offset=0
200-
// CHECK-64: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=0
201-
// CHECK-64: (field name=some offset=0
202-
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=1
203-
// CHECK-64: (field name=_rawValue offset=0
204-
// CHECK-64: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=1))))))
205-
// CHECK-64: (field name=_countAndFlags offset=8
206-
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0
207-
// CHECK-64: (field name=_value offset=0
208-
// CHECK-64: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=0))))
209-
// CHECK-64: (field name=_owner offset=16
210-
// CHECK-64: (single_payload_enum size=8 alignment=8 stride=8 num_extra_inhabitants=2147483646
211-
// CHECK-64: (field name=some offset=0
212-
// CHECK-64: (class_existential size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647
213-
// CHECK-64: (field name=object offset=0
214-
// CHECK-64: (reference kind=strong refcounting=unknown))))))))))
182+
// (unstable implementation details omitted)
215183
// CHECK-64: (field name=t17 offset=184
216184
// CHECK-64: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0
217185
// CHECK-64: (field name=_value offset=0
@@ -242,12 +210,7 @@ reflect(object: obj)
242210
// CHECK-32: (class_instance size=137 alignment=16 stride=144 num_extra_inhabitants=0
243211
// CHECK-32: (field name=t00 offset=12
244212
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=1
245-
// CHECK-32: (field name=_buffer offset=0
246-
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=1
247-
// CHECK-32: (field name=_storage offset=0
248-
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=1
249-
// CHECK-32: (field name=rawValue offset=0
250-
// CHECK-32: (builtin size=4 alignment=4 stride=4 num_extra_inhabitants=1))))))))
213+
// (unstable implementation details omitted)
251214
// CHECK-32: (field name=t01 offset=16
252215
// CHECK-32: (struct size=1 alignment=1 stride=1 num_extra_inhabitants=254
253216
// CHECK-32: (field name=_value offset=0
@@ -266,14 +229,7 @@ reflect(object: obj)
266229
// CHECK-32: (builtin size=8 alignment=8 stride=8 num_extra_inhabitants=2147483647))))))
267230
// CHECK-32: (field name=t03 offset=32
268231
// CHECK-32: (struct size=5 alignment=4 stride=8 num_extra_inhabitants=0
269-
// CHECK-32: (field name=_variantBuffer offset=0
270-
// CHECK-32: (multi_payload_enum size=5 alignment=4 stride=8 num_extra_inhabitants=0
271-
// CHECK-32: (field name=native offset=0
272-
// CHECK-32: (reference kind=strong refcounting=native))
273-
// CHECK-32: (field name=cocoa offset=0
274-
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=4096
275-
// CHECK-32: (field name=cocoaDictionary offset=0
276-
// CHECK-32: (reference kind=strong refcounting=unknown))))))))
232+
// (unstable implementation details omitted)
277233
// CHECK-32: (field name=t04 offset=40
278234
// CHECK-32: (struct size=8 alignment=8 stride=8 num_extra_inhabitants=0
279235
// CHECK-32: (field name=_value offset=0
@@ -312,34 +268,10 @@ reflect(object: obj)
312268
// CHECK-32: (reference kind=strong refcounting=unknown))
313269
// CHECK-32: (field name=t15 offset=92
314270
// CHECK-32: (struct size=5 alignment=4 stride=8 num_extra_inhabitants=0
315-
// CHECK-32: (field name=_variantBuffer offset=0
316-
// CHECK-32: (multi_payload_enum size=5 alignment=4 stride=8 num_extra_inhabitants=0
317-
// CHECK-32: (field name=native offset=0
318-
// CHECK-32: (reference kind=strong refcounting=native))
319-
// CHECK-32: (field name=cocoa offset=0
320-
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=4096
321-
// CHECK-32: (field name=cocoaSet offset=0
322-
// CHECK-32: (reference kind=strong refcounting=unknown))))))))
271+
// (unstable implementation details omitted)
323272
// CHECK-32: (field name=t16 offset=100
324273
// CHECK-32: (struct size=12 alignment=4 stride=12 num_extra_inhabitants=0
325-
// CHECK-32: (field name=_core offset=0
326-
// CHECK-32: (struct size=12 alignment=4 stride=12 num_extra_inhabitants=0
327-
// CHECK-32: (field name=_baseAddress offset=0
328-
// CHECK-32: (single_payload_enum size=4 alignment=4 stride=4 num_extra_inhabitants=0
329-
// CHECK-32: (field name=some offset=0
330-
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=1
331-
// CHECK-32: (field name=_rawValue offset=0
332-
// CHECK-32: (builtin size=4 alignment=4 stride=4 num_extra_inhabitants=1))))))
333-
// CHECK-32: (field name=_countAndFlags offset=4
334-
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=0
335-
// CHECK-32: (field name=_value offset=0
336-
// CHECK-32: (builtin size=4 alignment=4 stride=4 num_extra_inhabitants=0))))
337-
// CHECK-32: (field name=_owner offset=8
338-
// CHECK-32: (single_payload_enum size=4 alignment=4 stride=4 num_extra_inhabitants=4095
339-
// CHECK-32: (field name=some offset=0
340-
// CHECK-32: (class_existential size=4 alignment=4 stride=4 num_extra_inhabitants=4096
341-
// CHECK-32: (field name=object offset=0
342-
// CHECK-32: (reference kind=strong refcounting=unknown))))))))))
274+
// (unstable implementation details omitted)
343275
// CHECK-32: (field name=t17 offset=112
344276
// CHECK-32: (struct size=4 alignment=4 stride=4 num_extra_inhabitants=0
345277
// CHECK-32: (field name=_value offset=0

0 commit comments

Comments
 (0)