<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div><blockquote type="cite" class=""><div class="">On 16 Nov 2017, at 19:14, Stephen Celis <<a href="mailto:stephen.celis@gmail.com" class="">stephen.celis@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class="">On Nov 16, 2017, at 2:02 PM, Alex Blewitt <<a href="mailto:alblue@apple.com" class="">alblue@apple.com</a>> wrote:<br class=""><br class="">There is a TestFoundation target in the swift-corelibs-foundation project, which can allow the tests to be run against the open source codebase.<br class=""></blockquote><br class="">Sorry, maybe I wasn’t clear, I was wondering if there’s a test suite that regularly runs against _both_ the open-source Foundation implementation _and_ the closed-source Foundation implementation in order to catch inconsistencies across code bases.<br class=""></div></div></blockquote><div><br class=""></div><div>I understood your question, but I can only point to you as to what is available and run on the swift-corelibs-foundation open source project.</div><div><br class=""></div><blockquote type="cite" class=""><div class=""><div class="">I don’t have a strong enough opinion to argue for or against auto-capitalizing the HTTP method, but I _do_ care for consistency across platforms. We have a significant test suite in our code bases with a lot of unit tests and snapshot tests that pass on our dev machines (Mac), but fail on Linux.<br class=""></div></div></blockquote></div><br class=""><div class="">Yes, being consistent between platforms is one of the purposes of the swift-corelibs-foundation project. However, there are both run-time and implementation differences between the two platforms; the existence (or not) of the Objective-C runtime, whether or not comparisons are performed using the rules based on the Darwin version of Foundation or the ICU rules on the open-source version of Foundation, and so on. </div><div class=""><br class=""></div><div class="">Some of the differences are just bugs, in which case we can try and resolve the issues when they're filed at <a href="http://bugs.swift.org" class="">bugs.swift.org</a> or via pull requests on the GitHub repository. Some of the issues are ones where the implementation in the open source version is missing; either because the functionally cannot be implemented (e.g. dynamic unloading of bundles) or because it's not been prioritised yet (e.g. <a href="https://github.com/apple/swift-corelibs-foundation/search?utf8=%E2%9C%93&q=nsunimplemented" class="">https://github.com/apple/swift-corelibs-foundation/search?utf8=✓&q=nsunimplemented</a>). In particular the big items that are missing at the moment are encoder/decoder implementations and those relating to nspredicate/expression, which both can be implemented in runtimes that have dynamic introspection of data structures but which therefore can't be implemented in Linux.</div><div class=""><br class=""></div><div class="">Having said that, if you do find consistency issues which are important to you then please file bugs, and optionally provide pull requests for them. We can help on the mailing list to try and resolve any issues or questions as they arise.</div><div class=""><br class=""></div><div class="">Alex</div></body></html>