blob: b7c114f9bddcd830953bb5b67e5bc89e414a89f0 [file] [log] [blame]
#!/bin/sh
################################################################################
##
## Licensed to the Apache Software Foundation (ASF) under one or more
## contributor license agreements. See the NOTICE file distributed with
## this work for additional information regarding copyright ownership.
## The ASF licenses this file to You under the Apache License, Version 2.0
## (the "License"); you may not use this file except in compliance with
## the License. You may obtain a copy of the License at
##
## http://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing, software
## distributed under the License is distributed on an "AS IS" BASIS,
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
## See the License for the specific language governing permissions and
## limitations under the License.
##
################################################################################
set -e
# Checks that tar.gz and zip bundles have the exact same contents
. `dirname $0`/common.sh
setUsage "`basename $0` tgz-bundle1 zip-bundle2"
handleHelp "$@"
if [ $# -ge 1 ]
then
TGZ_BUNDLE=$1; shift
fi
if [ $# -ge 1 ]
then
ZIP_BUNDLE=$1; shift
fi
noExtraArgs "$@"
function compareBundles() {
TGZFILE="$1"
ZIPFILE="$2"
echo
echo "Unpacking and comparing bundles..."
echo "[1] ${TGZFILE}"
echo "[2] ${ZIPFILE}"
set +e
DIR=`mktemp -d`
mkdir ${DIR}/bundle1 ${DIR}/bundle2
(cd ${DIR}/bundle1; set -x; tar zxf ${TGZFILE})
(cd ${DIR}/bundle2; set -x; unzip -q ${ZIPFILE})
(set -x; cd ${DIR}; diff -r -q bundle1 bundle2)
EC=$?
(cd ${DIR}; rm -rf bundle1 bundle2)
rmdir ${DIR}
set -e
if [ "${EC}" != 0 ] ; then
echo "FAILED: bundles have different contents"
fi
return ${EC}
}
ABS_TGZ_BUNDLE=$(getAbsPath "${TGZ_BUNDLE}")
ABS_ZIP_BUNDLE=$(getAbsPath "${ZIP_BUNDLE}")
compareBundles ${ABS_TGZ_BUNDLE} ${ABS_ZIP_BUNDLE}
echo
echo "SUCCESS: bundles have the same contents"