echo ""
}
-function verify_downloaded_file()
+function need_download()
{
LOCAL_PATH=$1
REMOTE_URL=$2
-
+ if [ ! -e $LOCAL_PATH ]; then
+ return 0;
+ fi
# Ignore checking md5 in cache
if [ ! -z $IGNORE_MD5 ] && [ "$IGNORE_MD5" == "1" ]; then
- return 0
+ return 1
fi
LOCAL_HASH=$(md5sum $LOCAL_PATH | awk '{ print $1 }')
- REMOTE_HASH=$(curl -I -ss $REMOTE_URL | grep '^Content-MD5' | tr -d '\r\n' | awk '{ print $2 }' | base64 -d | xxd -p)
+ REMOTE_HASH=$(curl -ss $REMOTE_URL | md5sum | awk '{ print $1 }')
# TODO Emit an error when Content-MD5 field was not found. (Server configuration issue)
-
if [ "$LOCAL_HASH" != "$REMOTE_HASH" ]; then
echo "Downloaded file is outdated or incomplete."
- return 1
+ return 0
fi
+ return 1
}
DRIVER_BIN=""
fi
# Download unless we have it in cache (Also check md5sum)
- if [ ! -e $MODELFILE ] || ! verify_downloaded_file "$MODELFILE" "$MODELFILE_URL"; then
+ if need_download "$MODELFILE" "$MODELFILE_URL"; then
echo ""
echo "Download test file for $TEST_NAME"
echo "======================"
fi
# Download unless we have it in cache (Also check md5sum)
- if [ ! -e $MODELFILE ] || ! verify_downloaded_file "$MODELFILE" "$MODELFILE_URL"; then
+ if need_download "$MODELFILE" "$MODELFILE_URL"; then
echo ""
echo "Download test file for $TEST_NAME"
echo "======================"