Lou, Wow, this is awesome!! Excellent work.
I have a few ideas as to why you’re not actually seeing any tests run: 1. swift-corelibs-xctest expects users to run tests via the XCTMain() function <https://github.com/apple/swift-corelibs-xctest/blob/96144ded862f402a742345b38f8324cf108f0398/Sources/XCTest/Public/XCTestMain.swift#L52>. I’m not sure it’s appropriate for your use case, since the function calls exit() directly (and thus has a return type of Never). If it does fits your use case, I’d suggest using it, since all of swift-corelibs-xctest’s regression tests assume this function is called. 2. swift-corelibs-xctest lacks the runtime reflection used by Apple XCTest, and so requires users to list their test methods <https://github.com/apple/swift-corelibs-xctest/blob/1f00ab2c677d9c226dea8fa3f541999d6f4405b6/Sources/XCTest/Private/XCTestCaseSuite.swift#L31>. I think you may see the testIt() output by adding the following: class MyTest : XCTestCase { + static var allTests = {+ return [+ ("testIt", testIt),+ ]+ }() override func setUp() { Let me know if that works! - Brian Gesiak On Mon, Aug 8, 2016 at 3:25 PM, Lou Zell via swift-users < [email protected]> wrote: > Greetings, > > I am close to getting XCTests running in the swift repl, but for some > reason my tests are never invoked. Does anyone have a suggestion or see > something wrong with the test setup? > > $ xcrun swift -F /Applications/Xcode-beta.app/ > Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks > > import Foundation // If you're copy pasting, copy paste these individually!// > If you get a null pointer back, use perror(dlerror()) to get a description of > the > errordlopen("/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework/Versions/A/XCTest", > > RTLD_NOW)dlopen("/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/macosx/libswiftXCTest.dylib", > RTLD_NOW)import XCTest > class MyTest : XCTestCase { > override func setUp() { > super.setUp() > print("Setting up") > } override func tearDown() { > super.tearDown() print("Tearing down") > } > func testIt() { > print("I'm never here") > XCTAssertTrue(false, "I never see this!") > } } > > let suite = XCTestSuite(name: "foo")suite.addTest(MyTest())suite.run() > > I see the "setting up" and "tearing down" output, but I never see the > print inside -testIt. Any ideas? > > Thanks, > Lou > > > _______________________________________________ > swift-users mailing list > [email protected] > https://lists.swift.org/mailman/listinfo/swift-users > >
_______________________________________________ swift-users mailing list [email protected] https://lists.swift.org/mailman/listinfo/swift-users
