test(extra): cover proxy pipe cross-process access - #1448
Conversation
There was a problem hiding this comment.
Pull request overview
Adds Windows integration coverage proving DvcNamedPipeProxy supports cross-process pipe access and forwards data into the DVC callback.
Changes:
- Spawns a separate test process as a named-pipe client.
- Refactors shared proxy setup and forwarding assertions.
- Adds the required
ironrdp-svctest dependency.
Reviewed changes
Copilot reviewed 2 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
crates/ironrdp-testsuite-extra/tests/dvc_pipe_proxy.rs |
Adds cross-process pipe forwarding coverage. |
crates/ironrdp-testsuite-extra/Cargo.toml |
Adds the SVC test dependency. |
Cargo.lock |
Records the dependency update. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
There was a problem hiding this comment.
Thank you!
Some review items from Claude that I think are worth addressing:
The hardcoded child-test path is stale-prone with a misleading failure mode
dvc_pipe_proxy.rs:48 — "dvc_pipe_proxy::child_process_connects_and_forwards_windows_pipe_data"
must track both the module name in main.rs (mod dvc_pipe_proxy;) and the fn name. If
either is renamed,--exactmatches zero tests; libtest then exits 0, so
assert!(status.success())(line 54) passes, and the test instead fails 1s later at
assert_forwarded_data with "must forward pipe data to its callback" — pointing at a
forwarding bug that doesn't exist. This is the first use of the current_exe re-exec
pattern in the repo, so there's no established guard. Consider asserting the child
actually ran a test (e.g. parse--listor check the summary), or at minimum a comment
binding the string to the fn so a rename is caught in review.child_process_… is a real test that silently no-ops in normal runs
dvc_pipe_proxy.rs:62-65 — as a #[tokio::test] it's discovered in every normal run,
where the env var is absent so it returns Ok early and shows up green. Its name reads
like a standalone assertion ("connects_and_forwards…") but in the normal suite it
asserts nothing. A name that signals its helper role (e.g. child_process_helper_…)
would make the test output honest without changing the --exact filter meaningfully.
7b095b0 to
7e46a84
Compare
Add Windows cross-process named-pipe forwarding coverage and teardown diagnostics. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
9eb7825 to
6d19d4e
Compare
Summary
DvcNamedPipeProxyWindows pipe is visible to a separately spawned processTests
cargo test -p ironrdp-testsuite-extra --test integration_tests_extra dvc_pipe_proxycargo clippy -p ironrdp-testsuite-extra --test integration_tests_extra --no-deps -- -D warnings