Regression tests of 2.0-pre1 on an older distro are reporting FAIL for the
ELFMAP-related tests. As the version of binutils is too old to support the
feature, these are not true failures. "Expected FAILs" are confusing as it
gets difficult to tell what a real and expected failure is over time. This
patch identifies when binutils is too old and skips the ELFMAP tests.
Comments?
Signed-off-by: Mel Gorman <[EMAIL PROTECTED]>
---
run_tests.sh | 57 +++++++++++++++++++++++++++++++++++++++++----------------
1 file changed, 41 insertions(+), 16 deletions(-)
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index c98179d..1327de6 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -49,6 +49,21 @@ function check_linkhuge_tests() {
fi
}
+function check_elfmap_tests() {
+ # Binutils 2.17 or later are required for the ELFMAP tests to complete
+ # successfully. If the version is too old, we do not bother running the
+ # tests as they would report FAIL when it's not a true failure
+
+ ELFMAP_SKIP=0
+ BINUTILS_VERSION=`ld -v | sed -e 's/[a-zA-Z() \t]//g'`
+ MAJOR=`echo $BINUTILS_VERSION | cut -d. -f1`
+ MINOR=`echo $BINUTILS_VERSION | cut -d. -f2`
+
+ if [ $MAJOR -lt 2 ] || [ $MAJOR -eq 2 -a $MINOR -lt 17 ]; then
+ ELFMAP_SKIP=1
+ fi
+}
+
run_test_bits () {
BITS=$1
shift
@@ -79,6 +94,14 @@ maybe_run_linkhuge_test () {
fi
}
+maybe_run_elfmap_test () {
+ if [ "$ELFMAP_SKIP" != "1" ]; then
+ run_test "$@"
+ else
+ skip_test "$@"
+ fi
+}
+
preload_test () {
run_test LD_PRELOAD=libhugetlbfs.so "$@"
}
@@ -104,16 +127,16 @@ elflink_test () {
elflink_rw_test() {
# Basic tests: None, Read-only, Write-only, Read-Write, exlicit disable
- run_test linkhuge_rw
- run_test HUGETLB_ELFMAP=R linkhuge_rw
- run_test HUGETLB_ELFMAP=W linkhuge_rw
- run_test HUGETLB_ELFMAP=RW linkhuge_rw
- run_test HUGETLB_ELFMAP=no linkhuge_rw
+ maybe_run_elfmap_test linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_ELFMAP=R linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_ELFMAP=W linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_ELFMAP=RW linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_ELFMAP=no linkhuge_rw
# Test we don't blow up if HUGETLB_MINIMAL_COPY is disabled
- run_test HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=R linkhuge_rw
- run_test HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=W linkhuge_rw
- run_test HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=RW linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=R linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=W linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_MINIMAL_COPY=no HUGETLB_ELFMAP=RW linkhuge_rw
}
elfshare_test () {
@@ -154,14 +177,14 @@ elflink_and_share_test () {
elflink_rw_and_share_test () {
clear_hpages
- run_test HUGETLB_ELFMAP=R HUGETLB_SHARE=1 linkhuge_rw
- run_test HUGETLB_ELFMAP=R HUGETLB_SHARE=1 linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_ELFMAP=R HUGETLB_SHARE=1 linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_ELFMAP=R HUGETLB_SHARE=1 linkhuge_rw
clear_hpages
- run_test HUGETLB_ELFMAP=W HUGETLB_SHARE=1 linkhuge_rw
- run_test HUGETLB_ELFMAP=W HUGETLB_SHARE=1 linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_ELFMAP=W HUGETLB_SHARE=1 linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_ELFMAP=W HUGETLB_SHARE=1 linkhuge_rw
clear_hpages
- run_test HUGETLB_ELFMAP=RW HUGETLB_SHARE=1 linkhuge_rw
- run_test HUGETLB_ELFMAP=RW HUGETLB_SHARE=1 linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_ELFMAP=RW HUGETLB_SHARE=1 linkhuge_rw
+ maybe_run_elfmap_test HUGETLB_ELFMAP=RW HUGETLB_SHARE=1 linkhuge_rw
clear_hpages
}
@@ -251,6 +274,8 @@ functional_tests () {
# Run the remapping tests' up-front checks
check_linkhuge_tests
+check_elfmap_tests
+
# Original elflink tests
elflink_test HUGETLB_VERBOSE=0 linkhuge_nofd # Lib error msgs expected
elflink_test linkhuge
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Libhugetlbfs-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libhugetlbfs-devel