diff mbox series

[v5,06/14] qapi: remove '-q' arg to diff when comparing QAPI output

Message ID 20180116134217.8725-7-berrange@redhat.com
State New
Headers show
Series Support building with py2 or py3 | expand

Commit Message

Daniel P. Berrangé Jan. 16, 2018, 1:42 p.m. UTC
When the qapi schema tests fail they merely print that the expected
output didn't match the actual output. This is largely useless when
trying diagnose what went wrong. Removing the '-q' arg to diff
means that it is still silent on successful tests, but when it
fails we'll see details of the incorrect output.

Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 tests/Makefile.include | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Eric Blake Feb. 9, 2018, 11:39 p.m. UTC | #1
On 01/16/2018 07:42 AM, Daniel P. Berrange wrote:
> When the qapi schema tests fail they merely print that the expected
> output didn't match the actual output. This is largely useless when
> trying diagnose what went wrong. Removing the '-q' arg to diff
> means that it is still silent on successful tests, but when it
> fails we'll see details of the incorrect output.
> 
> Reviewed-by: Eric Blake <eblake@redhat.com>
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>   tests/Makefile.include | 6 +++---
>   1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/tests/Makefile.include b/tests/Makefile.include
> index 39a4b5359d..d65fb4e1b3 100644
> --- a/tests/Makefile.include
> +++ b/tests/Makefile.include
> @@ -908,10 +908,10 @@ $(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
>   		$^ >$*.test.out 2>$*.test.err; \
>   		echo $$? >$*.test.exit, \
>   		"TEST","$*.out")
> -	@diff -q $(SRC_PATH)/$*.out $*.test.out
> +	@diff $(SRC_PATH)/$*.out $*.test.out

And just now I'm noticing that this produces an ed-script diff (which is 
useless), instead of a context diff.  We want -c.  I guess I'll be 
submitting the obvious followup patch.
Markus Armbruster Feb. 10, 2018, 6:27 a.m. UTC | #2
Eric Blake <eblake@redhat.com> writes:

> On 01/16/2018 07:42 AM, Daniel P. Berrange wrote:
>> When the qapi schema tests fail they merely print that the expected
>> output didn't match the actual output. This is largely useless when
>> trying diagnose what went wrong. Removing the '-q' arg to diff
>> means that it is still silent on successful tests, but when it
>> fails we'll see details of the incorrect output.
>>
>> Reviewed-by: Eric Blake <eblake@redhat.com>
>> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
>> ---
>>   tests/Makefile.include | 6 +++---
>>   1 file changed, 3 insertions(+), 3 deletions(-)
>>
>> diff --git a/tests/Makefile.include b/tests/Makefile.include
>> index 39a4b5359d..d65fb4e1b3 100644
>> --- a/tests/Makefile.include
>> +++ b/tests/Makefile.include
>> @@ -908,10 +908,10 @@ $(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
>>   		$^ >$*.test.out 2>$*.test.err; \
>>   		echo $$? >$*.test.exit, \
>>   		"TEST","$*.out")
>> -	@diff -q $(SRC_PATH)/$*.out $*.test.out
>> +	@diff $(SRC_PATH)/$*.out $*.test.out
>
> And just now I'm noticing that this produces an ed-script diff (which
> is useless), instead of a context diff.  We want -c.  I guess I'll be
> submitting the obvious followup patch.

I'd very much prefer -u.

There's a diff -q left a few lines down.
Daniel P. Berrangé Feb. 12, 2018, 4:45 p.m. UTC | #3
On Fri, Feb 09, 2018 at 05:39:58PM -0600, Eric Blake wrote:
> On 01/16/2018 07:42 AM, Daniel P. Berrange wrote:
> > When the qapi schema tests fail they merely print that the expected
> > output didn't match the actual output. This is largely useless when
> > trying diagnose what went wrong. Removing the '-q' arg to diff
> > means that it is still silent on successful tests, but when it
> > fails we'll see details of the incorrect output.
> > 
> > Reviewed-by: Eric Blake <eblake@redhat.com>
> > Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> > ---
> >   tests/Makefile.include | 6 +++---
> >   1 file changed, 3 insertions(+), 3 deletions(-)
> > 
> > diff --git a/tests/Makefile.include b/tests/Makefile.include
> > index 39a4b5359d..d65fb4e1b3 100644
> > --- a/tests/Makefile.include
> > +++ b/tests/Makefile.include
> > @@ -908,10 +908,10 @@ $(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
> >   		$^ >$*.test.out 2>$*.test.err; \
> >   		echo $$? >$*.test.exit, \
> >   		"TEST","$*.out")
> > -	@diff -q $(SRC_PATH)/$*.out $*.test.out
> > +	@diff $(SRC_PATH)/$*.out $*.test.out
> 
> And just now I'm noticing that this produces an ed-script diff (which is
> useless), instead of a context diff.  We want -c.  I guess I'll be
> submitting the obvious followup patch.

Well not entirely useless - it showed me the problems that we happening
with the py3 port, but yeah, a saner diff format would be nice :-)

Regards,
Daniel
diff mbox series

Patch

diff --git a/tests/Makefile.include b/tests/Makefile.include
index 39a4b5359d..d65fb4e1b3 100644
--- a/tests/Makefile.include
+++ b/tests/Makefile.include
@@ -908,10 +908,10 @@  $(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: $(SRC_PATH)/%.json
 		$^ >$*.test.out 2>$*.test.err; \
 		echo $$? >$*.test.exit, \
 		"TEST","$*.out")
-	@diff -q $(SRC_PATH)/$*.out $*.test.out
+	@diff $(SRC_PATH)/$*.out $*.test.out
 	@# Sanitize error messages (make them independent of build directory)
-	@perl -p -e 's|\Q$(SRC_PATH)\E/||g' $*.test.err | diff -q $(SRC_PATH)/$*.err -
-	@diff -q $(SRC_PATH)/$*.exit $*.test.exit
+	@perl -p -e 's|\Q$(SRC_PATH)\E/||g' $*.test.err | diff $(SRC_PATH)/$*.err -
+	@diff $(SRC_PATH)/$*.exit $*.test.exit
 
 .PHONY: check-tests/qapi-schema/doc-good.texi
 check-tests/qapi-schema/doc-good.texi: tests/qapi-schema/doc-good.test.texi