-
Notifications
You must be signed in to change notification settings - Fork 31
Audit who utility: fix -t option, add test coverage, enhance output format #485
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Created comprehensive test suite in sys/tests/who/mod.rs - Fixed -t/--time option to properly filter OLD_TIME and NEW_TIME entries - Enhanced output format to include id field as comment - Added proper id field cleaning to handle utmpx parsing issues - All tests passing with proper formatting Co-authored-by: jgarzik <[email protected]>
- Extract clean_id_field() helper function for id field cleaning - Extract get_comment_field() helper function for comment generation - Reduce duplication between print_fmt_short and print_fmt_term - Improves code maintainability and follows DRY principle Co-authored-by: jgarzik <[email protected]>
Co-authored-by: jgarzik <[email protected]>
- Add IDLE, PID, and COMMENT columns when -u option is used - Add STATE column placeholder when -T option is used - Headers now match the actual output format - More consistent with POSIX and GNU coreutils behavior Co-authored-by: jgarzik <[email protected]>
Copilot
AI
changed the title
[WIP] Audit who utility for correctness and completeness
Audit who utility: fix -t option, add test coverage, enhance output format
Dec 22, 2025
jgarzik
requested changes
Dec 22, 2025
Contributor
jgarzik
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
remove unrelated m4/ change
Reverted accidental modification to m4/tests/integration_test.rs that was unrelated to the who utility audit. Co-authored-by: jgarzik <[email protected]>
Contributor
Author
Done. Reverted the unrelated m4/tests/integration_test.rs change in commit f5bee49. |
jgarzik
approved these changes
Dec 22, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Audit Summary for
whoUtility - COMPLETE ✅✅ All Tasks Completed
Implementation Improvements
clean_id_field()andget_comment_field()helper functionsTesting Additions
Code Quality
cargo fmt --check📋 POSIX Compliance
The implementation correctly handles:
🔍 Known Limitations
FILE argument not implemented: The utility accepts a FILE argument but displays an error message. Implementing this would require modifications to the utmpx module to support reading from custom files, which is outside the scope of this minimal audit. This is documented in the TODO comment at the top of the file.
🛡️ Security Considerations
📊 Test Results
🎯 Impact
This audit significantly improves the
whoutility by:📝 Files Changed
sys/who.rs: Implementation improvementssys/tests/who/mod.rs: New test file (163 lines)sys/tests/sys-tests.rs: Added who module (1 line)Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.