[PATCH] umask for run-tests
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] umask for run-tests
From: Bryan O'Sullivan <bos@serpentine.com>
Another local factor affecting test breakage: umask. Mine is 002, but
some other people seem to use 022.
This patch makes run-tests explicitly set a umask.
manifest hash: 39aaea44746b113e992bcf0a9e93d9de3961c907
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwOz8ywK+sNU5EO8RAvr7AJ9gRknqzQD6UmV1SpzHGqQyclcuxgCeItoD
W7yNbrtIAPyMJsfwhVECx3s=
=KhYb
-----END PGP SIGNATURE-----
#!/bin/bash
set -e
export LANG=C
export LC_CTYPE="C"
export LC_NUMERIC="C"
export LC_TIME="C"
export LC_COLLATE="C"
export LC_MONETARY="C"
export LC_MESSAGES="C"
export LC_PAPER="C"
export LC_NAME="C"
export LC_ADDRESS="C"
export LC_TELEPHONE="C"
export LC_MEASUREMENT="C"
export LC_IDENTIFICATION="C"
export LC_ALL=""
umask 022
tests=0
failed=0
H=$PWD
if [ -d /usr/lib64 ]; then
lib=lib64
else
lib=lib
fi
TESTPATH=$PWD/install/bin
export PATH=$TESTPATH:$PATH
export PYTHONPATH=$PWD/install/$lib/python
rm -rf install
cd ..
${PYTHON:-python} setup.py install --home=tests/install > tests/install.err
if [ $? != 0 ] ; then
cat tests/install.err
fi
cd $H
rm install.err
function run_one
{
rm -f $1.err
export TZ=GMT
D=`mktemp -d`
if [ "$D" == "" ] ; then
echo mktemp failed!
fi
cd $D
fail=0
if ! $H/$1 > .out 2>&1 ; then
echo $1 failed with error code $?
fail=1
fi
if [ -s .out -a ! -r $H/$1.out ] ; then
echo $1 generated unexpected output:
cat .out
cp .out $H/$1.err
fail=1
elif [ -r $H/$1.out ] && ! diff -u $H/$1.out .out > /dev/null ; then
echo $1 output changed:
diff -u $H/$1.out .out && true
cp .out $H/$1.err
fail=1
fi
cd $H
rm -r $D
return $fail
}
TESTS=$@
if [ "$TESTS" == "" ] ; then
TESTS=`ls test-* | grep -Ev "\.|~"`
fi
for f in $TESTS ; do
echo -n "."
if ! run_one $f ; then
failed=$[$failed + 1]
fi
tests=$[$tests + 1]
done
rm -rf install
echo
echo Ran $tests tests, $failed failed
if [ $failed -gt 0 ] ; then
exit 1
fi