rust-lang / rust-lang/rust

run-make: audit the `ignore-{windows,msvc,windows-msvc}` tests

Open
#128,602 13 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-run-make A-testsuite C-bug O-windows T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

There are several ignore-msvc/ignore-windows/ignore-windows-msvc run-make tests that have those ignore-*s because of several common challenges:

  1. Can't figure out how to build the proper e.g. import lib for dynamic lib to satisfy link.exe.
  2. Can't figure out the msvc build invocations to generate the desired output artifacts.
  3. Debug info or object symbol differences versus mingw or linux or apple.
  4. Weird appearance of unexpected symbols or lack of expected symbols.

It would be great and super helpful if Windows experts could take a look at them, and see if some of the ignore-*s can be resolved or otherwise how we can expand the tests to cover msvc as well, or have proper reasons why they must be ignore-*'d.
ignore-msvc:

ignore-windows-msvc:

ignore-windows:

  • tests/run-make/naked-symbol-visibility/rmake.rs
  • tests/run-make/dep-info/rmake.rs
  • tests/run-make/short-ice/rmake.rs
  • tests/run-make/incr-add-rust-src-component/rmake.rs (symlink)
  • tests/run-make/extern-fn-reachable/rmake.rs
  • tests/run-make/dep-info/rmake.rs
  • tests/run-make/dep-info-spaces/rmake.rs
  • tests/run-make/lto-avoid-object-duplication/rmake.rs
  • tests/run-make/translation/rmake.rs (symlink)
  • tests/run-make/native-link-modifier-bundle/rmake.rs
  • tests/run-make/textrel-on-minimal-lib/rmake.rs
  • tests/run-make/remap-path-prefix-dwarf/rmake.rs
  • tests/run-make/libs-through-symlinks/rmake.rs (symlink)
  • tests/run-make/redundant-libs/rmake.rs
  • tests/run-make/reproducible-build-2/rmake.rs (the symlink part might be possible with needs-symlink, unsure about reproducible paths)
  • tests/run-make/fmt-write-bloat/rmake.rs (no_std test) (https://github.com/rust-lang/rust/pull/128807)

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by auditing the unchecked tests under tests/run-make, including naked-symbol-visibility, lto-avoid-object-duplication, textrel-on-minimal-lib, remap-path-prefix-dwarf, and reproducible-build-2, alongside the existing checked items. Run the relevant tests on Windows MSVC and either expand coverage by removing justified ignores or document why each ignore must remain.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, operating-systems, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.