Open
Description
There are several ignore-msvc
/ignore-windows
/ignore-windows-msvc
Makefile and rmake.rs (tests that are ported to pure Rust files) run-make tests that have those ignore-*
s because of several common challenges:
- Can't figure out how to build the proper e.g. import lib for dynamic lib to satisfy link.exe.
- Can't figure out the msvc build invocations to generate the desired output artifacts.
- Debug info or object symbol differences versus mingw or linux or apple.
- 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. The test suite is quite tricky to run on Windows, see https://rustc-dev-guide.rust-lang.org/tests/running.html?highlight=run-make#windows, seems to require msys2 + make, binutils, diffutils for the remaining Makefiles.
ignore-msvc
:
- tests/run-make/used/rmake.rs (Update run-make/used to use
any_symbol_contains
#128603) - tests/run-make/no-alloc-shim/Makefile
- tests/run-make/staticlib-dylib-linkage/rmake.rs (run-make: enable msvc for staticlib-dylib-linkage #128823)
- tests/run-make/no-duplicate-libs/rmake.rs (run-make: Enable msvc for
no-duplicate-libs
andzero-extend-abi-param-passing
#128649) - tests/run-make/link-dedup/rmake.rs (run-make: enable msvc for
link-dedup
#128638) - tests/run-make/rust-lld/rmake.rs (Enable msvc for run-make/rust-lld #128656)
- tests/run-make/link-args-order/rmake.rs (Enable msvc for link-args-order #128647)
- tests/run-make/zero-extend-abi-param-passing/rmake.rs (run-make: Enable msvc for
no-duplicate-libs
andzero-extend-abi-param-passing
#128649)
ignore-windows-msvc
:
- tests/run-make/redundant-libs/rmake.rs (run-make: enable msvc for redundant-libs #128804)
- tests/run-make/symbol-visibility/rmake.rs (Use
object
inrun-make/symbols-visibility
#128607) - tests/run-make/extern-fn-reachable/Makefile
- tests/run-make/native-link-modifier-bundle/Makefile
ignore-windows
:
- tests/run-make/naked-symbol-visibility/rmake.rs
- tests/run-make/dep-info/Makefile
- tests/run-make/short-ice/rmake.rs
- tests/run-make/incr-add-rust-src-component/Makefile (symlink)
- tests/run-make/extern-fn-reachable/Makefile
- tests/run-make/dep-info/Makefile
- tests/run-make/dep-info-spaces/Makefile
- tests/run-make/lto-avoid-object-duplication/rmake.rs
- tests/run-make/translation/Makefile (symlink)
- tests/run-make/native-link-modifier-bundle/Makefile
- tests/run-make/textrel-on-minimal-lib/rmake.rs
- tests/run-make/remap-path-prefix-dwarf/Makefile
- tests/run-make/libs-through-symlinks/Makefile (symlink)
- tests/run-make/redundant-libs/Makefile
- 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) (run-make: explaing why fmt-write-bloat is ignore-windows #128807)