File tree 3 files changed +26
-10
lines changed
Sources/CustomDump/Internal
3 files changed +26
-10
lines changed Original file line number Diff line number Diff line change @@ -43,19 +43,22 @@ jobs:
43
43
run : make test-linux SWIFT_VERSION=${{ matrix.swift }}
44
44
45
45
wasm :
46
- name : SwiftWasm
46
+ name : Wasm
47
47
runs-on : ubuntu-latest
48
48
steps :
49
49
- uses : actions/checkout@v4
50
50
- uses : bytecodealliance/actions/wasmtime/setup@v1
51
- - uses : swiftwasm/setup-swiftwasm@v1
52
- with :
53
- swift-version : " wasm-5.9.2-RELEASE"
54
- - name : Build tests
55
- # Extend the stack size to avoid stack overflow in the test suites
56
- run : swift build --triple wasm32-unknown-wasi --build-tests -Xlinker -z -Xlinker stack-size=$((1024 * 1024))
57
- - name : Run tests
58
- run : wasmtime .build/debug/swift-custom-dumpPackageTests.wasm
51
+ - name : Install Swift and Swift SDK for WebAssembly
52
+ run : |
53
+ PREFIX=/opt/swift
54
+ set -ex
55
+ curl -f -o /tmp/swift.tar.gz "https://download.swift.org/swift-6.0.3-release/ubuntu2204/swift-6.0.3-RELEASE/swift-6.0.3-RELEASE-ubuntu22.04.tar.gz"
56
+ sudo mkdir -p $PREFIX; sudo tar -xzf /tmp/swift.tar.gz -C $PREFIX --strip-component 1
57
+ $PREFIX/usr/bin/swift sdk install https://github.com/swiftwasm/swift/releases/download/swift-wasm-6.0.3-RELEASE/swift-wasm-6.0.3-RELEASE-wasm32-unknown-wasi.artifactbundle.zip --checksum 31d3585b06dd92de390bacc18527801480163188cd7473f492956b5e213a8618
58
+ echo "$PREFIX/usr/bin" >> $GITHUB_PATH
59
+
60
+ - name : Build
61
+ run : swift build --swift-sdk wasm32-unknown-wasi -Xlinker -z -Xlinker stack-size=$((1024 * 1024))
59
62
60
63
windows :
61
64
name : Windows
@@ -117,4 +120,4 @@ jobs:
117
120
with :
118
121
api-level : 29
119
122
arch : x86_64
120
- script : ~/test-toolchain.sh
123
+ script : ~/test-toolchain.sh
Original file line number Diff line number Diff line change @@ -28,6 +28,10 @@ extension Mirror {
28
28
29
29
func isMirrorEqual( _ lhs: Any , _ rhs: Any ) -> Bool {
30
30
guard let lhs = lhs as? any Equatable else {
31
+ let lhsType = type ( of: lhs)
32
+ if lhsType is AnyClass , lhsType == type ( of: rhs) , lhs as AnyObject === rhs as AnyObject {
33
+ return true
34
+ }
31
35
let lhsMirror = Mirror ( customDumpReflecting: lhs)
32
36
let rhsMirror = Mirror ( customDumpReflecting: rhs)
33
37
guard
Original file line number Diff line number Diff line change @@ -1290,6 +1290,15 @@ final class DiffTests: XCTestCase {
1290
1290
"""
1291
1291
)
1292
1292
}
1293
+
1294
+ func testRecursion( ) {
1295
+ class Object {
1296
+ var child : Object ?
1297
+ }
1298
+ let object = Object ( )
1299
+ object. child = object
1300
+ XCTAssertNil ( diff ( object, object) )
1301
+ }
1293
1302
}
1294
1303
1295
1304
private class Shared : _CustomDiffObject , Equatable {
You can’t perform that action at this time.
0 commit comments