// RUN: %empty-directory(%t) // RUN: %target-build-swift-dylib(%t/%target-library-name(vtables_multifile_2)) -enable-library-evolution %S/Inputs/vtables_multifile_2.swift -emit-module -emit-module-path %t/vtables_multifile_2.swiftmodule // RUN: %target-codesign %t/%target-library-name(vtables_multifile_2) // RUN: %target-build-swift %s -L %t -I %t -lvtables_multifile_2 -o %t/main %target-rpath(%t) // RUN: %target-codesign %t/main // RUN: %target-run %t/main %t/%target-library-name(vtables_multifile_2) // REQUIRES: executable_test import StdlibUnittest import vtables_multifile_2 var VTableTestSuite = TestSuite("VTable") open class OtherDerived : Derived { open override func privateMethod() -> Int { return super.privateMethod() + 1 } } public final class OtherFinalDerived : Derived { public override func privateMethod() -> Int { return super.privateMethod() + 1 } } VTableTestSuite.test("Base") { expectEqual(1, callBaseMethod(Base())) } VTableTestSuite.test("Derived") { expectEqual(2, callBaseMethod(Derived())) expectEqual(2, callDerivedMethod(Derived())) } VTableTestSuite.test("OtherDerived") { expectEqual(3, callBaseMethod(OtherDerived())) expectEqual(3, callDerivedMethod(OtherDerived())) } VTableTestSuite.test("OtherFinalDerived") { expectEqual(3, callBaseMethod(OtherFinalDerived())) expectEqual(3, callDerivedMethod(OtherFinalDerived())) } runAllTests()