On 29.07.2008 [19:41:06 +0100], Mel Gorman wrote:
> 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
> +}

Seems fine.

>  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() {

But would it not be perhaps a little cleaner in the output to just do
this rather than call elflink_rw_{,and_}test() at all?

  if [ $ELFMAP_SKIP == "1" ]; then
    echo "SKIPPING new relinking tests"
  fi

in both functions?

I envision skip_test to be used only for temporarily skipping a test
when we know it causes a kernel oops, for instance. But we eventually
want to remove all skip_test from the library proper (as we fix the
kernel issues). I also think flooding the screen with a bunch of SKIPs
is a bit annoying.

Thanks,
Nish

-- 
Nishanth Aravamudan <[EMAIL PROTECTED]>
IBM Linux Technology Center

-------------------------------------------------------------------------
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

Reply via email to