⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 functions.sh

📁 This a good VPN source
💻 SH
📖 第 1 页 / 共 3 页
字号:
    NJARGS="$NJARGS "`setup_additional_hosts`#    if [ "X$EXITONEMPTY" = "X--exitonempty" ]#    then#	NJARGS="$NJARGS -a"#    fi    rm -f OUTPUT${KLIPS_MODULE}/console.txt    cmd="expect -f $UTILS/host-test.tcl -- -U $TESTHOST -u $HOST_START -i ${INIT_SCRIPT} -n $NJ $NJARGS"    $NETJIGDEBUG && echo $cmd    eval $cmd    #uml_mconsole $TESTHOST halt    pcap_filter private "$REF_PRIV_OUTPUT" "$PRIVOUTPUT" "$REF_PRIV_FILTER"    pcap_filter public  "$REF_PUB_OUTPUT"  "$PUBOUTPUT"  "$REF_PUB_FILTER"    case $KERNVER in	26) if [ -n "$REF26_CONSOLE_OUTPUT" ]	    then		consolediff "26" OUTPUT${KLIPS_MODULE}/console.txt $REF26_CONSOLE_OUTPUT	    fi;;	*) if [ -n "$REF_CONSOLE_OUTPUT" ]	   then	        consolediff "" OUTPUT${KLIPS_MODULE}/console.txt $REF_CONSOLE_OUTPUT           fi;;    esac    case "$success" in    true)	exit 0 ;;    *)		exit $failnum ;;    esac}#####################################  test type: klipstest##################################### test entry point:klipstest() {    testdir=$1    testexpect=$2    echo '*******  KLIPS RUNNING' $testdir${KLIPS_MODULE} '*******'    export UML_BRAND="$$"    ( preptest $testdir klipstest && netjigtest )    stat=$?    recordresults $testdir "$testexpect" "$stat" $testdir${KLIPS_MODULE}}#####################################  test type: ctltest - run the UML with no I/O####################################do_ctl_test() {    success=true    prerunsetup    NJARGS=""    if [ -n "${FINAL_SCRIPT}" ]    then	NJARGS="$NJARGS -I ${FINAL_SCRIPT}"    fi    if [ -n "$REF_CONSOLE_OUTPUT" ]    then	rm -f OUTPUT${KLIPS_MODULE}/console.txt	NJARGS="$NJARGS -c OUTPUT${KLIPS_MODULE}/console.txt"    fi    if [ "X${NEEDS_DNS}" = "Xtrue" ]    then	NJARGS="$NJARGS -D $POOLSPACE/nic/start.sh"    fi    NJARGS="$NJARGS "`setup_additional_hosts`    cmd="expect -f $UTILS/host-test.tcl -- -U $TESTHOST -u $HOST_START -i ${INIT_SCRIPT} -n $NJ $NJARGS"    $NETJIGDEBUG && echo $cmd    eval $cmd    if [ -n "$REF_CONSOLE_OUTPUT" ]    then	consolediff "" OUTPUT${KLIPS_MODULE}/console.txt $REF_CONSOLE_OUTPUT    fi    case "$success" in    true)	exit 0 ;;    *)		exit 2 ;;    esac}# test entry point:ctltest() {    testdir=$1    testexpect=$2    echo '****** CONTROL RUNNING' $testdir${KLIPS_MODULE} '*******'    export UML_BRAND="$$"    ( preptest $testdir ctltest && do_ctl_test )    stat=$?    recordresults $testdir "$testexpect" "$stat" $testdir${KLIPS_MODULE}}skiptest() {    testdir=$1    testexpect=$2    export TEST_PURPOSE=regress    UML_BRAND=0 recordresults $testdir "$testexpect" skipped $testdir${KLIPS_MODULE}}#####################################  test type: mkinsttest####################################do_make_install_test() {    rm -rf OUTPUT${KLIPS_MODULE}/root    mkdir -p OUTPUT${KLIPS_MODULE}/root    # locale affects sort order.    LC_ALL=C export LC_ALL    success=true    instdir=`cd OUTPUT${KLIPS_MODULE}/root && pwd`    prerunsetup    if [ -n "$INSTALL_FLAGS" ]    then	$MAKE_INSTALL_TEST_DEBUG && echo make --no-print-directory DESTDIR=$instdir $INSTALL_FLAGS	(cd $OPENSWANSRCDIR && eval make OPENSWANSRCDIR=`pwd` --no-print-directory DESTDIR=$instdir $INSTALL_FLAGS ) >OUTPUT${KLIPS_MODULE}/install1.txt 2>&1 || exit 1    fi    if [ -n "$POSTINSTALL_SCRIPT" ]    then	$POSTINSTALL_SCRIPT $OPENSWANSRCDIR $instdir || exit 1    fi    if [ -n "$INSTALL2_FLAGS" ]    then	$MAKE_INSTALL_TEST_DEBUG && echo make --no-print-directory DESTDIR=$instdir $INSTALL2_FLAGS	(cd $OPENSWANSRCDIR && eval make OPENSWANSRCDIR=`pwd` --no-print-directory DESTDIR=$instdir $INSTALL2_FLAGS ) >OUTPUT${KLIPS_MODULE}/install2.txt 2>&1 || exit 1    fi    if [ -n "$UNINSTALL_FLAGS" ]    then	$MAKE_INSTALL_TEST_DEBUG && echo make --no-print-directory DESTDIR=$instdir $UNINSTALL_FLAGS	(cd $OPENSWANSRCDIR && eval make OPENSWANSRCDIR=`pwd` --no-print-directory DESTDIR=$instdir $UNINSTALL_FLAGS ) >OUTPUT${KLIPS_MODULE}/uninstall.txt 2>&1 || exit 1    fi    if [ -n "$REF_MAKE_DOC_OUTPUT" ]    then      rm -f OUTPUT${KLIPS_MODULE}/$REF_MAKE_DOC_OUTPUT.txt      (cd $OPENSWANSRCDIR/doc && eval make OPENSWANSRCDIR=$OPENSWANSRCDIR clean --no-print-directory && eval make OPENSWANSRCDIR=$OPENSWANSRCDIR --no-print-directory ) | sort >OUTPUT${KLIPS_MODULE}/$REF_MAKE_DOC_OUTPUT.txt      if diff -u -w -b -B $REF_MAKE_DOC_OUTPUT.txt OUTPUT${KLIPS_MODULE}/$REF_MAKE_DOC_OUTPUT.txt >OUTPUT${KLIPS_MODULE}/$REF_MAKE_DOC_OUTPUT.diff      then	 echo "make doc output matched"      else	 echo "make doc output differed"	 success=false      fi    fi    if [ -n "$REF_FIND_f_l_OUTPUT" ]    then      rm -f OUTPUT${KLIPS_MODULE}/$REF_FIND_f_l_OUTPUT      (cd OUTPUT${KLIPS_MODULE}/root && find . \( -type f -or -type l \) -print ) | sort >OUTPUT${KLIPS_MODULE}/$REF_FIND_f_l_OUTPUT.txt      if diff -u -w -b -B $REF_FIND_f_l_OUTPUT.txt OUTPUT${KLIPS_MODULE}/$REF_FIND_f_l_OUTPUT.txt >OUTPUT${KLIPS_MODULE}/$REF_FIND_f_l_OUTPUT.diff      then	 echo "Install list file list matched"      else	 echo "Install list file list differed"	 success=false      fi    fi    if [ -n "$REF_FILE_CONTENTS" ]    then      cat $REF_FILE_CONTENTS | while read reffile samplefile      do	if diff -u -w -b -B $reffile $instdir/$samplefile >OUTPUT${KLIPS_MODULE}/$reffile.diff	then	    echo "Reffile $samplefile matched"	else	    echo "Reffile $samplefile differed"	    success=false	fi      done    fi    case "$success" in    true)	exit 0 ;;    *)		exit 1 ;;    esac}# test entry point:mkinsttest() {    testdir=$1    testexpect=$2    echo '**** Make Install RUNNING' $testdir${KLIPS_MODULE} '****'    OPENSWANSRCDIR=`cd $OPENSWANSRCDIR && pwd` export OPENSWANSRCDIR    export UML_BRAND="$$"    ( preptest $testdir mkinsttest && do_make_install_test )    stat=$?    recordresults $testdir "$testexpect" "$stat" $testdir${KLIPS_MODULE}}#####################################  test type: rpm_build_install_test####################################do_rpm_install_test() {    rm -rf OUTPUT${KLIPS_MODULE}/root    mkdir -p OUTPUT${KLIPS_MODULE}/root    success=true    instdir=`cd OUTPUT${KLIPS_MODULE}/root && pwd`    prerunsetup    RPM_KERNEL_SOURCE=`eval echo $RPM_KERNEL_SOURCE`    if [ -z "$RPM_KERNEL_SOURCE" ]    then	echo "Test must define \$RPM_KERNEL_SOURCE ($RPM_KERNEL_SOURCE)"	success='missing $RPM_KERNEL_SOURCE'	exit 99    fi    if [ -z "$RPM_OMIT_BUILD" ]    then	echo "Building with kernel source $RPM_KERNEL_SOURCE";	(cd $OPENSWANSRCDIR/packaging/redhat && make clean --no-print-directory && make --no-print-directory RH_KERNELSRC=$RPM_KERNEL_SOURCE OPENSWANSRCDIR=$OPENSWANSRCDIR rpm )    fi    mkdir OUTPUT${KLIPS_MODULE}/rpm    cp $OPENSWANSRCDIR/packaging/redhat/rpms/RPMS/i386/*.rpm OUTPUT${KLIPS_MODULE}/rpm    # while loop below winds up in sub-shell. Argh.    successfile=OUTPUT${KLIPS_MODULE}/success    echo "$success" >$successfile    if [ -n "$REF_RPM_CONTENTS" ]    then      cat $REF_RPM_CONTENTS | while read rpmfile rpmcontents      do        if [ -z "$rpmfile" ]	then	    continue;	fi        # expand $rpmfile, which may have wildcards!	realfile=`eval echo OUTPUT${KLIPS_MODULE}/rpm/${rpmfile}`	if [ ! -f $realfile ]	then	    echo "RPM production failed to build anything to match $rpmfile"	    echo false >$successfile	fi        rpm2cpio $realfile | cpio -it >OUTPUT${KLIPS_MODULE}/$rpmcontents.txt	if diff -u -w -b -B $rpmcontents.txt OUTPUT${KLIPS_MODULE}/$rpmcontents.txt >OUTPUT${KLIPS_MODULE}/$rpmcontents.diff	then	    echo "Reffile ($rpmcontents) for $realfile matched"	else	    echo "Reffile ($rpmcontents) for $realfile differed"	    echo false >$successfile	fi      done    fi    success=`cat $successfile`    case "$success" in    true)	exit 0 ;;    *)		exit 1 ;;    esac}# test entry point:rpm_build_install_test() {    testdir=$1    testexpect=$2    echo '**** Make Install RUNNING' $testdir${KLIPS_MODULE} '****'    OPENSWANSRCDIR=`cd $OPENSWANSRCDIR && pwd` export OPENSWANSRCDIR    export UML_BRAND="$$"    ( preptest $testdir rpm_build_install_test && do_rpm_install_test )    stat=$?    if [ $stat = 99 ]    then        echo Test missing parts.	stat='missing parts'    fi    recordresults $testdir "$testexpect" "$stat" $testdir${KLIPS_MODULE}}#####################################  test type: ipkg_build_install_test####################################do_ipkg_install_test() {    rm -rf OUTPUT${KLIPS_MODULE}/root    mkdir -p OUTPUT${KLIPS_MODULE}/root    success=true    instdir=`cd OUTPUT${KLIPS_MODULE}/root && pwd`    prerunsetup    KERNEL_SOURCE=`eval echo $KERNEL_SOURCE`    if [ -z "$KERNEL_SOURCE" ]    then	echo "Test must define \$KERNEL_SOURCE ($KERNEL_SOURCE)"	success='missing $KERNEL_SOURCE'	exit 99    fi    if [ -z "$OMIT_BUILD" ]    then	echo "Building with kernel source $KERNEL_SOURCE";	(cd $OPENSWANSRCDIR && make clean --no-print-directory && make --no-print-directory KERNELSRC=$KERNEL_SOURCE OPENSWANSRCDIR=$OPENSWANSRCDIR DESTDIR=/tmp/ipkg ipkg )    fi    mkdir OUTPUT${KLIPS_MODULE}/ipkg    cp $OPENSWANSRCDIR/packaging/ipkg/ipkg/*.ipk  OUTPUT${KLIPS_MODULE}/ipkg    # while loop below winds up in sub-shell. Argh.    successfile=OUTPUT${KLIPS_MODULE}/success    echo "$success" >$successfile    if [ -n "$REF_IPKG_CONTENTS" ]    then      cat $REF_IPKG_CONTENTS | while read ipkgfile ipkgcontents      do        if [ -z "$ipkgfile" ]	then	    continue;	fi        # expand $ipkgfile, which may have wildcards!	realfile=`eval echo OUTPUT${KLIPS_MODULE}/ipkg/${ipkgfile}`	if [ ! -f $realfile ]	then	    echo "IPKG production failed to build anything to match $ipkgfile"	    echo false >$successfile	fi        tar -tzvf  $realfile >OUTPUT${KLIPS_MODULE}/$ipkgcontents.txt	if diff -u -w -b -B $ipkgcontents.txt OUTPUT${KLIPS_MODULE}/$ipkgcontents.txt >OUTPUT${KLIPS_MODULE}/$ipkgcontents.diff	then	    echo "Reffile ($ipkgcontents) for $realfile matched"	else	    echo "Reffile ($ipkgcontents) for $realfile differed"	    echo false >$successfile	fi      done    fi    success=`cat $successfile`    case "$success" in    true)	exit 0 ;;    *)		exit 1 ;;    esac}# test entry point:ipkg_build_install_test() {    testdir=$1    testexpect=$2    echo '**** Make Install RUNNING' $testdir${KLIPS_MODULE} '****'    OPENSWANSRCDIR=`cd $OPENSWANSRCDIR && pwd` export OPENSWANSRCDIR    export UML_BRAND="$$"    ( preptest $testdir ipkg_build_install_test && do_ipkg_install_test )    stat=$?    if [ $stat = 99 ]    then        echo Test missing parts.	stat='missing parts'    fi    recordresults $testdir "$testexpect" "$stat" $testdir${KLIPS_MODULE}}#####################################  test type: libtest##################################### test entry point:libtest() {    testobj=$1    testexpect=$2    testsrc=$testobj.c    CC=${CC-cc}    echo '**** make libtest RUNNING' $testsrc '****'    symbol=`echo $testobj | tr 'a-z' 'A-Z'`_MAIN    if [ -f ./$testsrc ]     then	FILE=./$testsrc    elif [ -f ${OPENSWANSRCDIR}/lib/libopenwan/$testsrc ]    then	FILE=${LIBOPENSWANDIR}/$testsrc    elif [ -f ${OPENSWANSRCDIR}/lib/libopenwan/$testsrc ]    then        FILE=${OPENSWANSRCDIR}/lib/libopenswan/$testsrc    elif [ -f ${OPENSWANSRCDIR}/linux/net/klips/$testsrc ]    then        FILE=${OPENSWANSRCDIR}/linux/net/klips/$testsrc    elif [ -f ${OPENSWANSRCDIR}/linux/lib/libopenswan/$testsrc ]    then        FILE=${OPENSWANSRCDIR}/linux/lib/libopenswan/$testsrc    elif [ -f ${OPENSWANSRCDIR}/linux/lib/libfreeswan/$testsrc ]    then        FILE=${OPENSWANSRCDIR}/linux/lib/libfreeswan/$testsrc    elif [ -f ${OPENSWANSRCDIR}/linux/net/ipsec/$testsrc ]    then        FILE=${OPENSWANSRCDIR}/linux/net/ipsec/$testsrc    fi    #echo "LOOKING for " ./FLAGS.$testobj    EXTRAFLAGS=    EXTRALIBS=    if [ -f ./FLAGS.$testobj ]    then	source ./FLAGS.$testobj    fi    stat=99    if [ -n "$FILE" -a -r "$FILE" ]    then	    echo CC: ${CC} -g -o $testobj -D$symbol ${EXTRAFLAGS} -I${LIBOPENSWANDIR} -I${OPENSWANSRCDIR}/linux/include -I${OPENSWANSRCDIR} ${FILE} ${OPENSWANLIB} ${EXTRALIBS}	    ${CC} -g -o $testobj -D$symbol ${EXTRAFLAGS} -I${LIBOPENSWANDIR} -I${OPENSWANSRCDIR}/linux/include -I${OPENSWANSRCDIR} ${FILE} ${OPENSWANLIB} ${EXTRALIBS}	    rm -rf lib-$testobj/OUTPUT	    mkdir -p lib-$testobj/OUTPUT	    export TEST_PURPOSE=regress	    echo Running $testobj	    ( ulimit -c unlimited; cd lib-$testobj && ../$testobj -r >OUTPUT${KLIPS_MODULE}/$testobj.txt 2>&1 )	    stat=$?	    echo Exit code $stat	    if [ $stat -gt 128 ]	    then		stat="$stat core"	    else		if [ -r OUTPUT.$testobj.txt ]		then		    if diff -N -u -w -b -B lib-$testobj/OUTPUT${KLIPS_MODULE}/$testobj.txt OUTPUT.$testobj.txt > lib-$testobj/OUTPUT${KLIPS_MODULE}/$testobj.output.diff		    then			echo "output matched"		    else			echo "output differed"		    fi		fi            fi    fi    TEST_PURPOSE=regress  UML_BRAND=0 recordresults lib-$testobj "$testexpect" $stat lib-$testobj}#####################################  test type: umlplutotest#####################################  If set, then the public and private packet output will be captured,#  turned into ASCII with tcpdump, and diff'ed against these files.#    REF_PUB_OUTPUT    - for public side#    REF_EAST_OUTPUT   - for east private side#    REF_WEST_OUTPUT   - for west private side#    TCPDUMPARGS     - extra args for TCPDUMP.##  If set, then the console output will be diff'ed against this file:#    REF_EAST_CONSOLE_OUTPUT#    REF_WEST_CONSOLE_OUTPUT##  The console output may need to be sanitized. The list of fixups from# REF_CONSOLE_FIXUPS will be appled from "fixups". The extension is used to# determine what program to use.##  Some additional options to control the network emulator#    ARPREPLY=--arpreply         - if ARPs should be answered# test entry point:umlplutotest() {    testdir=$1    testexpect=$2    echo '***** UML PLUTO RUNNING' $testdir${KLIPS_MODULE} '*******'    export UML_BRAND="$$"    ( export XHOST_LIST="EAST WEST"      preptest $testdir umlplutotest && do_umlX_test )    stat=$?    recordresults $testdir "$testexpect" "$stat" $testdir${KLIPS_MODULE}}#####################################  test type: kernel_patch_test####################################do_kernel_patch_test() {    success=true    set -e    if [ -z "${KERNEL_VERSION}" ]

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -