summaryrefslogtreecommitdiffstats
path: root/tools/ocft/runocft
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ocft/runocft')
-rwxr-xr-xtools/ocft/runocft38
1 files changed, 38 insertions, 0 deletions
diff --git a/tools/ocft/runocft b/tools/ocft/runocft
new file mode 100755
index 0000000..d269a6b
--- /dev/null
+++ b/tools/ocft/runocft
@@ -0,0 +1,38 @@
+#!/bin/sh
+OCFTDIR=/usr/share/resource-agents/ocft
+CONFDIR=$OCFTDIR/configs
+
+prereq_run() {
+ eval "$@"
+}
+prereq_prog() {
+ which $@
+}
+
+test_prereq() {
+ local tp arg
+ tp=`echo $prereq|sed 's/:.*//'`
+ arg=`echo $prereq|sed 's/[a-z]*://'`
+ prereq_$tp $arg >/dev/null 2>&1
+}
+
+rm -f ocft.FAILED
+rc=0
+while read f prereq; do
+ if [ -n "$prereq" ] && ! test_prereq; then
+ echo "$f: prerequisite not fulfilled, skipping"
+ continue
+ fi
+ ocft make $f
+ if ! ocft test $f; then
+ echo $f >> ocft.FAILED
+ rc=1
+ fi
+done < $OCFTDIR/runocft.prereq
+
+if [ -f ocft.FAILED ]; then
+ echo "The following ocft tests failed:"
+ cat ocft.FAILED
+fi
+
+exit $rc