Add qemu 2.4.0
[kvmfornfv.git] / qemu / dtc / tests / dtc-checkfails.sh
diff --git a/qemu/dtc/tests/dtc-checkfails.sh b/qemu/dtc/tests/dtc-checkfails.sh
new file mode 100755 (executable)
index 0000000..76ded15
--- /dev/null
@@ -0,0 +1,44 @@
+#! /bin/sh
+
+. ./tests.sh
+
+for x; do
+    shift
+    if [ "$x" = "-n" ]; then
+       for x; do
+           shift
+           if [ "$x" = "--" ]; then
+               break;
+           fi
+           NOCHECKS="$NOCHECKS $x"
+       done
+       break;
+    fi
+    if [ "$x" = "--" ]; then
+       break;
+    fi
+    YESCHECKS="$YESCHECKS $x"
+done
+
+LOG=tmp.log.$$
+rm -f $LOG
+trap "rm -f $LOG" 0
+
+verbose_run_log "$LOG" $VALGRIND "$DTC" -o /dev/null "$@"
+ret="$?"
+
+FAIL_IF_SIGNAL $ret
+
+for c in $YESCHECKS; do
+    if ! grep -E "^(ERROR)|(Warning) \($c\):" $LOG > /dev/null; then
+       FAIL "Failed to trigger check \"$c\""
+    fi
+done
+
+for c in $NOCHECKS; do
+    if grep -E "^(ERROR)|(Warning) \($c\):" $LOG > /dev/null; then
+       FAIL "Incorrectly triggered check \"$c\""
+    fi
+done
+
+PASS