| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- #!/bin/sh
- #
- # author: Angus Salkeld (ahsalkeld@gmail.com)
- #
- # usage:
- # run this from the base directory of corosync
- #
- SRCDIR=$(pwd)
- ALL_TESTS="1 2 3 4"
- MAKE_LOG=/tmp/corosync-make-test.log
- test_1()
- {
- TEST="[1] simple make"
- rm -f $SRCDIR/make_o_path
- make >$MAKE_LOG 2>&1
- return $?
- }
- make_clean()
- {
- if [ -f $SRCDIR/make_o_path ]
- then
- make $(cat $SRCDIR/make_o_path) clean >$MAKE_LOG 2>&1
- RES=$?
- else
- if [ -n "$BUILD_DIR" ]
- then
- pushd $BUILD_DIR >/dev/null
- make -f $SRCDIR/Makefile clean >$MAKE_LOG 2>&1
- RES=$?
- popd >/dev/null
- else
- make clean >$MAKE_LOG 2>&1
- RES=$?
- fi
- fi
- return $RES
- }
- test_2()
- {
- rm -f $SRCDIR/make_o_path
- TEST="[2] make from exec dir"
- pushd $SRCDIR/exec >/dev/null
- make >$MAKE_LOG 2>&1
- RES=$?
- popd >/dev/null
- return $RES
- }
- test_3()
- {
- local BUILD_DIR=/tmp/corosync-make-test
- echo "O=$BUILD_DIR" > $SRCDIR/make_o_path
- TEST="[3] make objects separately from the source"
- rm -rf $BUILD_DIR
- make O=$BUILD_DIR >$MAKE_LOG 2>&1
- unset BUILD_DIR
- return $?
- }
- test_4()
- {
- BUILD_DIR=/tmp/corosync-make-test
- rm -f $SRCDIR/make_o_path
- TEST="[4] make -f SRCDIR/Makefile from the builddir"
-
- rm -rf $BUILD_DIR
- mkdir -p $BUILD_DIR
- pushd $BUILD_DIR >/dev/null
- make -f $SRCDIR/Makefile >$MAKE_LOG 2>&1
- RES=$?
- popd >/dev/null
- return $RES
- }
- if [ -n "$1" ]
- then
- TESTS_TO_RUN=$1
- else
- TESTS_TO_RUN=$ALL_TESTS
- fi
- for t in $TESTS_TO_RUN
- do
- test_$t
- if [ $? -ne 0 ]
- then
- echo "$0 $TEST [failed]."
- cat $MAKE_LOG
- exit 1
- else
- echo "$0 $TEST [passed]."
- fi
- make_clean
- if [ $? -ne 0 ]
- then
- echo "$0 $TEST [failed to clean]."
- cat $MAKE_LOG
- exit 1
- else
- echo "$0 $TEST [cleaned]."
- fi
- done
- echo $0 all make tests passed!
- exit 0
|