On (31/07/08 15:38), Nishanth Aravamudan didst pronounce:
> On 31.07.2008 [23:05:45 +0100], Mel Gorman wrote:
> > Currently some of the linkhuge scripts are skipped in the event the
> > keyboard SPECIAL is found in ld --verbose. Instead of skipping the tests,
> > this will run them. However, if the test fails the user will be told it is
> > an expected failure.
> > 
> > Signed-off-by: Mel Gorman <[EMAIL PROTECTED]>
> > ---
> >  tests/Makefile                  |   10 ++++++-
> >  tests/run_tests.sh              |   52 
> > ++++++++++----------------------------
> >  tests/verifyresults-linkhuge.sh |   22 ++++++++++++++++
> >  3 files changed, 45 insertions(+), 39 deletions(-)
> >  create mode 100644 tests/verifyresults-linkhuge.sh
> > 
> > diff --git a/tests/Makefile b/tests/Makefile
> > index b723db7..24c438d 100644
> > --- a/tests/Makefile
> > +++ b/tests/Makefile
> > @@ -65,7 +65,15 @@ ifdef CC64
> >  ALLTESTS += $(TESTS_64:%=obj64/%)
> >  endif
> > 
> > -all:       $(ALLTESTS) $(ALLHELPERS) $(ALLHELPERLIBS)
> > +# Setup symbolic links to duplicate verification scripts
> > +symlink_verifydups: verifyresults-linkhuge.sh
> > +   for LINK in linkhuge_nofd linkshare; do \
> > +           if [ ! -e verifyresults-$$LINK.sh ]; then \
> > +                   ln -s verifyresults-linkhuge.sh 
> > verifyresults-$$LINK.sh; \
> > +           fi \
> > +   done
> > +   
> > +all:       symlink_verifydups $(ALLTESTS) $(ALLHELPERS) $(ALLHELPERLIBS)
> > 
> >  obj32/%.o: %.c
> >     @$(VECHO) CC32 $@
> > diff --git a/tests/run_tests.sh b/tests/run_tests.sh
> > index 17e1784..ea94692 100755
> > --- a/tests/run_tests.sh
> > +++ b/tests/run_tests.sh
> > @@ -35,20 +35,6 @@ HPAGE_SIZE=$(grep 'Hugepagesize:' /proc/meminfo | awk 
> > '{print $2}')
> >  [ -z "$HPAGE_SIZE" ] && HPAGE_SIZE=0
> >  HPAGE_SIZE=$(( $HPAGE_SIZE * 1024 ))
> > 
> > -# Up-front checks for the remapping test cases:
> > -function check_linkhuge_tests() {
> > -    # In some circumstances, our linker scripts are known to be broken and
> > -    # they will produce binaries with undefined runtime behavior.  In those
> > -    # cases don't bother running the xNNN.linkhuge tests.  This checks if 
> > the
> > -    # system linker scripts use the SPECIAL keyword (for placing the got 
> > and
> > -    # plt).  Our linker scripts do not use SPECIAL and are thus broken 
> > when the
> > -    # system scripts use it.
> > -    ld --verbose | grep -q SPECIAL
> > -    if [ $? -eq 0 ]; then
> > -        LINKHUGE_SKIP=1
> > -    fi
> > -}
> > -
> >  run_test_bits () {
> >      BITS=$1
> >      shift
> > @@ -98,14 +84,6 @@ skip_test () {
> >      echo "$@:      SKIPPED"
> >  }
> > 
> > -maybe_run_linkhuge_test () {
> > -    if [ "$LINKHUGE_SKIP" != "1" ]; then
> > -        run_test "$@"
> > -    else
> > -        skip_test "$@"
> > -    fi
> > -}
> > -
> >  preload_test () {
> >      run_test LD_PRELOAD=libhugetlbfs.so "$@"
> >  }
> > @@ -119,14 +97,14 @@ elflink_test () {
> >      run_test "$@" "$baseprog"
> >      # Test we don't blow up if not linked for hugepage
> >      preload_test "$@" "$baseprog"
> > -    maybe_run_linkhuge_test "$@" "xB.$baseprog"
> > -    maybe_run_linkhuge_test "$@" "xBDT.$baseprog"
> > +    run_test "$@" "xB.$baseprog"
> > +    run_test "$@" "xBDT.$baseprog"
> >      # Test we don't blow up if HUGETLB_MINIMAL_COPY is diabled
> > -    maybe_run_linkhuge_test HUGETLB_MINIMAL_COPY=no "$@" "xB.$baseprog"
> > -    maybe_run_linkhuge_test HUGETLB_MINIMAL_COPY=no "$@" "xBDT.$baseprog"
> > +    run_test HUGETLB_MINIMAL_COPY=no "$@" "xB.$baseprog"
> > +    run_test HUGETLB_MINIMAL_COPY=no "$@" "xBDT.$baseprog"
> >      # Test that HUGETLB_ELFMAP=no inhibits remapping as intended
> > -    maybe_run_linkhuge_test HUGETLB_ELFMAP=no "$@" "xB.$baseprog"
> > -    maybe_run_linkhuge_test HUGETLB_ELFMAP=no "$@" "xBDT.$baseprog"
> > +    run_test HUGETLB_ELFMAP=no "$@" "xB.$baseprog"
> > +    run_test HUGETLB_ELFMAP=no "$@" "xBDT.$baseprog"
> >  }
> > 
> >  elflink_rw_test() {
> > @@ -153,12 +131,12 @@ elfshare_test () {
> >      # sharefiles before and after in the first set of runs, but leave
> >      # them there in the second:
> >      clear_hpages
> > -    maybe_run_linkhuge_test HUGETLB_SHARE=1 "$@" "xB.$baseprog"
> > +    run_test HUGETLB_SHARE=1 "$@" "xB.$baseprog"
> >      clear_hpages
> > -    maybe_run_linkhuge_test HUGETLB_SHARE=1 "$@" "xBDT.$baseprog"
> > +    run_test HUGETLB_SHARE=1 "$@" "xBDT.$baseprog"
> >      clear_hpages
> > -    maybe_run_linkhuge_test HUGETLB_SHARE=1 "$@" "xB.$baseprog"
> > -    maybe_run_linkhuge_test HUGETLB_SHARE=1 "$@" "xBDT.$baseprog"
> > +    run_test HUGETLB_SHARE=1 "$@" "xB.$baseprog"
> > +    run_test HUGETLB_SHARE=1 "$@" "xBDT.$baseprog"
> >      clear_hpages
> >  }
> > 
> > @@ -171,11 +149,11 @@ elflink_and_share_test () {
> >      # Run each elflink test pair independently - clean up the sharefiles
> >      # before and after each pair
> >      clear_hpages
> > -    maybe_run_linkhuge_test HUGETLB_SHARE=1 "$@" "xB.$baseprog"
> > -    maybe_run_linkhuge_test HUGETLB_SHARE=1 "$@" "xB.$baseprog"
> > +    run_test HUGETLB_SHARE=1 "$@" "xB.$baseprog"
> > +    run_test HUGETLB_SHARE=1 "$@" "xB.$baseprog"
> >      clear_hpages
> > -    maybe_run_linkhuge_test HUGETLB_SHARE=1 "$@" "xBDT.$baseprog"
> > -    maybe_run_linkhuge_test HUGETLB_SHARE=1 "$@" "xBDT.$baseprog"
> > +    run_test HUGETLB_SHARE=1 "$@" "xBDT.$baseprog"
> > +    run_test HUGETLB_SHARE=1 "$@" "xBDT.$baseprog"
> >      clear_hpages
> >  }
> > 
> > @@ -276,8 +254,6 @@ functional_tests () {
> >      run_test LD_PRELOAD="libhugetlbfs.so libheapshrink.so" 
> > HUGETLB_MORECORE=yes HUGETLB_MORECORE_SHRINK=yes heapshrink
> >      run_test HUGETLB_VERBOSE=1 HUGETLB_MORECORE=yes heap-overflow # 
> > warnings expected
> > 
> > -# Run the remapping tests' up-front checks
> > -check_linkhuge_tests
> >  # Original elflink tests
> >      elflink_test HUGETLB_VERBOSE=0 linkhuge_nofd # Lib error msgs expected
> >      elflink_test linkhuge
> > diff --git a/tests/verifyresults-linkhuge.sh 
> > b/tests/verifyresults-linkhuge.sh
> > new file mode 100644
> > index 0000000..aab1db4
> > --- /dev/null
> > +++ b/tests/verifyresults-linkhuge.sh
> > @@ -0,0 +1,22 @@
> > +#!/bin/bash
> > +#
> > +# In some circumstances, our linker scripts are known to be broken and
> > +# they will produce binaries with undefined runtime behavior. This checks 
> > if
> > +# the system linker scripts use the SPECIAL keyword (for placing the got 
> > and
> > +# plt). Our linker scripts do not use SPECIAL and are thus broken when the
> > +# system scripts use it so tell the user any FAIL is expected.
> > +
> > +# Check that we passed as expected
> > +if [ $1 -eq 0 ]; then
> > +   exit 0
> > +fi
> > +
> > +# If we failed and it is due to ld, it is expected
> > +ld --verbose | grep -q SPECIAL > /dev/null
> > +if [ $? -eq 0 ]; then
> > +   echo The system linker scripts use SPECIAL which is incompatible with 
> > old-style custom relinker scripts for aligning segments
> 
> Sorry to be "that guy" but can we break this up into two lines? I don't
> like our output running off the screen in a normal terminal.
> 

I'm cool with that. The intention of the long line was to be able to do
something like

FAILS=`make func | grep FAIL | grep -v EXPECTED | wc -l`
if [ $FAILS -ne 0 ]; then
        # Make a lot of noise, send snotty emails
fi

but even if reason goes to multiple lines, that should still work out.

-- 
Mel Gorman
Part-time Phd Student                          Linux Technology Center
University of Limerick                         IBM Dublin Software Lab

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