Skip to content
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

1.30 beta.7 const-related tests fails on multiple architectures #54546

Closed
infinity0 opened this issue Sep 25, 2018 · 3 comments
Closed

1.30 beta.7 const-related tests fails on multiple architectures #54546

infinity0 opened this issue Sep 25, 2018 · 3 comments
Labels
A-const-eval Area: constant evaluation (mir interpretation)

Comments

@infinity0
Copy link
Contributor

arch const-eval/double_check{,2} const-size_of-cycle invalid_const_promotion
armv7-hf ok failed ok
aarch64 ok failed failed
ppc64 failed failed failed
s390x failed failed ok
@karcherm
Copy link
Contributor

const-eval/double_check (and its sibling) fail on all Big-Endian architectures, because the Enums are not represented in usize, so casting a pointer to the usize-constant 5 or 42 does not yield a pointer to a (probably u8-sized) Enum with the value 5 or 42, but the value 0 instead, as Big-Endian architectures have the more significant bytes containing 0x00 before the interesting byte containing 5 or 42.

@karcherm
Copy link
Contributor

This has already been fixed in HEAD by 283f2be.

@oli-obk oli-obk closed this as completed Jan 28, 2019
@oli-obk
Copy link
Contributor

oli-obk commented Jan 28, 2019

ah, this only fixes the enum test. So const-size_of-cyle and invalid_const_promotion still need fixing

@oli-obk oli-obk reopened this Jan 28, 2019
Centril added a commit to Centril/rust that referenced this issue Dec 20, 2019
Teach `compiletest` to ignore platform triples

The UI tests are written assuming `--remap-path-prefix` is *not used* (`remap-debuginfo` in `config.toml`). The consequence is that the error messages may include paths and snippets into the standard library. When `remap-debuginfo` is enabled, these messages change in format and structure because `rustc` will not show paths and snippets into the standard library.

This normally isn't a problem for the "main" platforms (linux/macos/windows), because the CI infrastructure is set up so that the tests run without `remap-debuginfo`, but the `dist` artifacts are built separately with `remap-debuginfo` enabled. However, some of the lower-tier platforms perform both tests and distribution in a single step with `remap-debuginfo` enabled. This also affects developers and distributors who use `remap-debuginfo`.

To sidestep this problem, we add a way to ignore tests in specific platform triples, and update the overly broad `ignore-x86` rule in affected tests.

Address rust-lang#46948, rust-lang#54546, rust-lang#53081.
bors added a commit that referenced this issue Dec 28, 2019
Teach `compiletest` to ignore platform triples

The UI tests are written assuming `--remap-path-prefix` is *not used* (`remap-debuginfo` in `config.toml`). The consequence is that the error messages may include paths and snippets into the standard library. When `remap-debuginfo` is enabled, these messages change in format and structure because `rustc` will not show paths and snippets into the standard library.

This normally isn't a problem for the "main" platforms (linux/macos/windows), because the CI infrastructure is set up so that the tests run without `remap-debuginfo`, but the `dist` artifacts are built separately with `remap-debuginfo` enabled. However, some of the lower-tier platforms perform both tests and distribution in a single step with `remap-debuginfo` enabled. This also affects developers and distributors who use `remap-debuginfo`.

To sidestep this problem, we add a way to ignore tests in specific platform triples, and update the overly broad `ignore-x86` rule in affected tests.

Address #46948, #54546, #53081.
@oli-obk oli-obk closed this as completed Nov 5, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-const-eval Area: constant evaluation (mir interpretation)
Projects
None yet
Development

No branches or pull requests

4 participants