source: MondoRescue/branches/3.3/mindi-busybox/shell/ash_test/run-all@ 3632

Last change on this file since 3632 was 3621, checked in by Bruno Cornec, 10 years ago

New 3?3 banch for incorporation of latest busybox 1.25. Changing minor version to handle potential incompatibilities.

  • Property svn:executable set to *
File size: 1.8 KB
Line 
1#!/bin/sh
2
3TOPDIR=$PWD
4
5test -x ash || {
6 echo "No ./ash - creating a link to ../../busybox"
7 ln -s ../../busybox ash
8}
9test -x printenv || gcc -O2 -o printenv printenv.c || exit $?
10test -x recho || gcc -O2 -o recho recho.c || exit $?
11test -x zecho || gcc -O2 -o zecho zecho.c || exit $?
12
13PATH="$PWD:$PATH" # for ash and recho/zecho/printenv
14export PATH
15
16THIS_SH="$PWD/ash"
17export THIS_SH
18
19do_test()
20{
21 test -d "$1" || return 0
22# echo do_test "$1"
23 # $1 but with / replaced by # so that it can be used as filename part
24 noslash=`echo "$1" | sed 's:/:#:g'`
25 (
26 cd "$1" || { echo "cannot cd $1!"; exit 1; }
27 for x in run-*; do
28 test -f "$x" || continue
29 case "$x" in
30 "$0"|run-minimal|run-gprof) ;;
31 *.orig|*~) ;;
32 #*) echo $x ; sh $x ;;
33 *)
34 echo -n "$1/$x: "
35 sh "$x" >"$TOPDIR/$noslash-$x.fail" 2>&1 && \
36 { echo "ok"; rm "$TOPDIR/$noslash-$x.fail"; } || echo "fail";
37 ;;
38 esac
39 done
40 # Many bash run-XXX scripts just do this,
41 # no point in duplication it all over the place
42 for x in *.tests; do
43 test -x "$x" || continue
44 name="${x%%.tests}"
45 test -f "$name.right" || continue
46 echo -n "$1/$x: "
47 {
48 "$THIS_SH" "./$x" >"$name.xx" 2>&1
49 diff -u "$name.xx" "$name.right" >"$TOPDIR/$noslash-$x.fail" \
50 && rm -f "$name.xx" "$TOPDIR/$noslash-$x.fail"
51 } && echo "ok" || echo "fail"
52 done
53 )
54}
55
56# main part of this script
57# Usage: run-all [directories]
58
59if [ $# -lt 1 ]; then
60 # All sub directories
61 modules=`ls -d ash-*`
62 # If you want to test ash against hush and msh testsuites
63 # (have to copy hush_test and msh_test dirs to current dir first):
64 #modules=`ls -d ash-* hush_test/hush-* msh_test/msh-*`
65
66 for module in $modules; do
67 do_test $module
68 done
69else
70 while [ $# -ge 1 ]; do
71 if [ -d $1 ]; then
72 do_test $1
73 fi
74 shift
75 done
76fi
Note: See TracBrowser for help on using the repository browser.