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

Paul Cantrell cantrell at pobox.com
Tue Jan 5 14:21:52 CST 2016


Thanks for the clarifications. This helps me understand much better how the proposal plays out.

> On Jan 5, 2016, at 2:14 PM, Max Howell <max.howell at apple.com> wrote:
> 
>> 1. The proposal talks in several places about “test modules” (for example, “test-module is created per subdirectory of Tests”). How do these test modules interact with Package.swift? Does each of them have a separate target? If so, how is the test module name specified in the Target(…) entry?
> 
> There is no support for referring to test targets in the Package.swift as part of this proposal.
> 
>> 2. Perhaps answered by #1, how does Package.swift specify test-only dependencies (e.g. Quick) that are necessary to build tests, but should not be exported to downstream projects?
> 
> This is already a part of the package manager: https://github.com/apple/swift-package-manager/pull/74

Cool. Hadn’t seen the private dependencies yet.

Taking 1 and 2 together, does that mean that all dependencies necessary for _all_ the test modules must be downloaded & compiled in order to run _any_ or them? Not ideal, but not a deal-killer either.

> 
>> 3. You propose that “building a module also builds that module's corresponding tests.” Does this apply only to the top-level package, or to all of its dependencies? For example, if my FooApp depends on BarLib, and BarLib’s tests depend on HugeFancyTestFramework, do I have to download and compile HugeFancyTestFramework in order to build FooApp? (Hopefully not!)
> 
> HugeFancyTestFramework will not be downloaded or built.

That’s a relief!

Cheers,

Paul



More information about the swift-evolution mailing list