From 5e1a84ab74d5e97582427f016f291a8c11e66f99 Mon Sep 17 00:00:00 2001 From: jutteau Date: Fri, 11 May 2007 18:10:19 +0000 Subject: Completion du script de mise à jour de la pc-104 : * Ajout des sources de busybox dans ./conf/busybox/ * Ajout d'un fichier réclamé par les script dans ./conf/busybox.links --- i/pc104/initrd/conf/busybox/testsuite/runtest | 150 ++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100755 i/pc104/initrd/conf/busybox/testsuite/runtest (limited to 'i/pc104/initrd/conf/busybox/testsuite/runtest') diff --git a/i/pc104/initrd/conf/busybox/testsuite/runtest b/i/pc104/initrd/conf/busybox/testsuite/runtest new file mode 100755 index 0000000..279f51f --- /dev/null +++ b/i/pc104/initrd/conf/busybox/testsuite/runtest @@ -0,0 +1,150 @@ +#!/bin/sh + +[ -n "$srcdir" ] || srcdir=$(pwd) +[ -n "$bindir" ] || bindir=$(dirname $(pwd)) +PATH=$bindir:$PATH + +# Run old-style test. + +run_applet_testcase() +{ + local applet=$1 + local testcase=$2 + + local status=0 + local RES= + + local uc_applet=$(echo $applet | tr a-z A-Z) + local testname=$(basename $testcase) + + if grep -q "^# CONFIG_${uc_applet} is not set$" $bindir/.config; then + echo UNTESTED: $testname + return 0 + fi + + if grep -q "^# FEATURE: " $testcase; then + local feature=`sed -ne 's/^# FEATURE: //p' $testcase` + + if grep -q "^# ${feature} is not set$" $bindir/.config; then + echo UNTESTED: $testname + return 0 + fi + fi + + rm -rf tmp + mkdir -p tmp + pushd tmp > /dev/null + + d=$srcdir sh -x -e $testcase >.logfile.txt 2>&1 || status=$? + + if [ $status -ne 0 ] ; then + echo FAIL: $testname + if [ $verbose -gt 0 ]; then + cat .logfile.txt + fi + status=$? + else + echo PASS: $testname + rm -f .logfile.txt + status=$? + fi + + popd > /dev/null + rm -rf tmp + + return $status +} + +run_applet_tests() +{ + local applet=$1 + + local status=0 + + for testcase in $srcdir/$applet/*; do + if [ "$testcase" = "$srcdir/$applet/CVS" ]; then + continue + fi + + if run_applet_testcase $applet $testcase; then + : + else + status=1 + fi + done + + return $status +} + + +status=0 +verbose=0 + +if [ x"$1" = x"-v" ]; then + verbose=1 + export VERBOSE=$verbose + shift +fi + +if [ $# -ne 0 ]; then + applets=$(cd $srcdir ; for i in $@; do ls ${i}* ; done) +else + applets=$(ls $srcdir) +fi + +# Populate a directory with links to all busybox applets + +LINKSDIR="$bindir/runtest-tempdir-links" +implemented=$($bindir/busybox 2>&1 | + while read line + do + if test x"$line" = x"Currently defined functions:" + then + xargs | sed 's/,//g' + break + fi + done + ) +rm -rf "$LINKSDIR" 2>/dev/null +mkdir "$LINKSDIR" +for i in $implemented +do + ln -s $bindir/busybox "$LINKSDIR"/$i +done + +# Set up option flags so tests can be selective. + +configfile=${bindir:-../../}/.config +export OPTIONFLAGS=:$(echo $(sed -nr 's/^CONFIG_(.*)=.*/\1/p' $configfile) | sed 's/ /:/g') + +for applet in $applets; do + if [ "$applet" = "links" ]; then continue; fi + if [ "$applet" != "CVS" -a -d "$srcdir/$applet" ]; then + if run_applet_tests $applet; then + : + else + status=1 + fi + fi + + # Is this a new-style test? + applet=$(echo "$applet" | sed -n 's/\.tests$//p') + if [ ${#applet} -ne 0 ] + then + if [ ! -h "$LINKSDIR/$applet" ] && [ "${applet:0:4}" != "all_" ] + then + echo "SKIPPED: $applet (not built)" + continue + fi + if PATH="$LINKSDIR":$srcdir:$bindir:$PATH \ + "${srcdir:-.}/$applet".tests + then + : + else + status=1 + fi + fi + +done +rm -rf "$LINKSDIR" +exit $status -- cgit v1.2.3