mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-16 17:16:25 +00:00
70 lines
1.3 KiB
Bash
70 lines
1.3 KiB
Bash
#!/bin/sh -
|
|
#
|
|
# $Id$
|
|
#
|
|
# Check to make sure we can run DB 1.85 code.
|
|
d=../../
|
|
b=./tmp_build/
|
|
s=$d/src
|
|
|
|
mkdir -p $b
|
|
|
|
[ -f $d/LICENSE ] || {
|
|
echo 'FAIL: Test must be run from scr directory.'
|
|
exit 1
|
|
}
|
|
|
|
nocleanup=0
|
|
while [ $# -gt 0 ]
|
|
do
|
|
case "$1" in
|
|
-nocleanup)
|
|
nocleanup=1; shift;;
|
|
*)
|
|
echo "Unrecognized option: $1, ignoring"
|
|
shift;;
|
|
esac
|
|
done
|
|
|
|
opts="--enable-compat185 --disable-shared"
|
|
echo "Building DB library, this can take a while."
|
|
(cd $b && ../../../dist/configure $opts > /dev/null && make libdb.a > /dev/null) || {
|
|
echo 'FAIL: unable to build libdb.a'
|
|
exit 1
|
|
}
|
|
|
|
# if compiling on linux blade server, add -pthread on cc
|
|
CINC="-I$b -I$s -I$s/dbinc"
|
|
[ `uname` = "Linux" ] && CINC="$CINC -pthread"
|
|
|
|
for i in `ls test_*.c`; do
|
|
|
|
echo "=== Running $i ===" | tee -a compile.out
|
|
if cc -g -Wall $CINC $i $b/libdb.a -o t >> compile.out 2>&1; then
|
|
:
|
|
else
|
|
echo "FAIL: unable to compile test program $i"
|
|
exit 1
|
|
fi
|
|
|
|
if ./t; then
|
|
:
|
|
else
|
|
echo "FAIL: test program failed"
|
|
exit 1
|
|
fi
|
|
rm -f ./t
|
|
done
|
|
|
|
# Cleanup.
|
|
# TODO: The test should be consistent, so this cleanup isn't so haphazard.
|
|
# Alternatively we could build each test in a sub-dir and cleanup after
|
|
# individual runs.
|
|
rm a.db __db.* output
|
|
rm -rf ./TESTDIR
|
|
|
|
if [ nocleanup = 0 ]; then
|
|
rm -rf compile.out $b
|
|
fi
|
|
|
|
exit 0
|