<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">As Marc noted, can you take a look at:<div class="">&nbsp;&nbsp;<a href="https://github.com/apple/swift-evolution/pull/51/files" class="">https://github.com/apple/swift-evolution/pull/51/files</a><div class="gmail_extra"><div class="gmail_quote">and see if there are specific changes you would propose? It matches most of your proposals, I think.</div><div class="gmail_quote"><br class=""></div></div><div><blockquote type="cite" class=""><div class="">On Dec 13, 2015, at 12:26 PM, Joshua Scott Emmons via swift-build-dev &lt;<a href="mailto:swift-build-dev@swift.org" class="">swift-build-dev@swift.org</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class="">The proposal process for swiftpm is the same as that for Swift; we will submit a proper document later today (if possible) and everyone will be able to submit feedback. It is important to note that our proposal is just as valid as yours, so if you dislike what you read you should feel free to submit your own via the same process. <br class=""></blockquote><br class="">I haven't seen this go up on <a href="http://github.com/apple/swift-package-manager" class="">github.com/apple/swift-package-manager</a> yet — maybe I'm looking in the wrong place? But to kick off some conversation, my own naive proposal would be something like:<br class=""><br class="">* By convention, tests live in "./Tests" relative to "Package.swift" (though this location could be explicitly set in the manifest, just like ./Sources)<br class=""><br class="">* Running `swift test` from the "Package.swift" directory would first build the package libraries, then build everything in "./Tests" linked with those libs.<br class=""></div></div></blockquote><div><br class=""></div>Our intention is to build everything together, and not impose any artificial serialization point.</div><div><br class=""><blockquote type="cite" class=""><div class=""><div class="">* In the fullness of time, the build system would find all subclasses of `XCTestCase`, running each method of said subclass beginning with `test…`<br class=""><br class="">* Until we have the necessary introspection capabilities, though, we can create a "main.swift" file that creates `XCTMain` with the list of tests to run. Once introspection is up to par, we should be able to delete "main.swift" and everything will just work.<br class=""></div></div></blockquote><div><br class=""></div><div>As far as running the tests goes, for now the plan is to just use XCTest's facilities for running all the tests in a "test target" (bundle on OS X, executable on Linux). Evolving those facilities should be done under the auspices of XCTest.</div><div class="gmail_quote"><br class=""></div><div class="gmail_quote">&nbsp;- Daniel</div><div class=""><br class=""></div><blockquote type="cite" class=""><div class=""><div class="">* Subdirectories under "/Tests" could specify different "test suites". Each would have its own "main.swift", to aide in organization of tests for large packages. Test suites could be run individually via argument to the command line.<br class=""><br class="">I'm sure there's tons that's being overlooked here. Comments?<br class=""><br class=""><br class="">-- <br class="">Cheers,<br class="">-jemmons<br class=""><br class=""><br class="">_______________________________________________<br class="">swift-build-dev mailing list<br class=""><a href="mailto:swift-build-dev@swift.org" class="">swift-build-dev@swift.org</a><br class="">https://lists.swift.org/mailman/listinfo/swift-build-dev<br class=""></div></div></blockquote></div><br class=""></div></body></html>