Skip to content

Commit

Permalink
Verify bin crates are not deterministic on Windows
Browse files Browse the repository at this point in the history
This disables the remap_cwd_bin test which is failing on windows,
and adds a test for --remap-path-prefix making a bin crate
instead, to see if it will fail the same way.
  • Loading branch information
danakj committed Sep 15, 2021
1 parent 2a687de commit 4933be9
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 3 deletions.
5 changes: 5 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -534,6 +534,11 @@ jobs:
strategy:
matrix:
include:
- name: x86_64-msvc-1
env:
RUST_CONFIGURE_ARGS: "--build=x86_64-pc-windows-msvc --enable-profiler"
SCRIPT: make ci-subset-1
os: windows-latest-xl
- name: dist-x86_64-linux
os: ubuntu-latest-xl
env: {}
Expand Down
5 changes: 5 additions & 0 deletions src/ci/github-actions/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -668,6 +668,11 @@ jobs:
strategy:
matrix:
include:
- name: x86_64-msvc-1
env:
RUST_CONFIGURE_ARGS: --build=x86_64-pc-windows-msvc --enable-profiler
SCRIPT: make ci-subset-1
<<: *job-windows-xl
- *dist-x86_64-linux

master:
Expand Down
24 changes: 21 additions & 3 deletions src/test/run-make-fulldeps/reproducible-build/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,18 @@ all: \
opt \
link_paths \
remap_paths \
different_source_dirs \
remap_cwd_bin \
different_source_dirs_bin \
different_source_dirs_rlib \
remap_cwd_rlib \
remap_cwd_to_empty \
extern_flags

# TODO: Deterministic builds of `bin` crate types are not deterministic with
# debuginfo=2 on Windows.
# See https://github.com/rust-lang/rust/pull/87320#issuecomment-920105533
# different_source_dirs_bin \
# remap_cwd_bin \
smoke:
rm -rf $(TMPDIR) && mkdir $(TMPDIR)
$(RUSTC) linker.rs -O
Expand Down Expand Up @@ -55,7 +61,19 @@ remap_paths:
$(RUSTC) reproducible-build.rs --crate-type rlib --remap-path-prefix=/b=/c
cmp "$(TMPDIR)/libreproducible_build.rlib" "$(TMPDIR)/libfoo.rlib" || exit 1

different_source_dirs:
different_source_dirs_bin:
rm -rf $(TMPDIR) && mkdir $(TMPDIR)
$(RUSTC) reproducible-build-aux.rs
mkdir $(TMPDIR)/test
cp reproducible-build.rs $(TMPDIR)/test
$(RUSTC) reproducible-build.rs --crate-type bin --remap-path-prefix=$$PWD=/b
cp $(TMPDIR)/reproducible-build $(TMPDIR)/foo
(cd $(TMPDIR)/test && $(RUSTC) reproducible-build.rs \
--remap-path-prefix=$(TMPDIR)/test=/b \
--crate-type bin)
cmp "$(TMPDIR)/reproducible-build" "$(TMPDIR)/foo" || exit 1

different_source_dirs_rlib:
rm -rf $(TMPDIR) && mkdir $(TMPDIR)
$(RUSTC) reproducible-build-aux.rs
mkdir $(TMPDIR)/test
Expand Down

0 comments on commit 4933be9

Please sign in to comment.