Skip to content

Ineffective --exclude argument on ./x.py test #83661

Closed
@Goirad

Description

@Goirad

I think this is a sufficiently minimal example:
./x.py test --stage=1 --target=i686-unknown-linux-gnu --no-doc --exclude src/tools/linkchecker

After #80839, I expect the exclude argument to correctly apply to the linkchecker. Instead, when running the above command I get:

Updating only changed submodules
Submodules updated in 0.03 seconds
    Finished dev [unoptimized + debuginfo] target(s) in 0.14s
thread 'main' panicked at 'Linkcheck currently does not support builds with different hosts and targets.
You can skip linkcheck with --exclude src/tools/linkchecker', src/bootstrap/test.rs:134:13
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
failed to run: /home/dario/oss/rust/build/bootstrap/debug/bootstrap test --stage=1 --target=i686-unknown-linux-gnu --no-doc --exclude src/tools/linkchecker
Build completed unsuccessfully in 0:00:00

This is on commit 2917eda69decdf813daa94b20dfb2edd3a555963

As the linked commit mentions, adding an --host='' argument indeed sidesteps the issue, but I guess ideally the exlude should be enough.

And with backtrace:

Backtrace

Updating only changed submodules
Submodules updated in 0.02 seconds
    Finished dev [unoptimized + debuginfo] target(s) in 0.21s
thread 'main' panicked at 'Linkcheck currently does not support builds with different hosts and targets.
You can skip linkcheck with --exclude src/tools/linkchecker', src/bootstrap/test.rs:134:13
stack backtrace:
   0: std::panicking::begin_panic
             at /rustc/14b27555a03f4abf9b8d80ea34f59144e2ded5e4/library/std/src/panicking.rs:519:12
   1: <bootstrap::test::Linkcheck as bootstrap::builder::Step>::should_run
             at ./src/bootstrap/test.rs:134:13
   2: bootstrap::builder::StepDescription::run::{{closure}}
             at ./src/bootstrap/builder.rs:185:33
   3: core::iter::adapters::map::map_fold::{{closure}}
             at /rustc/14b27555a03f4abf9b8d80ea34f59144e2ded5e4/library/core/src/iter/adapters/map.rs:80:28
   4: core::iter::traits::iterator::Iterator::fold
             at /rustc/14b27555a03f4abf9b8d80ea34f59144e2ded5e4/library/core/src/iter/traits/iterator.rs:2124:21
   5: <core::iter::adapters::map::Map<I,F> as core::iter::traits::iterator::Iterator>::fold
             at /rustc/14b27555a03f4abf9b8d80ea34f59144e2ded5e4/library/core/src/iter/adapters/map.rs:120:9
   6: core::iter::traits::iterator::Iterator::for_each
             at /rustc/14b27555a03f4abf9b8d80ea34f59144e2ded5e4/library/core/src/iter/traits/iterator.rs:776:9
   7: <alloc::vec::Vec<T,A> as alloc::vec::spec_extend::SpecExtend<T,I>>::spec_extend
             at /rustc/14b27555a03f4abf9b8d80ea34f59144e2ded5e4/library/alloc/src/vec/spec_extend.rs:42:17
   8: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter_nested::SpecFromIterNested<T,I>>::from_iter
             at /rustc/14b27555a03f4abf9b8d80ea34f59144e2ded5e4/library/alloc/src/vec/spec_from_iter_nested.rs:53:9
   9: <alloc::vec::Vec<T> as alloc::vec::spec_from_iter::SpecFromIter<T,I>>::from_iter
             at /rustc/14b27555a03f4abf9b8d80ea34f59144e2ded5e4/library/alloc/src/vec/spec_from_iter.rs:36:9
  10: <alloc::vec::Vec<T> as core::iter::traits::collect::FromIterator<T>>::from_iter
             at /rustc/14b27555a03f4abf9b8d80ea34f59144e2ded5e4/library/alloc/src/vec/mod.rs:2196:9
  11: core::iter::traits::iterator::Iterator::collect
             at /rustc/14b27555a03f4abf9b8d80ea34f59144e2ded5e4/library/core/src/iter/traits/iterator.rs:1765:9
  12: bootstrap::builder::StepDescription::run
             at ./src/bootstrap/builder.rs:185:13
  13: bootstrap::builder::Builder::run_step_descriptions
             at ./src/bootstrap/builder.rs:571:9
  14: bootstrap::builder::Builder::execute_cli
             at ./src/bootstrap/builder.rs:563:9
  15: bootstrap::Build::build
             at ./src/bootstrap/lib.rs:506:17
  16: bootstrap::main
             at ./src/bootstrap/bin/main.rs:33:5
  17: core::ops::function::FnOnce::call_once
             at /rustc/14b27555a03f4abf9b8d80ea34f59144e2ded5e4/library/core/src/ops/function.rs:227:5
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
failed to run: /home/dario/oss/rust/build/bootstrap/debug/bootstrap test --stage=1 --target=i686-unknown-linux-gnu --no-doc --exclude src/tools/linkchecker
Build completed unsuccessfully in 0:00:00

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-testsuiteArea: The testsuite used to check the correctness of rustcC-bugCategory: This is a bug.T-bootstrapRelevant to the bootstrap subteam: Rust's build system (x.py and src/bootstrap)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions