#!/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"