Add a wrapper to run tests out of scripts/test. With no arguments, runs all
authorRob Landley <rob@landley.net>
Sun, 16 Dec 2007 23:55:34 +0000 (17:55 -0600)
committerRob Landley <rob@landley.net>
Sun, 16 Dec 2007 23:55:34 +0000 (17:55 -0600)
*.test files.  Arguments are names of commands to test.  When environment
variable "OLD" is set, tests commands in $PATH rather than new toybox versions.

test.sh [new file with mode: 0755]

diff --git a/test.sh b/test.sh
new file mode 100755 (executable)
index 0000000..47a50b1
--- /dev/null
+++ b/test.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+[ -z "$TOPDIR" ] && TOPDIR="$(pwd)"
+[ -z "$TESTDIR" ] && TESTDIR="testdir"
+
+rm -rf "$TESTDIR"
+mkdir -p "$TESTDIR"
+
+if [ -z "$OLD" ]
+then
+  make install_flat PREFIX="$TESTDIR"
+fi
+
+cd "$TESTDIR"
+PATH=.:$PATH
+
+. "$TOPDIR"/scripts/test/testing.sh
+[ -f "$TOPDIR/gen_config.h" ] && export OPTIONFLAGS=:$(echo $(sed -nr 's/^#define CFG_(.*) 1/\1/p' "$TOPDIR/gen_config.h") | sed 's/ /:/g')
+
+if [ $# -ne 0 ]
+then
+  for i in "$@"
+  do
+    . "$TOPDIR"/scripts/test/$i.test
+  done
+else
+  for i in "$TOPDIR"/scripts/test/*.test
+  do
+    . $i
+  done
+fi
+
+rm -rf "$TESTDIR"