The readahead, madvise, and the fadvise tests can all hang the running machine
if the kernel bug they are testing is present.  This patch wraps these tests
so that they fail without running if the kernel version is less than 2.6.30.

Signed-off-by: Eric B Munson <ebmun...@us.ibm.com>
---
 tests/Makefile             |    3 ++-
 tests/fadvise_reserve.sh   |   14 ++++++++++++++
 tests/madvise_reserve.sh   |   14 ++++++++++++++
 tests/readahead_reserve.sh |   14 ++++++++++++++
 tests/run_tests.py         |    6 +++---
 5 files changed, 47 insertions(+), 4 deletions(-)
 create mode 100755 tests/fadvise_reserve.sh
 create mode 100755 tests/madvise_reserve.sh
 create mode 100755 tests/readahead_reserve.sh

diff --git a/tests/Makefile b/tests/Makefile
index 7e7dd99..3e0a832 100644
--- a/tests/Makefile
+++ b/tests/Makefile
@@ -17,7 +17,8 @@ LDSCRIPT_TESTS = zero_filesize_segment
 HUGELINK_TESTS = linkhuge linkhuge_nofd linkshare
 HUGELINK_RW_TESTS = linkhuge_rw
 STRESS_TESTS = mmap-gettest mmap-cow shm-gettest shm-getraw shm-fork
-WRAPPERS = quota shm-fork shm-getraw counters
+WRAPPERS = quota shm-fork shm-getraw counters madvise_reserve fadvise_reserve \
+       readahead_reserve
 HELPERS = get_hugetlbfs_path compare_kvers
 HELPER_LIBS = libheapshrink.so
 BADTOOLCHAIN = bad-toolchain.sh
diff --git a/tests/fadvise_reserve.sh b/tests/fadvise_reserve.sh
new file mode 100755
index 0000000..a62f9e9
--- /dev/null
+++ b/tests/fadvise_reserve.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+. wrapper-utils.sh
+
+# fadvise is known broken before 2.6.30
+compare_kvers `uname -r` "2.6.30"
+if [ $? -eq 1 ]; then
+       echo "FAIL      kernel bug"
+       exit $RC_FAIL
+else
+       EXP_RC=$RC_PASS
+       exec_and_check $EXP_RC quota "$@"
+fi
+
diff --git a/tests/madvise_reserve.sh b/tests/madvise_reserve.sh
new file mode 100755
index 0000000..64eb229
--- /dev/null
+++ b/tests/madvise_reserve.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+. wrapper-utils.sh
+
+# madvise is known broken before 2.6.30
+compare_kvers `uname -r` "2.6.30"
+if [ $? -eq 1 ]; then
+       echo "FAIL      kernel bug"
+       exit $RC_FAIL
+else
+       EXP_RC=$RC_PASS
+       exec_and_check $EXP_RC quota "$@"
+fi
+
diff --git a/tests/readahead_reserve.sh b/tests/readahead_reserve.sh
new file mode 100755
index 0000000..8dc0ad1
--- /dev/null
+++ b/tests/readahead_reserve.sh
@@ -0,0 +1,14 @@
+#!/bin/bash
+
+. wrapper-utils.sh
+
+# readahead is known broken before 2.6.30
+compare_kvers `uname -r` "2.6.30"
+if [ $? -eq 1 ]; then
+       echo "FAIL      kernel bug"
+       exit $RC_FAIL
+else
+       EXP_RC=$RC_PASS
+       exec_and_check $EXP_RC quota "$@"
+fi
+
diff --git a/tests/run_tests.py b/tests/run_tests.py
index ed246fc..871ae7c 100755
--- a/tests/run_tests.py
+++ b/tests/run_tests.py
@@ -479,9 +479,9 @@ def functional_tests():
     do_test("brk_near_huge")
     do_test("task-size-overrun")
     do_test("stack_grow_into_huge")
-    do_test("readahead_reserve")
-    do_test("madvise_reserve")
-    do_test("fadvise_reserve")
+    do_test("readahead_reserve.sh")
+    do_test("madvise_reserve.sh")
+    do_test("fadvise_reserve.sh")
 
     # Tests requiring an active mount and hugepage COW
     do_test("private")
-- 
1.6.1.2


------------------------------------------------------------------------------
The NEW KODAK i700 Series Scanners deliver under ANY circumstances! Your
production scanning environment may not be a perfect world - but thanks to
Kodak, there's a perfect scanner to get the job done! With the NEW KODAK i700
Series Scanner you'll get full speed at 300 dpi even with all image 
processing features enabled. http://p.sf.net/sfu/kodak-com
_______________________________________________
Libhugetlbfs-devel mailing list
Libhugetlbfs-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel

Reply via email to