[swift-build-dev] [swift-evolution] [Review] SE-0019 Swift Testing (Package Manager)

Max Howell max.howell at apple.com
Fri Jan 8 13:57:15 CST 2016

There is certainly a difference between Swift (the language) evolution proposals and SwiftPM evolution proposals.

Language features should be considered unchangeable (you might have to change them one day, but to do so is painful to the ecosystem)

SwiftPM is a tool, we can change it, especially since it is pre-1.0, we should be careful still, but our proposals are submitted here with the understanding that they are foundations, and not complete solutions. We will iterate

We can reverse decisions. For example, building tests by default is controversial, and perhaps it is unwise. We’ll find out in due course, I for one have no problem with reversing a decision provided it is proved incorrect.

Honestly I am leaning towards thinking it is idealist and not practical already, but I’d still like to try it out and see.

> lack of clarity about how to run individual test modules from the command line,

I imagine it would be `swift test foo` where foo is the test module name.

> lack of clarity about which test modules are run by default with “swift test” (“all of them” is probably the wrong answer),

Why is all of them the wrong answer? It seems to be the only sensible default to me. Clearly there should be a way to configure that in Package.swift, but that is for another proposal.

> lack of clarity about how test modules interact with Package.swift, and related to that, how a project should specify build configuration and dependencies specific to a particular test module,

We already have a testDependencies option in Package.swift, hence the lack of clarity here. However Package.swift needs a rethink IMO. I plan to propose changes in a few weeks after seeing it in the wild for longer.

Thanks for your input Paul,

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-build-dev/attachments/20160108/4e63b96f/attachment.html>

More information about the swift-build-dev mailing list