Rollup merge of #103178 - ferrocene:pa-coverage-reports-tests, r=Mark-Simulacrum
Partially fix `src/test/run-make/coverage-reports` when cross-compiling The test does not work on cross-compiled targets because the --target flag was not passed to rustc inside the test. This commit fixes that by adding the flag to the invocations. Note that the test still fails on cross-compiled targets using remote-test, as remote-test is not capable (yet) of sending back to the host system the `*.profraw` file generated by the instrumentation. Because of that, this is only a partial fix, and the test has been ignored on cross-compilation.
This commit is contained in:
commit
6a168e4538
@ -1,6 +1,11 @@
|
||||
# needs-profiler-support
|
||||
# ignore-windows-gnu
|
||||
|
||||
# FIXME(pietroalbini): this test currently does not work on cross-compiled
|
||||
# targets because remote-test is not capable of sending back the *.profraw
|
||||
# files generated by the LLVM instrumentation.
|
||||
# ignore-cross-compile
|
||||
|
||||
# Rust coverage maps support LLVM Coverage Mapping Format versions 5 and 6,
|
||||
# corresponding with LLVM versions 12 and 13, respectively.
|
||||
# When upgrading LLVM versions, consider whether to enforce a minimum LLVM
|
||||
@ -81,13 +86,13 @@ include clear_expected_if_blessed
|
||||
# Compile the test library with coverage instrumentation
|
||||
$(RUSTC) $(SOURCEDIR)/lib/$@.rs \
|
||||
$$( sed -n 's/^\/\/ compile-flags: \([^#]*\).*/\1/p' $(SOURCEDIR)/lib/$@.rs ) \
|
||||
--crate-type rlib -Cinstrument-coverage
|
||||
--crate-type rlib -Cinstrument-coverage --target $(TARGET)
|
||||
|
||||
%: $(SOURCEDIR)/%.rs
|
||||
# Compile the test program with coverage instrumentation
|
||||
$(RUSTC) $(SOURCEDIR)/$@.rs \
|
||||
$$( sed -n 's/^\/\/ compile-flags: \([^#]*\).*/\1/p' $(SOURCEDIR)/$@.rs ) \
|
||||
-L "$(TMPDIR)" -Cinstrument-coverage
|
||||
-L "$(TMPDIR)" -Cinstrument-coverage --target $(TARGET)
|
||||
|
||||
# Run it in order to generate some profiling data,
|
||||
# with `LLVM_PROFILE_FILE=<profdata_file>` environment variable set to
|
||||
|
Loading…
Reference in New Issue
Block a user