blob: 8989aab9943c0da5ea0a9cca2994387031ec98e1 [file] [log] [blame]
// RUN: %empty-directory(%t)
// RUN: %target-build-swift %S/../Inputs/class_method_thunk_other_module.swift %s -o %t/a.out
// RUN: %target-codesign %t/a.out
// RUN: %target-run %t/a.out
// REQUIRES: executable_test
import StdlibUnittest
var ClassMethodThunkTests = TestSuite("ClassMethodThunks")
func classValueWithGradient(_ c: OtherModuleSuper) -> (Float, Float) {
return valueWithGradient(at: 1) { c.f($0) }
}
ClassMethodThunkTests.test("CrossModuleClassMethodThunks") {
expectEqual((2, 2), classValueWithGradient(OtherModuleSuper()))
expectEqual((3, 3), classValueWithGradient(OtherModuleSubOverride()))
expectEqual((3, 3), classValueWithGradient(OtherModuleSubOverrideCustomDerivatives()))
}
runAllTests()