1
0
Fork 0
zutils/testsuite/check.sh
Daniel Baumann df96fa16b7
Merging upstream version 0.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-02-24 04:51:50 +01:00

134 lines
2.8 KiB
Bash
Executable file

#! /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
ZCMP="${objdir}"/zcmp
ZDIFF="${objdir}"/zdiff
ZGREP="${objdir}"/zgrep
ZEGREP="${objdir}"/zegrep
ZFGREP="${objdir}"/zfgrep
ZUTILS="${objdir}"/zutils
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 > copy || fail=1
cmp in copy || fail=1
echo -n .
"${ZCAT}" in in.gz in.bz2 in.lz -- -in- > copy5 || fail=1
cmp in5 copy5 || fail=1
echo -n .
for i in ${extensions}; do
"${ZCMP}" in.$i || fail=1
echo -n .
"${ZCMP}" in in.$i || fail=1
echo -n .
"${ZCMP}" in.$i in || fail=1
echo -n .
done
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
"${ZGREP}" License in.$i 2>&1 > /dev/null || fail=1
echo -n .
done
"${ZGREP}" License in 2>&1 > /dev/null || fail=1
echo -n .
"${ZGREP}" License -- -in- 2>&1 > /dev/null || fail=1
echo -n .
"${ZGREP}" License -- -in-.lz 2>&1 > /dev/null || fail=1
echo -n .
"${ZGREP}" License in in.gz in.bz2 in.lz -- -in- 2>&1 > /dev/null || fail=1
echo -n .
"${ZEGREP}" License in 2>&1 > /dev/null || fail=1
echo -n .
"${ZFGREP}" License in 2>&1 > /dev/null || fail=1
echo -n .
if [ "gzip" != `"${ZUTILS}" -t in.gz` ]; then fail=1 ; fi
echo -n .
if [ "bzip2" != `"${ZUTILS}" -t in.bz2` ]; then fail=1 ; fi
echo -n .
if [ "lzip" != `"${ZUTILS}" -t in.lz` ]; then fail=1 ; fi
echo -n .
echo
if [ ${fail} = 0 ]; then
echo "tests completed successfully."
cd "${objdir}" && rm -r tmp
else
echo "tests failed."
fi
exit ${fail}