Re: [PATCH] xfstests: make length of diff output configurable

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jan 22, 2013 at 03:01:46PM +0100, David Sterba wrote:
> In commit 11c1d79414e2571 "xfstests: Change the diff output of failed
> tests", the diff output of a failed test was hardcoded to 10 lines to
> avoid overly long output and user can get the full output by manually
> running the diff. However this is not always possible and convenient,
> eg. in repeated automated tests where the required information is lost
> after the test round finished. Then the caputred logs do not contain
> enough informatin for analysis.

Ah, the problem of pulling in year old patches from the list without
first posting them for review again has struck again. I noticed this
same change of behaviour a couple of days again when I updated and
it lead to a few WTF moments for me, too.

Maintainers, we've talked about this before. Please don't just pull
in old patches that have been sitting on the list ignored for months
- post them for review again first so people at least have a heads
up that behaviour is going to change soon.

> Introduce the DIFF_LENGTH env variable to tune the diff size, keeping it
> 10 as deafult and 0 to disable the limit.

Seems reasonable. Implementation comment below.

> Signed-off-by: David Sterba <dsterba@xxxxxxx>
> ---
>  README        | 2 ++
>  check         | 7 ++++++-
>  common.config | 2 ++
>  3 files changed, 10 insertions(+), 1 deletion(-)
> 
> diff --git a/README b/README
> index d81ede9..b70f75d 100644
> --- a/README
> +++ b/README
> @@ -63,6 +63,8 @@ Preparing system for tests (IRIX and Linux):
>               - if TEST_LOGDEV and/or TEST_RTDEV, these will always be used.
>               - if SCRATCH_LOGDEV and/or SCRATCH_RTDEV, the USE_EXTERNAL
>                 environment variable set to "yes" will enable their use.
> +             - setenv DIFF_LENGTH "number of diff lines to print from a failed test",
> +               by default 10, set to 0 to print the full diff
>          - or add a case to the switch in common.config assigning
>            these variables based on the hostname of your test
>            machine
> diff --git a/check b/check
> index 75addb5..8b79678 100755
> --- a/check
> +++ b/check
> @@ -287,7 +287,12 @@ do
>  		else
>  		    echo " - output mismatch (see $seq.out.bad)"
>  		    mv $tmp.out $seq.out.bad
> -		    $diff $seq.out $seq.out.bad | head -n 10 | \
> +		    $diff $seq.out $seq.out.bad | {
> +		        if [ "$DIFF_LENGTH" -le 0 ]; then
> +				cat
> +			else
> +				head -n "$DIFF_LENGTH"
> +			fi; } | \
>  			sed -e 's/^\(.\)/    \1/'
>  		    echo "     ..."
>  		    echo "     (Run '$diff $seq.out $seq.out.bad' to see the" \
> diff --git a/common.config b/common.config
> index 57f505d..8dfe574 100644
> --- a/common.config
> +++ b/common.config
> @@ -63,6 +63,8 @@ HOSTOS=`uname -s`
>  MODULAR=0               # using XFS as a module or not
>  BOOT="/boot"            # install target for kernels
>  export EXTRA=${EXTRA:=xfs-qa}
> +# number of diff lines from a failed test, 0 for whole output
> +export DIFF_LENGTH=${DIFF_LENGTH:=10}

I'd actually set that in the check executable, as the diff output is
a function of the check program, not the generic test harness
config...

Cheers,

Dave.
-- 
Dave Chinner
david@xxxxxxxxxxxxx

_______________________________________________
xfs mailing list
xfs@xxxxxxxxxxx
http://oss.sgi.com/mailman/listinfo/xfs


[Index of Archives]     [Linux XFS Devel]     [Linux Filesystem Development]     [Filesystem Testing]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux