Add smoke tests for binaries and platform lookup helpers#1697
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if cfg!(unix) { | ||
| let uid = get_current_uid(); | ||
| let user = get_user_by_uid(uid).expect("current user should exist"); | ||
| let name = user.name().to_string_lossy().into_owned(); | ||
| assert_eq!(lookup_user_by_name(&name), Some(uid)); |
There was a problem hiding this comment.
The new user lookup test calls get_current_uid and get_user_by_uid unconditionally while the users imports are compiled only when cfg(unix) holds. On non-Unix targets the import is removed, these names are undefined, and cargo test -p rsync-cli fails to build even though the code path is gated at runtime by if cfg!(unix). The test (and the analogous group test below) should be #[cfg(unix)] or otherwise gate the Unix-only calls so Windows builds continue to compile.
Useful? React with 👍 / 👎.
) Document that daemon-side filter rules (filter/exclude/include directives in oc-rsyncd.conf) are never transmitted on the wire during a pull, in both upstream rsync 3.4.1 and oc-rsync. Cite upstream clientserver.c:874-893 (rsync_module loads daemon_filter_list) and exclude.c:1589/1645/1658/1661 (send_rules walks &filter_list, never &daemon_filter_list). Cross-reference oc-rsync sources at crates/protocol/src/filters/wire.rs, crates/transfer/src/receiver/transfer.rs, and crates/daemon/src/daemon/sections/module_access/helpers.rs. Provide an operator-facing tcpdump reproduction recipe with decoded bytes for the 4-byte LE filter-list zero terminator. Note an unrelated comment discrepancy in tools/ci/known_failures.conf (rsync 3.0.9 advertises PROTOCOL_VERSION 30, not 28) for future cleanup.
…1697) (#3516) Adds wire-byte audit for server-side filter rules (filter / exclude / include / exclude from / include from in oc-rsyncd.conf module sections) during a pull. Headline finding: no active divergence today; daemon rules are applied process-locally and never serialised. Documents the load-bearing invariants and divergence sentinels. Companion to docs/audits/tcpdump-daemon-proto28-29.md (PR #3513) and docs/daemon/filter-precedence.md (PR #1888).
) Document that daemon-side filter rules (filter/exclude/include directives in oc-rsyncd.conf) are never transmitted on the wire during a pull, in both upstream rsync 3.4.1 and oc-rsync. Cite upstream clientserver.c:874-893 (rsync_module loads daemon_filter_list) and exclude.c:1589/1645/1658/1661 (send_rules walks &filter_list, never &daemon_filter_list). Cross-reference oc-rsync sources at crates/protocol/src/filters/wire.rs, crates/transfer/src/receiver/transfer.rs, and crates/daemon/src/daemon/sections/module_access/helpers.rs. Provide an operator-facing tcpdump reproduction recipe with decoded bytes for the 4-byte LE filter-list zero terminator. Note an unrelated comment discrepancy in tools/ci/known_failures.conf (rsync 3.0.9 advertises PROTOCOL_VERSION 30, not 28) for future cleanup.
…1697) (#3516) Adds wire-byte audit for server-side filter rules (filter / exclude / include / exclude from / include from in oc-rsyncd.conf module sections) during a pull. Headline finding: no active divergence today; daemon rules are applied process-locally and never serialised. Documents the load-bearing invariants and divergence sentinels. Companion to docs/audits/tcpdump-daemon-proto28-29.md (PR #3513) and docs/daemon/filter-precedence.md (PR #1888).
Summary
run_withhelper for tests--versionflows for both binariesTesting
https://chatgpt.com/codex/tasks/task_e_69037ce06ca08323a648703efb321e64