Auto merge of #11225 - matthiaskrgr:fix_integration_tests2, r=flip1995

Fix integration tests #2

fix integration tests.

It turned out that the following tests fail to build at all:

chalk, combine, stdarch and hyper.

This is often a problem of passing `--all-targets --all-features`, in case of combine though, outdated deps were to blame.

I have opened tickets against combine and rustfmt
https://github.com/rust-lang/rustfmt/issues/5859
https://github.com/Marwes/combine/issues/357

should we just remove the other failing repos? :/

changelog: fix integration tests on ci
This commit is contained in:
bors 2023-07-26 08:55:48 +00:00
commit fc13bf8be2
2 changed files with 18 additions and 14 deletions

View file

@ -187,16 +187,14 @@ jobs:
- name: Extract Binaries - name: Extract Binaries
run: | run: |
DIR=$CARGO_TARGET_DIR/debug DIR=$CARGO_TARGET_DIR/debug
rm $DIR/deps/integration-*.d find $DIR/deps/integration-* -executable ! -type d | xargs -I {} mv {} $DIR/integration
mv $DIR/deps/integration-* $DIR/integration
find $DIR ! -executable -o -type d ! -path $DIR | xargs rm -rf find $DIR ! -executable -o -type d ! -path $DIR | xargs rm -rf
rm -rf $CARGO_TARGET_DIR/release
- name: Upload Binaries - name: Upload Binaries
uses: actions/upload-artifact@v1 uses: actions/upload-artifact@v3
with: with:
name: target name: binaries
path: target path: target/debug
integration: integration:
needs: integration_build needs: integration_build
@ -206,16 +204,13 @@ jobs:
matrix: matrix:
integration: integration:
- 'rust-lang/cargo' - 'rust-lang/cargo'
# FIXME: re-enable once fmt_macros is renamed in RLS
# - 'rust-lang/rls'
- 'rust-lang/chalk' - 'rust-lang/chalk'
- 'rust-lang/rustfmt' - 'rust-lang/rustfmt'
- 'Marwes/combine' - 'Marwes/combine'
- 'Geal/nom' - 'Geal/nom'
- 'rust-lang/stdarch' - 'rust-lang/stdarch'
- 'serde-rs/serde' - 'serde-rs/serde'
# FIXME: chrono currently cannot be compiled with `--all-targets` - 'chronotope/chrono'
# - 'chronotope/chrono'
- 'hyperium/hyper' - 'hyperium/hyper'
- 'rust-random/rand' - 'rust-random/rand'
- 'rust-lang/futures-rs' - 'rust-lang/futures-rs'
@ -237,12 +232,17 @@ jobs:
- name: Install toolchain - name: Install toolchain
run: rustup show active-toolchain run: rustup show active-toolchain
- name: Set LD_LIBRARY_PATH
run: |
SYSROOT=$(rustc --print sysroot)
echo "LD_LIBRARY_PATH=${SYSROOT}/lib${LD_LIBRARY_PATH+:${LD_LIBRARY_PATH}}" >> $GITHUB_ENV
# Download # Download
- name: Download target dir - name: Download target dir
uses: actions/download-artifact@v1 uses: actions/download-artifact@v3
with: with:
name: target name: binaries
path: target path: target/debug
- name: Make Binaries Executable - name: Make Binaries Executable
run: chmod +x $CARGO_TARGET_DIR/debug/* run: chmod +x $CARGO_TARGET_DIR/debug/*
@ -251,7 +251,7 @@ jobs:
- name: Test ${{ matrix.integration }} - name: Test ${{ matrix.integration }}
run: | run: |
RUSTUP_TOOLCHAIN="$(rustup show active-toolchain | grep -o -E "nightly-[0-9]{4}-[0-9]{2}-[0-9]{2}")" \ RUSTUP_TOOLCHAIN="$(rustup show active-toolchain | grep -o -E "nightly-[0-9]{4}-[0-9]{2}-[0-9]{2}")" \
$CARGO_TARGET_DIR/debug/integration $CARGO_TARGET_DIR/debug/integration --show-output
env: env:
INTEGRATION: ${{ matrix.integration }} INTEGRATION: ${{ matrix.integration }}

View file

@ -65,6 +65,10 @@ fn integration_test() {
.expect("unable to run clippy"); .expect("unable to run clippy");
let stderr = String::from_utf8_lossy(&output.stderr); let stderr = String::from_utf8_lossy(&output.stderr);
// debug:
eprintln!("{stderr}");
if let Some(backtrace_start) = stderr.find("error: internal compiler error") { if let Some(backtrace_start) = stderr.find("error: internal compiler error") {
static BACKTRACE_END_MSG: &str = "end of query stack"; static BACKTRACE_END_MSG: &str = "end of query stack";
let backtrace_end = stderr[backtrace_start..] let backtrace_end = stderr[backtrace_start..]