blob: 39fd1c0e8a6b248f048214ee9520cacd0c584f35 [file] [log] [blame]
// RUN: %target-resilience-test --backward-deployment
// REQUIRES: executable_test
import StdlibUnittest
import backward_deploy_struct
var BackwardDeployStructTest = TestSuite("BackwardDeployStruct")
BackwardDeployStructTest.test("ResilientStruct") {
if getVersion() == 1 {
// FIXME: IRGen inserts the metadata load outside the version check
// apparently. Work around that here. <rdar://problem/46438608>
@inline(never) func helper() {
var s = ResilientStruct()
s.fn(s.storedProp)
s.storedProp = 1
s.storedProp += 1
s.fn(s.computedProp)
s.computedProp = 1
s.computedProp += 1
s.fn(s[0])
s[0] = 1
s[0] += 1
}
helper()
}
}
BackwardDeployStructTest.test("FixedLayoutStruct") {
if getVersion() == 1 {
var s = FixedLayoutStruct()
s.fn(s.storedProp)
s.storedProp = 1
s.storedProp += 1
s.fn(s.computedProp)
s.computedProp = 1
s.computedProp += 1
s.fn(s[0])
s[0] = 1
s[0] += 1
}
}
runAllTests()