Skip to content

Tests started to fail on macOS on the most recent master #1067

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

Closed
pepyakin opened this issue Oct 9, 2017 · 5 comments
Closed

Tests started to fail on macOS on the most recent master #1067

pepyakin opened this issue Oct 9, 2017 · 5 comments

Comments

@pepyakin
Copy link
Contributor

pepyakin commented Oct 9, 2017

745d606 made tests on my local macOS machine to fail.

$ sw_vers

ProductName:    Mac OS X
ProductVersion:    10.12.6
BuildVersion:    16G29
$ clang --version

Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.7.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin

Here is build log.

@emilio
Copy link
Contributor

emilio commented Oct 9, 2017

Hmm, right. Now we have the problem that symbols on those platforms are actually different. :(

@emilio
Copy link
Contributor

emilio commented Oct 9, 2017

So, options I'm seeing:

  • Run tests with a linux64 target by default. That's easiest, but likely misses support? Also, test_expectations probably won't build.

  • Reverting that for now, or hiding it behind an option. We really want proper unmangled symbols instead of tracking down all the platforms it affects.

  • Add tests per-platform, and run them with different --target values.

  • Make the runner ignore trivial link_name differences?

@liranringel
Copy link
Contributor

liranringel commented Oct 9, 2017

@emilio As I understand it, the functionality is correct, but the tests need refactor.
That fix is something I've been waiting for some time (for the ipconfig and trust-dns crates), and it's unfortunate if it won't land on version 0.31.

I prefer the option to ignore link_name differences. We probably don't want to make different expectation file for every platform, and I believe we can trust clang to produce the correct mangling.

@emilio
Copy link
Contributor

emilio commented Oct 9, 2017

Right, I agree, and I think reverting would be really unfortunate. We probably just need an easy way to update tests for all platforms (can be done with --target) and build tests for the correct platform.

@fitzgen
Copy link
Member

fitzgen commented Oct 10, 2017

Run tests with a linux64 target by default. That's easiest, but likely misses support? Also, test_expectations probably won't build.

Inserting an implicit --target if there isn't one explicitly specified is probably easiest.

Note that the test expectations don't actually call any of the declared functions, so we won't get link errors (otherwise, we would get them now).

bors-servo pushed a commit that referenced this issue Oct 11, 2017
Make the default target for expectation files as x86_64-unknown-linux

Solves #1067
I didn't check it on macos because I don't have one, but it will be a surprise if it doesn't work.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants