rust-lang / rust-lang/rust

We should document more clearly env vars used between bootstrap <-> compiletest <-> test suites

Open
#125,587 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Location

bootstrap <-> compiletest <-> testsuites

Summary

In tests/run-make (for example, but the lack of docs isn't limited to this particular test suite) we assume a bunch of env vars being available, but AFAIK there isn't any docs on which env vars are assumed available between the bootstrap -> compiletest -> test suites pipeline and for what reasons. It'd be nice to have any kind of docs on them.

The current state is that:

  • bootstrap sets up a bunch of env vars, which are made available to compiletest
  • compiletest assumes bootstrap-set env vars are available
  • compiletest sets up a bunch of env vars, often conditionally available to specific test suites
  • tests inside test suites assume compiletest-set env vars are available.

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 tracing the bootstrap, compiletest, and testsuites pipeline, beginning with the env-var assumptions in tests/run-make. Document which variables bootstrap provides to compiletest, which compiletest provides to test suites, when they are conditional, and why; the work is done when these handoffs and purposes are clearly documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
build-system, testing
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.