1
0
Fork 0
zutils/testsuite/check.sh

111 lines
2.2 KiB
Bash
Raw Normal View History

#! /bin/sh
# check script for Zutils - Utilities dealing with compressed files
# Copyright (C) 2009 Antonio Diaz Diaz.
#
# This script is free software: you have unlimited permission
# to copy, distribute and modify it.
LC_ALL=C
export LC_ALL
objdir=`pwd`
testdir=`cd "$1" ; pwd`
ZCAT="${objdir}"/zcat
ZDIFF="${objdir}"/zdiff
ZGREP="${objdir}"/zgrep
compressors="gzip bzip2 lzip"
extensions="gz bz2 lz"
framework_failure() { echo 'failure in testing framework'; exit 1; }
if [ ! -x "${ZCAT}" ] ; then
echo "${ZCAT}: cannot execute"
exit 1
fi
if [ -d tmp ] ; then rm -r tmp ; fi
mkdir tmp
echo -n "testing zutils..."
cd "${objdir}"/tmp
for i in ${compressors}; do
cat "${testdir}"/../COPYING > in || framework_failure
$i in || framework_failure
echo -n .
done
cat "${testdir}"/../COPYING > in || framework_failure
cat in > -in- || framework_failure
cat in.lz > -in-.lz || framework_failure
cat in in in in in > in5 || framework_failure
fail=0
for i in ${extensions}; do
"${ZCAT}" in.$i > copy || fail=1
cmp in copy || fail=1
echo -n .
done
"${ZCAT}" in in.gz in.bz2 in.lz -- -in- > copy5 || fail=1
cmp in5 copy5 || fail=1
echo -n .
for i in ${extensions}; do
"${ZDIFF}" in.$i || fail=1
echo -n .
"${ZDIFF}" in in.$i || fail=1
echo -n .
"${ZDIFF}" in.$i in || fail=1
echo -n .
done
"${ZDIFF}" in || fail=1
echo -n .
"${ZDIFF}" in.lz in.gz || fail=1
echo -n .
"${ZDIFF}" in.gz -- -in-.lz || fail=1
echo -n .
"${ZDIFF}" -- -in-.lz in.gz || fail=1
echo -n .
"${ZDIFF}" in -- -in-.lz || fail=1
echo -n .
"${ZDIFF}" -- -in- in.lz || fail=1
echo -n .
"${ZDIFF}" in.lz -- -in- || fail=1
echo -n .
"${ZDIFF}" -- -in-.lz in || fail=1
echo -n .
"${ZDIFF}" -- -in- in || fail=1
echo -n .
"${ZDIFF}" in -- -in- || fail=1
echo -n .
for i in ${extensions}; do
"${ZDIFF}" --cmp in.$i || fail=1
echo -n .
"${ZDIFF}" --cmp in in.$i || fail=1
echo -n .
"${ZDIFF}" --cmp in.$i in || fail=1
echo -n .
done
for i in ${extensions}; do
"${ZGREP}" License in.$i 2>&1 > /dev/null || fail=1
echo -n .
done
"${ZGREP}" License in in.gz in.bz2 in.lz -- -in- 2>&1 > /dev/null || fail=1
echo -n .
echo
if test ${fail} = 0; then
echo "tests completed successfully."
cd "${objdir}" && rm -r tmp
else
echo "tests failed."
fi
exit ${fail}