-
Notifications
You must be signed in to change notification settings - Fork 13.3k
test_override_env failing during make check
#17617
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Ah, I just discovered what the problem is. test_override_env, like the name alludes to, spawns an The subprocess is executed using execvp(), and its man page says: The (...) execvp() (... function ...) duplicates the actions of the shell in searching for an executable file if the specified filename does not contain a slash (/) character. The file is sought in the colon-separated list of directory pathnames specified in the PATH environment variable. _If this variable isn't defined, the path list defaults to the current directory followed by the list of directories returned by confstr(CS_PATH). (This confstr(3) call typically returns the value "/bin:/usr/bin".) Since |
I have a fix for this, will submit soon. |
In some operating systems (such as NixOS), `env` can only be found in the explicitly-provided PATH, not in default places such as /bin or /usr/bin. So we need to pass-through PATH when spawning the `env` sub-process. Fixes rust-lang#17617
In some build environments (such as Nix builds), `env` can only be found in the explicitly-provided PATH, not in default places such as /bin or /usr/bin. So we need to pass-through PATH when spawning the `env` sub-process. Fixes rust-lang#17617
In some build environments (such as chrooted Nix builds), `env` can only be found in the explicitly-provided PATH, not in default places such as /bin or /usr/bin. So we need to pass-through PATH when spawning the `env` sub-process. Fixes rust-lang#17617
In some build environments (such as chrooted Nix builds), `env` can only be found in the explicitly-provided PATH, not in default places such as /bin or /usr/bin. So we need to pass-through PATH when spawning the `env` sub-process. Fixes #17617
Derive kinds information from ungrammar file This reduces the need to touch more files when adding a new grammar rule
Derive kinds information from ungrammar file This reduces the need to touch more files when adding a new grammar rule
Using commit 7fbbfe6 I am experiencing this failure during
make check
:Initially I thought it was because my OS (NixOS) did not install
env
in /usr/bin (in fact, /usr doesn't even exist, but env is in the PATH), but even then, that does not explain why other env tests succeed (such as test_add_to_env, which is almost exactly the same code as test_override_env).However, if I copy/paste the code from the test into a new program and run it, it seems to work fine.
Furthermore, this exact
make check
failure seems to be repeatable, even after updating to a newer commit and compiling everything from scratch.This seems quite mysterious to me... any ideas as to what the problem might be?
The text was updated successfully, but these errors were encountered: