[swift-corelibs-dev] SR-6405: URLRequest does not capitalise HTTP methods

Alex Blewitt alblue at apple.com
Thu Nov 16 13:57:29 CST 2017

> On 16 Nov 2017, at 19:14, Stephen Celis <stephen.celis at gmail.com> wrote:
>> On Nov 16, 2017, at 2:02 PM, Alex Blewitt <alblue at apple.com> wrote:
>> There is a TestFoundation target in the swift-corelibs-foundation project, which can allow the tests to be run against the open source codebase.
> 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.

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.

> 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.

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. 

Some of the differences are just bugs, in which case we can try and resolve the issues when they're filed at bugs.swift.org <http://bugs.swift.org/> 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. https://github.com/apple/swift-corelibs-foundation/search?utf8=✓&q=nsunimplemented <https://github.com/apple/swift-corelibs-foundation/search?utf8=%E2%9C%93&q=nsunimplemented>). 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.

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.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20171116/e37f24fc/attachment.html>

More information about the swift-corelibs-dev mailing list