You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
QA/tests/p_osinfo-db/03-check-image-sha256.sh

47 lines
1.7 KiB

#!/bin/bash
set -e
echo "Тест проверки целостности ISO образов MSVSphere ОС"
echo "=================================================="
echo ""
source library/sh_lib.sh
echo "ATTENSION: Test temporarely skipped."
exit 0
check=0
ISO_IMAGES_URLS_FILE='files/msvsphereiso_url.txt'
while read LINE; do
ISO_FILENAME=`basename $LINE`
ISO_URL_PATH="${LINE%/*}"
LOCAL_FILE="/home/pavel/MSVSphere-images/$ISO_FILENAME"
CHECKSUM_FILE_URL="$ISO_URL_PATH/$ISO_FILENAME.CHECKSUM"
echo "ISO URL: $LINE"
echo "Local file path: $LOCAL_FILE"
echo "Checksum File: $CHECKSUM_FILE_URL"
# Get SHA256 hash value:
# curl -s https://rsync.inferitos.ru/msvsphere/9.3/isos/x86_64/MSVSphere-9.3-x86_64-arm.iso.CHECKSUM | /bin/grep SHA256 | /bin/grep -v Hash: | /bin/awk -F '=' '{gsub(/ /, "", $2); print $2}'
SHA256_HASH_FROM_FILE="$(curl -s $CHECKSUM_FILE_URL | /bin/grep SHA256 | /bin/grep -v Hash: | /bin/awk -F '=' '{gsub(/ /, "", $2); print $2}')"
# curl -LJs -r 0-1048576 -o img.iso $LINE
# sha256sum /home/pavel/MSVSphere-images/MSVSphere-9.3-x86_64-arm.iso | /bin/awk -F ' ' '{ print $1 }'
SHA256_HASH_CALCULATED="$(sha256sum $LOCAL_FILE | /bin/awk -F ' ' '{ print $1 }')"
# Test and print results
echo "Calculated file SHA256 hash: $SHA256_HASH_CALCULATED"
echo "SHA256 hash from CHECKSUM file: $SHA256_HASH_FROM_FILE"
if [ "$SHA256_HASH_CALCULATED" == "$SHA256_HASH_FROM_FILE" ]; then
echo 'SHA256 hash OK'
else
echo 'ERROR: SHA256 hash mismatch!!!'
let check+=1
fi
echo "--------------------------"
done < $ISO_IMAGES_URLS_FILE
check_test_status ${check} "$0"
exit ${check}