-
Notifications
You must be signed in to change notification settings - Fork 10.5k
[StdLib] Extend ReflectionHashing test to pass on Linux #905
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[StdLib] Extend ReflectionHashing test to pass on Linux #905
Conversation
Add a test case for X86_64 platforms that do not use Objective-C interop and removes the XFAIL on Linux. Partially resolves SR-216.
Thanks! 👍 |
[StdLib] Extend ReflectionHashing test to pass on Linux
Sorry to rain on your parade, but this broke my Fedora buildbot. Can you please take a look?
|
I'm not familiar with the internal of stdlib but the obvious culprit seems to be that the result of hashing is different. |
@dcci That's exactly the culprit for why the original test failed before I extended it. I'll look into it. |
Status update: Still looking at this. So far, no luck. So far I've confirmed that it still works on my particular install of Ubuntu 14.04 with a full, non-incremental build. I've also explored language and locale settings, but I believe that the test runner filters these out and that stdlib ignores them for the purposes of hashing. |
Status update: I've recently been able to reproduce the under Fedora 23. I'm still debugging the issue to see why the hashes are different. |
[pull] swiftwasm-release/5.3 from release/5.3
Add a test case for X86_64 platforms that do not use Objective-C interop
and removes the XFAIL on Linux. Partially resolves SR-216.
This change passes the normal test suite on OS X 10.10 and Unbuntu 14.04.
The core reason the tests fail is because String is hashed differently depending on whether or not the platform supports the Obj-C runtime. Foundation's hashcode is used when the runtime is present and the built-in hashcode function is used otherwise. This seems reasonable, so I've extended the test with a new case.