[llvm-lit] Internal shell `env` `PATH` overrides should disable builtins
- Dominant language
- LLVM
- Stars
- 40.5k
- Forks
- 18.7k
- PR merge metrics
- PR metrics pending
Description
https://github.com/llvm/llvm-project/pull/181258 included tests that caused breakages whenever the internal shell was disabled. This is due to the pattern `RUN: env PATH="" not <...>`. Using the actual binaries the internal shell is intended to replace, emptying `PATH` would cause `not` to become inaccessible. Thus, so long as we intend to preserve PASS/FAIL agreement between internal and external shells, `env` would need to inhibit builtin activation for its contents whenever `PATH` is set. Or, perhaps something cleverer than that; I'm not familiar with how the internal shell is implemented.
CC: @ilovepi @boomanaiden154
Contributor guide
Research direction
Inspect the llvm-lit internal-shell implementation and the tests added by PR 181258; reproduce the env PATH="" not <...> cases with internal and external shells. Done means those cases no longer break when the internal shell is disabled and their PASS/FAIL results agree.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- shell
- Domain
- compilers, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100