diff --git a/.github/workflows/stdarch.yml b/.github/workflows/stdarch.yml index 3d2ffa57dff..17d6449c85e 100644 --- a/.github/workflows/stdarch.yml +++ b/.github/workflows/stdarch.yml @@ -42,8 +42,14 @@ jobs: - name: Install more recent binutils run: | echo "deb http://archive.ubuntu.com/ubuntu plucky main universe" | sudo tee /etc/apt/sources.list.d/plucky-copies.list - sudo apt-get update + sudo apt-get update -o Acquire::Retries=3 sudo apt-get install binutils + installed="$(dpkg-query --showformat='${Version}' --show binutils)" + echo "Installed binutils: $installed" + if dpkg --compare-versions "$installed" lt "2.44"; then + echo "::error::binutils upgrade failed (got $installed, need >= 2.44); the apt fetch probably failed" + exit 1 + fi - name: Install Intel Software Development Emulator if: ${{ matrix.cargo_runner }} @@ -89,7 +95,8 @@ jobs: - name: Run stdarch tests if: ${{ !matrix.cargo_runner }} run: | - ./y.sh test --release --stdarch-tests + # FIXME: remove --skip test_tile_ and --skip --skip test__tile when it's implemented. + ./y.sh test --release --stdarch-tests -- --skip test_tile_ --skip test__tile - name: Run stdarch tests if: ${{ matrix.cargo_runner }} diff --git a/build_system/src/test.rs b/build_system/src/test.rs index cbaf5879698..6cc2282c802 100644 --- a/build_system/src/test.rs +++ b/build_system/src/test.rs @@ -788,7 +788,13 @@ fn test_stdarch(env: &Env, args: &TestArg) -> Result<(), String> { format!("{rustflags} -Ainternal_features").trim().to_owned(), ); env.insert("TARGET".to_string(), args.config_info.target_triple.clone()); - run_cargo_command(&[&"test", &"--manifest-path", &manifest_path], None, &env, args)?; + + let mut command: Vec<&dyn AsRef> = + vec![&"test", &"--manifest-path", &manifest_path, &"--"]; + for test_name in &args.test_args { + command.push(test_name); + } + run_cargo_command(&command, None, &env, args)?; Ok(()) }