apt-ostree/simple_rpm_ostree_test.sh
robojerk 35a22c366a feat: Implement complete rpm-ostree CLI compatibility with help system
- Add help support for all 25+ commands and subcommands
- Implement command-specific help functions matching rpm-ostree format
- Support both --help and -h flags for all commands
- Maintain exact rpm-ostree help output structure
- Add comprehensive option documentation for each command
- Ensure proper error handling and argument validation
- Update CLI manual mapping with complete help system coverage
2025-08-15 18:48:42 -07:00

208 lines
8.2 KiB
Bash
Executable file

#!/bin/bash
# Simple rpm-ostree Command Testing Script
# Run this on your rpm-ostree system to capture command outputs
OUTPUT_FILE="rpm_ostree_output.txt"
echo "Testing rpm-ostree commands..." > "$OUTPUT_FILE"
echo "Generated on: $(date)" >> "$OUTPUT_FILE"
echo "System: $(uname -a)" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
# Test basic commands
echo "=== BASIC COMMANDS ===" >> "$OUTPUT_FILE"
echo "--- rpm-ostree (no args) ---" >> "$OUTPUT_FILE"
rpm-ostree >> "$OUTPUT_FILE" 2>&1 || echo "Command failed (expected)" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree --version ---" >> "$OUTPUT_FILE"
rpm-ostree --version >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree --help ---" >> "$OUTPUT_FILE"
rpm-ostree --help >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
# Test main commands
echo "=== MAIN COMMANDS ===" >> "$OUTPUT_FILE"
echo "--- rpm-ostree status ---" >> "$OUTPUT_FILE"
rpm-ostree status >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree cancel ---" >> "$OUTPUT_FILE"
rpm-ostree cancel >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree cleanup ---" >> "$OUTPUT_FILE"
rpm-ostree cleanup >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree reload ---" >> "$OUTPUT_FILE"
rpm-ostree reload >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree reset ---" >> "$OUTPUT_FILE"
rpm-ostree reset >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree rollback ---" >> "$OUTPUT_FILE"
rpm-ostree rollback >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree upgrade ---" >> "$OUTPUT_FILE"
rpm-ostree upgrade >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree finalize-deployment ---" >> "$OUTPUT_FILE"
rpm-ostree finalize-deployment >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
# Test commands that require arguments
echo "=== COMMANDS WITH ARGUMENTS ===" >> "$OUTPUT_FILE"
echo "--- rpm-ostree search apt ---" >> "$OUTPUT_FILE"
rpm-ostree search apt >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree install vim ---" >> "$OUTPUT_FILE"
rpm-ostree install vim >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree uninstall vim ---" >> "$OUTPUT_FILE"
rpm-ostree uninstall vim >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree deploy test-commit ---" >> "$OUTPUT_FILE"
rpm-ostree deploy test-commit >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree rebase test-target ---" >> "$OUTPUT_FILE"
rpm-ostree rebase test-target >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree apply-live ---" >> "$OUTPUT_FILE"
rpm-ostree apply-live >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
# Test subcommand groups
echo "=== SUBCOMMAND GROUPS ===" >> "$OUTPUT_FILE"
echo "--- rpm-ostree compose ---" >> "$OUTPUT_FILE"
rpm-ostree compose >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree db ---" >> "$OUTPUT_FILE"
rpm-ostree db >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree initramfs ---" >> "$OUTPUT_FILE"
rpm-ostree initramfs >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree initramfs-etc ---" >> "$OUTPUT_FILE"
rpm-ostree initramfs-etc >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree kargs ---" >> "$OUTPUT_FILE"
rpm-ostree kargs >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree override ---" >> "$OUTPUT_FILE"
rpm-ostree override >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree usroverlay ---" >> "$OUTPUT_FILE"
rpm-ostree usroverlay >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
# Test specific subcommands
echo "=== SPECIFIC SUBCOMMANDS ===" >> "$OUTPUT_FILE"
echo "--- rpm-ostree db list ---" >> "$OUTPUT_FILE"
rpm-ostree db list >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree db diff ---" >> "$OUTPUT_FILE"
rpm-ostree db diff >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree kargs get ---" >> "$OUTPUT_FILE"
rpm-ostree kargs get >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree kargs set test=value ---" >> "$OUTPUT_FILE"
rpm-ostree kargs set test=value >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree override add test-package ---" >> "$OUTPUT_FILE"
rpm-ostree override add test-package >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree override remove test-package ---" >> "$OUTPUT_FILE"
rpm-ostree override remove test-package >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree override reset ---" >> "$OUTPUT_FILE"
rpm-ostree override reset >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
# Test error conditions
echo "=== ERROR CONDITIONS ===" >> "$OUTPUT_FILE"
echo "--- rpm-ostree install (no package) ---" >> "$OUTPUT_FILE"
rpm-ostree install >> "$OUTPUT_FILE" 2>&1 || echo "Command failed (expected)" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree search (no query) ---" >> "$OUTPUT_FILE"
rpm-ostree search >> "$OUTPUT_FILE" 2>&1 || echo "Command failed (expected)" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree deploy (no commit) ---" >> "$OUTPUT_FILE"
rpm-ostree deploy >> "$OUTPUT_FILE" 2>&1 || echo "Command failed (expected)" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree rebase (no target) ---" >> "$OUTPUT_FILE"
rpm-ostree rebase >> "$OUTPUT_FILE" 2>&1 || echo "Command failed (expected)" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
# Test with options
echo "=== COMMANDS WITH OPTIONS ===" >> "$OUTPUT_FILE"
echo "--- rpm-ostree status --sysroot=/ ---" >> "$OUTPUT_FILE"
rpm-ostree status --sysroot=/ >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree status --peer ---" >> "$OUTPUT_FILE"
rpm-ostree status --peer >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree status -q ---" >> "$OUTPUT_FILE"
rpm-ostree status -q >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
# Test help for specific commands
echo "=== HELP FOR SPECIFIC COMMANDS ===" >> "$OUTPUT_FILE"
echo "--- rpm-ostree cancel --help ---" >> "$OUTPUT_FILE"
rpm-ostree cancel --help >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree install --help ---" >> "$OUTPUT_FILE"
rpm-ostree install --help >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree search --help ---" >> "$OUTPUT_FILE"
rpm-ostree search --help >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "--- rpm-ostree status --help ---" >> "$OUTPUT_FILE"
rpm-ostree status --help >> "$OUTPUT_FILE" 2>&1 || echo "Command failed" >> "$OUTPUT_FILE"
echo "" >> "$OUTPUT_FILE"
echo "=== TESTING COMPLETED ===" >> "$OUTPUT_FILE"
echo "Results saved to: $OUTPUT_FILE"
echo "✅ Testing completed! Results saved to: $OUTPUT_FILE"