18b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley#!/bin/bash 28b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley 31ffa7f45eb4fe3b73f94e69c929ad311d9c44b81Rob LandleyTOPDIR="$PWD" 41ffa7f45eb4fe3b73f94e69c929ad311d9c44b81Rob LandleyFILES="$PWD"/tests/files 58b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley 6387edf547eb09b27ca6d49772eb048d729f09cf4Rob Landleytrap 'kill $(jobs -p) 2>/dev/null; exit 1' INT 7387edf547eb09b27ca6d49772eb048d729f09cf4Rob Landley 8387edf547eb09b27ca6d49772eb048d729f09cf4Rob Landleyrm -rf generated/testdir 9387edf547eb09b27ca6d49772eb048d729f09cf4Rob Landleymkdir -p generated/testdir/testdir 108b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley 11e156d44eb2e9954d37ed0dfa326f263c3ed4c3d7Rob Landleyif [ -z "$TEST_HOST" ] 128b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landleythen 1326f52eb13eb27c5aefdb644d96408376b5d63783Rob Landley if [ $# -ne 0 ] 1426f52eb13eb27c5aefdb644d96408376b5d63783Rob Landley then 15387edf547eb09b27ca6d49772eb048d729f09cf4Rob Landley PREFIX=generated/testdir/ scripts/single.sh "$@" || exit 1 1626f52eb13eb27c5aefdb644d96408376b5d63783Rob Landley else 17387edf547eb09b27ca6d49772eb048d729f09cf4Rob Landley make install_flat PREFIX=generated/testdir || exit 1 1826f52eb13eb27c5aefdb644d96408376b5d63783Rob Landley fi 198b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landleyfi 208b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley 21387edf547eb09b27ca6d49772eb048d729f09cf4Rob Landleycd generated/testdir 224a855d6cf62cebe40fa9fe97c7e6b9ca49f79b5bRob LandleyPATH="$PWD:$PATH" 234a855d6cf62cebe40fa9fe97c7e6b9ca49f79b5bRob Landleycd testdir 24deb31c82944c1fa98ea2942691c53c9d841c1a66Rob Landleyexport LC_COLLATE=C 258b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley 26387edf547eb09b27ca6d49772eb048d729f09cf4Rob Landley. "$TOPDIR"/scripts/runtest.sh 2737256ff6f390cbf86a14249e32e37865c85f1f2dRob Landley[ -f "$TOPDIR/generated/config.h" ] && export OPTIONFLAGS=:$(echo $(sed -nr 's/^#define CFG_(.*) 1/\1/p' "$TOPDIR/generated/config.h") | sed 's/ /:/g') 288b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley 29ee14fc396dff50a263b62670f5484efcd6316aebRob Landleydo_test() 30ee14fc396dff50a263b62670f5484efcd6316aebRob Landley{ 31ee14fc396dff50a263b62670f5484efcd6316aebRob Landley CMDNAME="${1##*/}" 32ee14fc396dff50a263b62670f5484efcd6316aebRob Landley CMDNAME="${CMDNAME%.test}" 33ee14fc396dff50a263b62670f5484efcd6316aebRob Landley [ -z "$2" ] && C="$(readlink -f ../$CMDNAME)" || C="$(which $CMDNAME)" 34ee14fc396dff50a263b62670f5484efcd6316aebRob Landley if [ ! -z "$C" ] 35ee14fc396dff50a263b62670f5484efcd6316aebRob Landley then 36ee14fc396dff50a263b62670f5484efcd6316aebRob Landley . "$1" 37ee14fc396dff50a263b62670f5484efcd6316aebRob Landley else 38ee14fc396dff50a263b62670f5484efcd6316aebRob Landley echo "$CMDNAME disabled" 39ee14fc396dff50a263b62670f5484efcd6316aebRob Landley fi 40ee14fc396dff50a263b62670f5484efcd6316aebRob Landley} 41ee14fc396dff50a263b62670f5484efcd6316aebRob Landley 428b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landleyif [ $# -ne 0 ] 438b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landleythen 448b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley for i in "$@" 458b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley do 46ee14fc396dff50a263b62670f5484efcd6316aebRob Landley do_test "$TOPDIR"/tests/$i.test 478b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley done 488b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landleyelse 49387edf547eb09b27ca6d49772eb048d729f09cf4Rob Landley for i in "$TOPDIR"/tests/*.test 508b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley do 51ee14fc396dff50a263b62670f5484efcd6316aebRob Landley if [ -z "$TEST_HOST" ] 52c564834cdc4554c601ad6d23a17a4b84ab95953dRob Landley then 53ee14fc396dff50a263b62670f5484efcd6316aebRob Landley do_test "$i" 1 54c564834cdc4554c601ad6d23a17a4b84ab95953dRob Landley else 55ee14fc396dff50a263b62670f5484efcd6316aebRob Landley rm -rf testdir && mkdir testdir && cd testdir || exit 1 56ee14fc396dff50a263b62670f5484efcd6316aebRob Landley do_test "$i" 57ee14fc396dff50a263b62670f5484efcd6316aebRob Landley cd .. 58c564834cdc4554c601ad6d23a17a4b84ab95953dRob Landley fi 598b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landley done 608b479b4fd22c13fcf3fd89f8be083180aac87ae7Rob Landleyfi 61