[libvirt] [PATCH v2 1/2] tests: files named '.*-invalid.xml' should fail validation

Eric Blake eblake at redhat.com
Thu May 9 17:19:09 UTC 2013


On 05/09/2013 06:18 AM, Ján Tomko wrote:
> Currently, using an invalid XML in tests fails, because
> the schema test expects all of them to be valid.
> 
> Treat files with -invalid.xml suffix as invalid and expect
> them to fail validation.
> ---
>  tests/schematestutils.sh | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/tests/schematestutils.sh b/tests/schematestutils.sh
> index 4361221..e739b99 100644
> --- a/tests/schematestutils.sh
> +++ b/tests/schematestutils.sh
> @@ -20,6 +20,18 @@ do
>      result=`$cmd 2>&1`
>      ret=$?
>  
> +    grep -- '-invalid.xml$' <<< "$xml" 2>&1 >/dev/null

<<< is not portable shell, but this script wants to use /bin/sh.  You
need to either rewrite the script to use /bin/bash, or avoid <<<.  And I
think it's easier to just use portable shell:

invalid=false
case $xml in
 *-invalid.xml) invalid=: ;;
esac

> +    invalid=$?
> +
> +    # per xmllint man page, the return codes for validation error
> +    # are 3 and 4
> +    if test $invalid -eq 0; then
> +        if test $ret -eq 4 || test $ret -eq 3; then
> +            ret=0
> +        elif test $ret -eq 0; then
> +            ret=3
> +        fi
> +    fi

Or even make the case statement check invalid and exit status all at the
same time.  I see you already pushed, so I'll write the followup.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 621 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130509/2dc67f29/attachment-0001.sig>


More information about the libvir-list mailing list