aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorAndi Kleen <ak@linux.intel.com>2009-12-09 16:43:32 +0100
committerAndi Kleen <ak@linux.intel.com>2009-12-09 16:46:15 +0100
commitd9a41d33dc988724393a733f9782ee599ed37baf (patch)
tree9ecc7f5c3a32cb3375d9c17fc4754c61d6c5cd76 /tests
parent0c2cd4a6eb20587c8f3cc759a6d9918abb76684d (diff)
downloadmcelog-d9a41d33dc988724393a733f9782ee599ed37baf.tar.gz
Add simple test suite in tests/RELEASE_1_0_PRE1
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/Makefile10
-rw-r--r--tests/cache/cache.conf10
-rw-r--r--tests/cache/trigger3
-rw-r--r--tests/cache/yellow.conf5
-rw-r--r--tests/memdb/memdb.conf7
-rw-r--r--tests/page/page.conf5
-rw-r--r--tests/socket/socket.conf7
-rwxr-xr-xtests/socket/trigger4
-rwxr-xr-xtests/test62
-rwxr-xr-xtests/trigger (renamed from tests/memdb/trigger)2
10 files changed, 97 insertions, 18 deletions
diff --git a/tests/Makefile b/tests/Makefile
new file mode 100644
index 0000000..cf4120d
--- /dev/null
+++ b/tests/Makefile
@@ -0,0 +1,10 @@
+.PHONY: test clean
+
+test:
+ ./test cache
+ ./test page
+ ./test memdb
+ ./test socket
+
+clean:
+ rm -f */log
diff --git a/tests/cache/cache.conf b/tests/cache/cache.conf
new file mode 100644
index 0000000..8df9fbd
--- /dev/null
+++ b/tests/cache/cache.conf
@@ -0,0 +1,10 @@
+# trigger: 2
+
+num-errors = 3
+
+[cache]
+cache-threshold-trigger = ../trigger
+
+[trigger]
+directory = .
+children-max = 3
diff --git a/tests/cache/trigger b/tests/cache/trigger
deleted file mode 100644
index 81c93fb..0000000
--- a/tests/cache/trigger
+++ /dev/null
@@ -1,3 +0,0 @@
-#!/bin/sh
-
-env
diff --git a/tests/cache/yellow.conf b/tests/cache/yellow.conf
deleted file mode 100644
index 7fd0348..0000000
--- a/tests/cache/yellow.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-[cache]
-cache-threshold-trigger = trigger
-
-[trigger]
-directory = .
diff --git a/tests/memdb/memdb.conf b/tests/memdb/memdb.conf
index ef123d5..e4c7afd 100644
--- a/tests/memdb/memdb.conf
+++ b/tests/memdb/memdb.conf
@@ -1,12 +1,15 @@
+# trigger: 2
+
cpu = nehalem
dmi = yes
filter-memory-errors = yes
+num-errors = 2
[dimm]
dimm-tracking-enabled = yes
-ce-error-trigger = trigger
+ce-error-trigger = ../trigger
ce-error-threshold = 1 / 1min
-uc-error-trigger = trigger
+uc-error-trigger = ../trigger
uc-error-threshold = 1 / 1min
[trigger]
diff --git a/tests/page/page.conf b/tests/page/page.conf
index e5f6edc..e6fe92d 100644
--- a/tests/page/page.conf
+++ b/tests/page/page.conf
@@ -1,6 +1,9 @@
+# trigger: 1
+num-errors = 6
+
[page]
memory-ce-threshold = 2 / 1h
-memory-ce-trigger = trigger
+memory-ce-trigger = ../trigger
#memory-ce-action = off|account|soft|hard|soft-then-hard
memory-ce-action = account
diff --git a/tests/socket/socket.conf b/tests/socket/socket.conf
index 25f4f4c..f037275 100644
--- a/tests/socket/socket.conf
+++ b/tests/socket/socket.conf
@@ -1,14 +1,17 @@
+# trigger: 2
+
cpu = nehalem
dmi = yes
+num-errors = 2
[dimm]
dimm-tracking-enabled = yes
[socket]
socket-tracking-enabled = yes
-mem-ce-error-trigger = trigger
+mem-ce-error-trigger = ../trigger
mem-ce-error-threshold = 1 / 1min
-mem-uc-error-trigger = trigger
+mem-uc-error-trigger = ../trigger
mem-uc-error-threshold = 1 / 1min
[trigger]
diff --git a/tests/socket/trigger b/tests/socket/trigger
deleted file mode 100755
index 4df6961..0000000
--- a/tests/socket/trigger
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-
-echo trigger
-env
diff --git a/tests/test b/tests/test
new file mode 100755
index 0000000..e8c2751
--- /dev/null
+++ b/tests/test
@@ -0,0 +1,62 @@
+#!/bin/sh
+# simple test harness for mcelog daemon trigger test cases
+# ./test subdir [debugger]
+# run mcelog test in specific sub directory
+# requires root rights and a built mce-inject in ../../mce-inject or $PATH
+# warning: this kills any other running mcelogs
+
+D=${2:-}
+
+if [ "$1" = "" ] ; then
+ echo "usage $0 testdir"
+ exit 1
+fi
+
+if [ "$(whoami)" != "root" ] ; then
+ echo "Must run as root"
+ exit 1
+fi
+
+echo "++++++++++++ running $1 test +++++++++++++++++++"
+
+killall mcelog || true
+
+#killwatchdog() {
+# kill %1 || true
+#}
+#
+#watchdog() {
+# sleep 10
+# echo timeout waiting for mcelog
+# killall mcelog
+#}
+
+cd $1
+./inject
+#trap killwatchdog 0
+#watchdog &
+rm -f log
+$D ../../mcelog --foreground --daemon --config $1.conf --logfile log
+
+# let triggers finish
+sleep 1
+
+NUMT="$(awk '/# trigger: / { print $3 }' $1.conf)"
+NUMC="$(grep -c 'Running trigger' log || true)"
+
+if [ "$NUMC" = 0 ] ; then
+ echo "$1: no triggers at all"
+ exit 1
+fi
+
+if [ "$NUMT" != "" ] ; then
+ if [ "$NUMC" != "$NUMT" ] ; then
+ echo "$1: triggers did not trigger as expected: $NUMT != $NUMC"
+ exit 1
+ fi
+else
+ echo "$1: did not declare number of triggers"
+fi
+#trap "" 0
+#killwatchdog
+
diff --git a/tests/memdb/trigger b/tests/trigger
index 4df6961..147de28 100755
--- a/tests/memdb/trigger
+++ b/tests/trigger
@@ -1,4 +1,4 @@
#!/bin/sh
echo trigger
-env
+env | egrep -v 'PATH'