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