|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
# File to track command output, so we can check for successful completion
|
|
|
|
OUTPUT_FILE=$(mktemp)
|
|
|
|
|
|
|
|
# If the command output does not contain a final confirmation of success, exit 1
|
|
|
|
confirm_success () {
|
|
|
|
if grep -q "Cleanup and validation completed" "$OUTPUT_FILE"; then
|
|
|
|
rm -f "$OUTPUT_FILE"
|
|
|
|
else
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
echo "Testing snapd-seed-glue with hello..."
|
|
|
|
|
|
|
|
/usr/bin/snapd-seed-glue --verbose --seed hello_test hello > >(tee -a "$OUTPUT_FILE") 2>&1
|
|
|
|
confirm_success
|
|
|
|
|
|
|
|
echo "Add htop to the same seed..."
|
|
|
|
|
|
|
|
/usr/bin/snapd-seed-glue --verbose --seed hello_test hello htop > >(tee -a "$OUTPUT_FILE") 2>&1
|
|
|
|
confirm_success
|
|
|
|
|
|
|
|
echo "Remove htop and replace it with btop..."
|
|
|
|
|
|
|
|
/usr/bin/snapd-seed-glue --verbose --seed hello_test hello btop > >(tee -a "$OUTPUT_FILE") 2>&1
|
|
|
|
confirm_success
|
|
|
|
|
|
|
|
echo "Confirm that non-existent snaps will fail..."
|
|
|
|
|
|
|
|
/usr/bin/snapd-seed-glue --verbose --seed test_dir absolutelyridiculouslongnamethatwilldefinitelyneverexist > >(tee -a "$OUTPUT_FILE") 2>&1 || echo "Fail expected"
|
|
|
|
if ! grep -q "cannot install snap \"absolutelyridiculouslongnamethatwilldefinitelyneverexist\": snap not found" "$OUTPUT_FILE"; then
|
|
|
|
exit 1
|
|
|
|
fi
|