Repository navigation
Conversation
|
Binary size comparison: |
|
GNU testsuite comparison: |
| )); | ||
| } | ||
| // GNU traces only the unsets that remove something | ||
| if opts.debug && env::var_os(name).is_some() { |
There was a problem hiding this comment.
GNU prints unset: unconditionally, even for a variable that isn't set or an invalid name
| assert_eq!(result.stderr_str(), "unset: ENV_VERBOSE_UNSET_ME\n"); | ||
|
|
||
| // unsetting a variable that does not exist is not traced | ||
| let result = new_ucmd!() |
There was a problem hiding this comment.
GNU does trace it. Should expect unset: ENV_VERBOSE_NOT_SET
| ); | ||
| continue; | ||
| } | ||
| if opts.debug { |
There was a problem hiding this comment.
to_string_lossy() mangles non-UTF-8 args - GNU passes the raw bytes through. Write the OsStr bytes to stderr instead. Same at line 1065.
450d95a to
85d29c9
Compare
85d29c9 to
5abae63
Compare
|
@sylvestre ready |
5abae63 to
a1d927e
Compare
a1d927e to
162d6b9
Compare
Merging this PR will regress 1 benchmark
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | factor_five_38_bit_primes |
1.8 s | 2 s | -12.79% |
| ⚡ | Simulation | factor_three_39_bit_primes |
800.7 ms | 310.8 ms | ×2.6 |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing wtcpython:env-verbose-trace (d14f758) with main (2fb77e8)2
Footnotes
-
70 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
-
No successful run was found on
main(0982bd1) during the generation of this report, so 2fb77e8 was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩
162d6b9 to
63dbf12
Compare
63dbf12 to
a830bd5
Compare
a830bd5 to
d032fa3
Compare
d032fa3 to
2627c89
Compare
2627c89 to
b0a440f
Compare
b0a440f to
0b3c950
Compare
0b3c950 to
eea75bb
Compare
eea75bb to
834c47e
Compare
There was a problem hiding this comment.
Warning
Copilot couldn't run its full agentic review because it didn't start before the timeout. Make sure your repository has a runner available, or add a copilot-code-review.yml file specifying one with the runs-on attribute. See the docs for more details.
Copilot review overview
Review effort: Lite
Findings: 2
| fn apply_unset_env_vars(opts: &Options<'_>) -> Result<(), Box<dyn UError>> { | ||
| for name in &opts.unsets { | ||
| if opts.debug { | ||
| let mut error = stderr().lock(); | ||
| let _ = error.write_all(b"unset: "); | ||
| let _ = error.write_all_os(name); | ||
| let _ = error.write_all(b"\n"); | ||
| } | ||
| let native_name = NativeStr::new(name); | ||
| if name.is_empty() | ||
| || native_name.contains('\0').unwrap() |
| if opts.debug { | ||
| let mut error = stderr().lock(); | ||
| let _ = writeln!(error, "chdir: {}", d.quote()); | ||
| } | ||
| match env::set_current_dir(d) { | ||
| Ok(()) => d, |
834c47e to
18dea1f
Compare
18dea1f to
13ff923
Compare
13ff923 to
6b95b3b
Compare
6b95b3b to
815cb79
Compare
815cb79 to
d14f758
Compare
There was a problem hiding this comment.
Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.
An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing. Review the Copilot code review billing settings.

Fixes #14171.
GNU traces each environment change in verbose mode, and
-vvis just-vrepeated. We printed nothing for
-vand dumped the input args for-vv.Print the same trace lines as GNU (
cleaning environ,setenv,unset,chdir) and drop the argument dump. Add tests for the traced output and for-vvmatching-v.