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
Attachment:
signature.asc
Description: OpenPGP digital signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list