<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=""><div><blockquote type="cite" class=""><div class=""><div class="">My only reservation is in regards to the following:<br class=""><br class=""><blockquote type="cite" class="">Executing a test from the terminal will produce user-readable output. This should incorporate colorization and other formatting similar to other testing tools to indicate the success and failure of different tests. [...] An additional option may be passed to the testing command to output JUnit-style XML or other formats that can be integrated with continuous integration (CI) and other systems.<br class=""></blockquote><br class="">swift-corelibs-xctest is currently responsible for its own output--it<br class="">prints test results to stdout. How do the authors of the proposal plan<br class="">to implement colorization and formatting?<br class=""></div></div></blockquote><div><br class=""></div><div>This is a good point.</div><br class=""><blockquote type="cite" class=""><div class=""><div class="">Personally, I believe that the testing framework itself--in this case<br class="">swift-corelibs-xctest--should be responsible for colorization and<br class="">output formatting. I believe swift-corelibs-xctest will soon provide<br class="">an observation API similar to Apple XCTest (adding it has been<br class="">discussed several times; see:<br class=""><a href="https://github.com/apple/swift-corelibs-xctest/pull/40" class="">https://github.com/apple/swift-corelibs-xctest/pull/40</a>,<br class=""><a href="https://lists.swift.org/pipermail/swift-corelibs-dev/2015-December/000034.html" class="">https://lists.swift.org/pipermail/swift-corelibs-dev/2015-December/000034.html</a>).<br class="">Once it does, any user will be able to register whichever output<br class="">formatter they wish.<br class=""></div></div></blockquote><div><br class=""></div><div>The proposal is not specific about who is providing the output. I personally</div><div>expected the testing-framework to provide the default Terminal output</div><div><br class=""></div><blockquote type="cite" class=""><div class=""><div class="">I am concerned to find this proposal for swift-package-manager mention<br class="">output formatting, since I it doesn't seem like output formatters<br class="">belong in swift-package-manager itself, and the API for<br class="">swift-corelibs-xctest hasn't been implemented yet. I suggest deferring<br class="">the discussion on output formatting to a future proposal--it seems<br class="">like something that would be merely nice to have, whereas this<br class="">proposal states "we would like to get testing up to speed as soon as<br class="">possible.”</div></div></blockquote><div><br class=""></div><div>I think the proposal is OK. We’re not clear about who provides the output,</div><div>so nothing is fixed.</div><div><br class=""></div><div>When we work on the alternative testing framework proposal we will go into</div><div>more detail on this matter.</div><div><br class=""></div><div>So TL;DR: for now XCTest will provide the output, colorization can be added</div><div>immediately with some output parsing but is probably better left for the next</div><div>proposal.</div><div><br class=""></div><div>One part of the proposal cannot be met immediately:</div><div><br class=""></div><div></div><blockquote type="cite" class=""><div><span style="color: rgb(51, 51, 51); font-family: 'Helvetica Neue', Helvetica, 'Segoe UI', Arial, freesans, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; font-size: 16px; background-color: rgb(255, 255, 255);" class="">An additional option may be passed to the testing command to output JUnit-style XML or other formats that can be integrated with continuous integration (CI) and other systems.</span></div></blockquote><div><br class=""></div><div><div>It is essential that `swift test` itself can provide some kind of standardized</div><div>output so other tools can use `swift test` as part of larger CI systems.</div><div><br class=""></div><div>However what is sufficient? Is it mandatory for us to output JUnit-esque XML</div><div>for all possible test frameworks? Would that restrict what innovations are</div><div>possible by testing frameworks?</div><div><br class=""></div><div>Is it enough to simply report success or failure for the invocation? CI services</div><div>would then know if the tests ran to success or not and could simply provide</div><div>the output from the test framework as logs.</div></div><div><br class=""></div><div>If we are to provide XML/JSON output as part of this initial implementation</div><div>then we must parse XCTest output or figure out some other way to integrate</div><div>with XCTest so that the output format can be modified.</div><div><br class=""></div><div>Really the proposal should be modified and this part removed pending the</div><div>next proposal, but it would be a shame to delay implementation by a further</div><div>week.</div><div><br class=""></div><div>Max</div></div></body></html>