6. x86-64 Linux (glibc)¶
This page outlines the testing of Ferrocene rolling (based on Rust 1.85.0) in the following environment:
Target name |
Target triple |
|
---|---|---|
Host platform: |
x86-64 Linux (glibc) |
|
Compilation target: |
x86-64 Linux (glibc) |
|
6.1. Test results¶
The following are the results of the Ferrocene test suites. For further details of each test suite, refer to Evaluation Report : Qualification Method.
6.1.1. Compiletest Test Suite¶
Test suite: RUSTC_TS1_COMP
The following compiletest suites were executed as part of this test suite:
Compiletest suite |
Passed tests |
Ignored tests |
Failed tests |
Total tests |
---|---|---|---|---|
|
476 |
38 |
0 |
514 |
|
714 |
63 |
0 |
777 |
|
42 |
0 |
0 |
42 |
|
90 |
2 |
0 |
92 |
|
90 |
2 |
0 |
92 |
|
1 |
0 |
0 |
1 |
|
230 |
0 |
0 |
230 |
|
136 |
22 |
0 |
158 |
|
168 |
0 |
0 |
168 |
|
307 |
4 |
0 |
311 |
|
79 |
2 |
0 |
81 |
|
356 |
54 |
0 |
410 |
|
729 |
3 |
0 |
732 |
|
59 |
0 |
0 |
59 |
|
137 |
0 |
0 |
137 |
|
296 |
4 |
0 |
300 |
|
18387 |
150 |
0 |
18537 |
|
64 |
0 |
0 |
64 |
6.1.2. Library Test Suite¶
Test suite: RUSTC_TS2_LIBR
Crate name |
Passed tests |
Ignored tests |
Failed tests |
Total tests |
---|---|---|---|---|
|
2411 |
21 |
0 |
2432 |
|
2791 |
4 |
0 |
2795 |
|
7178 |
48 |
0 |
7226 |
|
1 |
2 |
0 |
3 |
|
57 |
1 |
0 |
58 |
6.1.3. Compiler Test Suite¶
Test suite: RUSTC_TS3_CRAT
Crate name |
Passed tests |
Ignored tests |
Failed tests |
Total tests |
---|---|---|---|---|
|
6 |
0 |
0 |
6 |
|
15 |
0 |
0 |
15 |
|
10 |
9 |
0 |
19 |
|
41 |
0 |
0 |
41 |
|
62 |
1 |
0 |
63 |
|
4 |
10 |
0 |
14 |
|
30 |
0 |
0 |
30 |
|
0 |
1 |
0 |
1 |
|
19 |
9 |
0 |
28 |
|
95 |
0 |
0 |
95 |
|
1 |
2 |
0 |
3 |
|
137 |
0 |
0 |
137 |
|
35 |
3 |
0 |
38 |
|
121 |
1 |
0 |
122 |
|
16 |
0 |
0 |
16 |
|
29 |
4 |
0 |
33 |
|
45 |
0 |
0 |
45 |
|
1 |
0 |
0 |
1 |
|
0 |
3 |
0 |
3 |
|
17 |
0 |
0 |
17 |
|
6 |
6 |
0 |
12 |
|
42 |
23 |
0 |
65 |
|
44 |
1 |
0 |
45 |
|
32 |
0 |
0 |
32 |
|
1 |
0 |
0 |
1 |
|
34 |
0 |
0 |
34 |
|
24 |
0 |
0 |
24 |
|
253 |
6 |
0 |
259 |
|
118 |
25 |
0 |
143 |
|
1 |
0 |
0 |
1 |
|
7 |
8 |
0 |
15 |
|
76 |
0 |
0 |
76 |
|
75 |
53 |
0 |
128 |
|
38 |
16 |
0 |
54 |
|
15 |
2 |
0 |
17 |
|
18 |
19 |
0 |
37 |
|
14 |
2 |
0 |
16 |
|
0 |
9 |
0 |
9 |
|
231 |
11 |
0 |
242 |
|
19 |
0 |
0 |
19 |
|
174 |
0 |
0 |
174 |
|
27 |
4 |
0 |
31 |
|
7 |
0 |
0 |
7 |
|
2 |
1 |
0 |
3 |
|
68 |
8 |
0 |
76 |
|
33 |
0 |
0 |
33 |
|
52 |
0 |
0 |
52 |
|
0 |
2 |
0 |
2 |
|
39 |
4 |
0 |
43 |
|
278 |
0 |
0 |
278 |
|
36 |
20 |
0 |
56 |
|
15 |
0 |
0 |
15 |
|
8 |
1 |
0 |
9 |
|
9 |
16 |
0 |
25 |
|
1 |
3 |
0 |
4 |
6.1.4. Linkchecker Test Suite¶
Test suite: RUSTC_TS4_LINK
The linkchecker suite is a pass/fail test suite integrated into the Ferrocene CI infrastructure.
The linkchecker test suite is verified as part of Build and Test Phase 2: Full Build and Test. As indicated in Development Process, a PR is merged into the repository only when it passes full testing.
As a result, the linkchecker test suite reports a pass for this qualification.
6.1.5. Build System Test Suite¶
Test suite: RUSTC_TS6_BSYS
Crate name |
Passed tests |
Ignored tests |
Failed tests |
Total tests |
---|---|---|---|---|
N/A |
60 |
0 |
0 |
60 |
6.1.6. Tidy Test Suite¶
Test suite: RUSTC_TS7_TIDY
The tidy suite is a pass/fail test suite integrated into the Ferrocene CI infrastructure.
The tidy test suite is verified as part of Build and Test Phase 2: Full Build and Test. As indicated in Development Process, a PR is merged into the repository only when it passes full testing.
As a result, the tidy test suite reports a pass for this qualification.
6.1.7. Self-Test Test Suite¶
Test suite: RUSTC_TS8_SELF
The self-test suite is a pass/fail test suite integrated into the Ferrocene CI infrastructure.
The self-test test suite is verified as part of Build and Test Phase 2: Full Build and Test. As indicated in Development Process, a PR is merged into the repository only when it passes full testing.
As a result, the self-test test suite reports a pass for this qualification.
6.2. Ignored Tests¶
The following table presents the 349 tests that were ignored by our infrastructure for x86-64 Linux (glibc), along with the reason as to why they were ignored.
Test name |
Ignore reason |
---|---|
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is x86 |
|
only executed when the architecture is nvptx64 |
|
only executed when the architecture is nvptx64 |
|
only executed when the architecture is nvptx64 |
|
only executed when the architecture is nvptx64 |
|
only executed when the architecture is nvptx64 |
|
only executed when the architecture is nvptx64 |
|
only executed when the architecture is nvptx64 |
|
only executed when the architecture is nvptx64 |
|
only executed when the architecture is nvptx64 |
|
only executed when the architecture is nvptx64 |
|
only executed when the architecture is nvptx64 |
|
only executed when the architecture is nvptx64 |
|
ignored when the LLVM version 19.1.5 is older than 20.0.0 |
|
only executed when the architecture is aarch64 |
|
only executed when the operating system is windows |
|
ignored when the pointer width is 64bit (64-bit table based SEH has slightly different behaviors than classic SEH) |
|
ignored when the pointer width is 64bit (64-bit table based SEH has slightly different behaviors than classic SEH) |
|
ignored when the pointer width is 64bit (64-bit table based SEH has slightly different behaviors than classic SEH) |
|
ignored when the pointer width is 64bit (64-bit table based SEH has slightly different behaviors than classic SEH) |
|
ignored when the pointer width is 64bit (64-bit table based SEH has slightly different behaviors than classic SEH) |
|
only executed when the target environment is msvc |
|
only executed when the target environment is msvc |
|
only executed when the target environment is msvc |
|
only executed when the target environment is msvc |
|
only executed when the target environment is msvc |
|
only executed when the architecture is wasm32 |
|
only executed when the architecture is x86 |
|
only executed when the operating system is windows |
|
ignored when the LLVM version 19.1.5 is older than 20.0.0 |
|
only executed when the target is x86_64-fortanix-unknown-sgx |
|
only executed when the target is x86_64-fortanix-unknown-sgx |
|
only executed when the target is x86_64-fortanix-unknown-sgx |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the architecture is avr |
|
only executed when the architecture is msp430 |
|
only executed when the architecture is x86 |
|
only executed when the architecture is x86 |
|
only executed when the architecture is x86 |
|
only executed when the target environment is msvc |
|
ignored when std is built with debug assertions |
|
only executed when the architecture is bpf |
|
ignored when the LLVM version (19.1.5) is newer than majorversion 18 |
|
ignored when the LLVM version (19.1.5) is newer than majorversion 18 |
|
ignored when the LLVM version (19.1.5) is newer than majorversion 18 |
|
ignored when the LLVM version (19.1.5) is newer than majorversion 18 |
|
ignored when the LLVM version (19.1.5) is newer than majorversion 18 |
|
ignored when the LLVM version (19.1.5) is newer than majorversion 18 |
|
only executed when the target environment is msvc |
|
only executed when the target environment is msvc |
|
only executed when the target environment is msvc |
|
only executed when the operating system is windows |
|
only executed when the target environment is msvc |
|
only executed when the target environment is msvc |
|
only executed when the target is loongarch64-unknown-linux-gnu |
|
only executed when the target is loongarch64-unknown-linux-gnu |
|
only executed when the target is loongarch64-unknown-linux-gnu |
|
ignored when the target environment is gnu |
|
only executed when the pointer width is 32bit |
|
only executed when the architecture is x86 |
|
only executed when the pointer width is 32bit |
|
only executed when the architecture is x86 |
|
only executed when the target vendor is Apple |
|
only executed when the operating system is windows |
|
ignored when the LLVM version 19.1.5 is older than 20.0.0 |
|
only executed when the pointer width is 16bit |
|
only executed when the operating system is windows |
|
only executed when the architecture is x86 |
|
only executed when the architecture is x86 |
|
only executed when the operating system is windows |
|
only executed when the architecture is loongarch64 |
|
ignored when std is built with debug assertions |
|
ignored when std is built with debug assertions |
|
only executed when the pointer width is 32bit |
|
only executed when the target environment is msvc |
|
only executed when the operating system is windows |
|
only executed when the pointer width is 32bit |
|
ignored always (this is not a test) |
|
only executed when the architecture is riscv64 |
|
only executed when the architecture is loongarch64 |
|
only executed when the architecture is riscv64 |
|
ignored on targets without memory tagging sanitizer |
|
ignored on targets without shadow call stacks |
|
ignored when std is built with debug assertions ((debug assertions prevent generating shufflevector)) |
|
only executed when the target is x86_64-pc-windows-msvc |
|
ignored when the LLVM version 19.1.5 is older than 20.0.0 |
|
only executed when the pointer width is 32bit |
|
only executed when the pointer width is 32bit |
|
only executed when the architecture is x86 |
|
ignored when std is built with debug assertions ((FIXME: checks for call detect scoped noalias metadata)) |
|
ignored when std is built with debug assertions ((plain old debug assertions)) |
|
ignored when std is built with debug assertions |
|
ignored when std is built with debug assertions ((FIXME: checks for call detect scoped noalias metadata)) |
|
ignored when std is built with debug assertions ((plain old debug assertions)) |
|
ignored when the pointer width is 64bit |
|
only executed when the architecture is wasm32 |
|
only executed when the architecture is wasm32 |
|
ignored when the test mode is coverage-map |
|
ignored when the test mode is coverage-map |
|
ignored when the test mode is coverage-run |
|
ignored when the test mode is coverage-run |
|
ignored when the GDB version is lower than 13.0 |
|
ignored always (#128971) |
|
only executed when the debugger is cdb |
|
only executed when the target environment is msvc |
|
ignored when the GDB version is lower than 10.1 |
|
ignored when the GDB version is lower than 10.1 |
|
ignored when the debugger is gdb |
|
ignored when the GDB version is lower than 11.2 |
|
ignored when the debugger is gdb |
|
ignored when the GDB version is lower than 13.0 |
|
only executed when the debugger is cdb |
|
ignored when the GDB version is lower than 13.0 |
|
ignored when the debugger is gdb |
|
only executed when the debugger is cdb |
|
ignored when the GDB version is lower than 10.1 |
|
ignored when the GDB version is lower than 13.0 |
|
ignored when the debugger is gdb |
|
only executed when the debugger is cdb |
|
ignored when the GDB version is lower than 14.0 |
|
ignored when the debugger is gdb |
|
only executed when the operating system is macos |
|
only executed when the operating system is windows |
|
ignored always (The test is extremely slow due to debug assertions being enabled) |
|
ignored when std is built with debug assertions |
|
ignored when std is built with debug assertions ((precondition checks are under cfg(debug_assertions))) |
|
ignored when std is built with debug assertions ((precondition checks on ptr::add are under cfg(debug_assertions))) |
|
ignored when LLVM Enzyme is disabled |
|
ignored when LLVM Enzyme is disabled |
|
only executed when the target vendor is Apple |
|
only executed when the target vendor is Apple |
|
ignored always |
|
only executed when the operating system and target environment are windows-gnu |
|
ignored if LLVM wasn’t build with zstd for ELF section compression (we want LLVM/LLD to be built with zstd support) |
|
ignored when RUSTBUILD_FORCE_CLANG_BASED_TESTS is not set |
|
ignored when RUSTBUILD_FORCE_CLANG_BASED_TESTS is not set |
|
ignored when RUSTBUILD_FORCE_CLANG_BASED_TESTS is not set |
|
only executed when the operating system is windows |
|
only executed when the architecture is aarch64 |
|
only executed when the operating system is windows (other platforms do not have Windows verbatim paths) |
|
ignored when RUSTBUILD_FORCE_CLANG_BASED_TESTS is not set |
|
only executed when the target vendor is Apple |
|
only executed when the target vendor is Apple |
|
only executed when the operating system is windows |
|
only executed when the target vendor is Apple |
|
only executed when the target is x86_64-pc-windows-gnu |
|
only executed when the target is x86_64-pc-windows-msvc |
|
only executed when the target environment is msvc |
|
only executed when the target is aarch64-unknown-linux-gnu |
|
only executed when the target is x86_64-pc-windows-msvc |
|
only executed when the operating system and target environment are windows-msvc |
|
only executed when the operating system and target environment are windows-msvc |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
ignored when dlltool for the current architecture is not present |
|
ignored when dlltool for the current architecture is not present |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
ignored when the release channel is nightly |
|
only executed when the architecture is part of the Thumb family |
|
only executed when the architecture is part of the Thumb family |
|
only executed when the target vendor is Apple |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the target is WASM |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the target is wasm32-wasip1 |
|
ignored when RUSTBUILD_FORCE_CLANG_BASED_TESTS is not set |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the operating system is windows |
|
only executed when the target is x86_64-pc-windows-msvc |
|
only executed when the operating system is windows |
|
only executed when the target environment is msvc |
|
only executed when the target is x86_64-fortanix-unknown-sgx |
|
only executed when the architecture is aarch64 |
|
ignored always ((FIXME: #125092)) |
|
ignored always ((fails spuriously, see issue #89228)) |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is x86 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is x86 |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the operating system and target environment are windows-msvc |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
ignored when the LLVM version is between 19.0.0 and 99.0.0 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
only executed when the architecture is aarch64 |
|
ignored when the LLVM version is between 19.0.0 and 99.0.0 |
|
only executed when the architecture is aarch64 |
|
ignored when the LLVM version is between 19.0.0 and 99.0.0 |
|
ignored when the LLVM version is between 19.0.0 and 99.0.0 |
|
ignored when the LLVM version is between 19.0.0 and 99.0.0 |
|
ignored when the LLVM version is between 19.0.0 and 99.0.0 |
|
ignored when LLVM Enzyme is disabled |
|
only executed when the target vendor is Apple |
|
ignored always ((auxiliary, used by other tests)) |
|
only executed when the architecture is arm |
|
only executed when the target environment is msvc |
|
ignored always ((auxiliary, used by other tests)) |
|
ignored always ((auxiliary, used by other tests)) |
|
only executed when the architecture is wasm32 |
|
ignored always ((auxiliary, used by other tests)) |
|
only executed when the target environment is msvc |
|
only executed when the target environment is msvc |
|
ignored always (not a test, auxiliary) |
|
ignored always (not a test, auxiliary) |
|
ignored always (this is not a test) |
|
ignored always (this is not a test) |
|
ignored always (this is not a test) |
|
ignored always (tail calls are not implemented in rustc_codegen_ssa yet, so this causes 🧊) |
|
only executed when the architecture is x86 |
|
only executed when the architecture is x86 |
|
only executed when the architecture is x86 |
|
ignored when LLVM Enzyme is disabled |
|
ignored when LLVM Enzyme is disabled |
|
ignored when the release channel is nightly |
|
only executed when the architecture is x86 |
|
only executed when the architecture is x86 |
|
ignored always |
|
ignored always ((#54987)) |
|
ignored always ((rustfix needs multiple suggestions)) |
|
only executed when the pointer width is 32bit (too impatient for 2⁶⁴ items) |
|
only executed when the pointer width is 32bit (too impatient for 2⁶⁴ items) |
|
only executed when the pointer width is 32bit (too impatient for 2⁶⁴ items) |
|
only executed when the pointer width is 32bit (too impatient for 2⁶⁴ items) |
|
only executed when the pointer width is 32bit (too impatient for 2⁶⁴ items) |
|
ignored always (Not a test. Used by other tests) |
|
only executed when the pointer width is 32bit (Layout computation rejects this layout for different reasons on 64-bit.) |
|
only executed when the architecture is x86 |
|
ignored when the pointer width is 64bit |
|
ignored when the pointer width is 64bit |
|
only executed when the target environment is msvc |
|
only executed when the operating system is ios |
|
only executed when the operating system is tvos |
|
only executed when the operating system is visionos |
|
only executed when the operating system is watchos |
|
ignored always (FIXME(81658, 83171)) |
|
ignored always (auxiliary file for expansion-time.rs) |
|
ignored always (not a test) |
|
ignored always (not a test) |
|
ignored always |
|
only executed when the architecture is aarch64 |
|
ignored always (auxiliary file for include-single-expr.rs) |
|
ignored always (auxiliary file for include-single-expr.rs) |
|
ignored always (this is an auxiliary file as part of another test.) |
|
ignored always (this is an auxiliary file as part of another test.) |
|
ignored always ((auxiliary, used by other tests)) |
|
ignored always ((#54987)) |
|
ignored always ((#54987)) |
|
only executed when the target is i686-pc-windows-msvc |
|
ignored always (this is just a helper for the real test in this dir) |
|
ignored always (this is just a helper for the real test in this dir) |
|
ignored always (Not a test. Used by other tests) |
|
ignored always (Not a test. Used by other tests) |
|
ignored always (not a test. aux file) |
|
only executed when the operating system is windows |
|
ignored always (not a test, used by non_modrs_mods.rs) |
|
ignored always (not a test) |
|
ignored always ((auxiliary, used by other tests)) |
|
only executed when the architecture is wasm32 |
|
only executed when the target is x86_64-pc-windows-msvc |
|
only executed when the target is x86_64-pc-windows-msvc |
|
ignored always (this is an auxiliary file for circular-modules-main.rs) |
|
ignored always (this is an auxiliary file for circular-module-with-doc-comment-issue-97589.rs) |
|
ignored always (Not a test. Used by issue-48508.rs) |
|
only executed when the operating system is windows |
|
ignored always |
|
ignored always |
|
ignored always |
|
ignored always |
|
ignored always |
|
ignored always |
|
only executed when the target vendor is Apple |
|
ignored when std is built with debug assertions ((debug assertions will print more types)) |
|
ignored always ((auxiliary, used by other tests)) |
|
ignored always ((auxiliary, used by other tests)) |
|
ignored always ((auxiliary, used by other tests)) |
|
ignored always ((auxiliary, used by other tests)) |
|
ignored always ((auxiliary, used by other tests)) |
|
ignored always ((auxiliary, used by other tests)) |
|
ignored when dlltool for the current architecture is not present |
|
only executed when the architecture is x86 |
|
only executed when the architecture is x86 |
|
only executed when the architecture is x86 |
|
only executed when the architecture is x86 |
|
only executed when the operating system is windows |
|
ignored when dlltool for the current architecture is not present |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
ignored always (not a test, used by backtrace-debuginfo.rs to test file!()) |
|
only executed when the operating system is windows |
|
ignored on targets without hardware-assisted address sanitizer |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the operating system is windows |
|
only executed when the architecture is x86 |
|
ignored when the target environment is gnu (vectorcall is not supported by GCC: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89485) |
|
only executed when the architecture is aarch64 |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the architecture is x86 |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the target is wasm32-wasip1 |
|
only executed when the architecture is wasm32 |
|
ignored always |
|
only executed when the architecture is wasm32 |
|
only executed when the architecture is wasm32 |
|
only executed when the architecture is wasm32 |
|
only executed when the architecture is wasm32 |
|
high time cost of running test |
|
high resource cost of running test |
|
high resource cost of running test |
|
buildbots don’t have ncurses installed and I can’t mock everything I need |
|
No reason provided. |
Note
The 373 ignored documentation tests are not included here.
Rust’s documentation and testing tooling considers all snippets of code in the generated documentation to be a test by default, and snippets that are not meant to be valid Rust code (or Rust code at all) would cause test failures if not ignored explicitly.
Because of that, we don’t consider ignored documentation tests to be valid tests that were skipped by our testing infrastructure: we consider them not to be tests at all.