rust-lang / rust-lang/rust

We should document what external dependencies we assume for our test suites

Open
#125,585 1 comment 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

A-compiletest A-docs A-testsuite C-cleanup E-help-wanted T-compiler
Dominant language
Rust
Stars
119k
Forks
16.1k
PR merge metrics
PR metrics pending

Description

Location

The test suites, especially tests/run-make and tests/run-make-fulldeps.

Summary

It'd be nice for people to be able to reliably run test suites without necessarily having to rely on Docker environments, or at least know what external dependencies are assumed to be available (and what version/flavor as well) by the test suites. This is also relevant for people trying to work on or maintain new targets if they want to run the test suites. Example dependencies (non-exhaustive, have not fully surveyed):

  • Utilities: e.g. nm, grep.
  • C/C++ compilers, e.g. what cc points to is a massive pain.
  • Python: again, which python version is also a massive pain.
  • Make and makefiles: we're trying to escape from this
  • Shell: bash? or what do the various bash scripts assume?

For example, the run-make test suite has a bunch of assumed external dependencies (like nm) which are not documented AFAICT.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by surveying the test suites in tests/run-make and tests/run-make-fulldeps, including their scripts and makefiles. Identify assumed utilities, compilers, Python and shell versions or flavors, then document those dependencies and target-specific requirements. Done means contributors can determine what external tools and versions are needed without relying on Docker.

Written by the indexing model from the issue text.

Assessment

Tech stack
bash, cpp, python
Domain
build-system, documentation, testing-qa
Issue type
Documentation
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.