qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v4 1/3] qapi: Use an explicit input file


From: Lluís Vilanova
Subject: Re: [Qemu-devel] [PATCH v4 1/3] qapi: Use an explicit input file
Date: Mon, 03 Mar 2014 17:59:08 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Markus Armbruster writes:
[...]
>>>> self.fp = schema.fp
>>>> self.msg = msg
>>>> self.line = self.col = 1
>>>> @@ -50,12 +52,17 @@ class QAPISchemaError(Exception):
>>>> self.col += 1
>>>> 
>>>> def __str__(self):
>>>> - return "%s:%s:%s: %s" % (self.fp.name, self.line, self.col,
>>>> self.msg)
>>>> +        name = os.path.relpath(self.fp.name, self.base)
>>>> +        return "%s:%s:%s: %s" % (name, self.line, self.col, self.msg)
>> 
>>> Can you explain what this change does, and why it's wanted?
>> 
>> Paths are shown as relative so that the test outputs (stderr) can be verified
>> with diff. Otherwise the actual message depends on the path from which you're
>> running the tests.

> Hmm.  This is the applicable make rule:

> $(patsubst %, check-%, $(check-qapi-schema-y)): check-%.json: 
> $(SRC_PATH)/%.json
>       $(call quiet-command, PYTHONPATH=$(SRC_PATH)/scripts $(PYTHON) 
> $(SRC_PATH)/tests/qapi-schema/test-qapi.py "$^" >$*.test.out 2>$*.test.err; 
> echo $$? >$*.test.exit, "  TEST  $*.out")
>       @diff -q $(SRC_PATH)/$*.out $*.test.out
>       @diff -q $(SRC_PATH)/$*.err $*.test.err
>       @diff -q $(SRC_PATH)/$*.exit $*.test.exit

> Since $^ is in $(SRC_PATH), it's like $(SRC_PATH)/foo.json.  If
> $(SRC_PATH)/foo.json has an error, the error messages duly points to
> $(SRC_PATH)/foo.json.

> The "diff -q $(SRC_PATH)/$*.err $*.test.err" fails unless your SRC_PATH
> matches the one that's encoded in tests/qapi-schema/foo.err.  Is that
> the problem you're trying to solve?

Right. Paths are internally stored as absolute in "qapi.py" (to check for
include cycles), and the "base directory" is only used to show them as
relative. I can try to change the code to retain this functionality but without
special-casing the tests.


Lluis

-- 
 "And it's much the same thing with knowledge, for whenever you learn
 something new, the whole world becomes that much richer."
 -- The Princess of Pure Reason, as told by Norton Juster in The Phantom
 Tollbooth



reply via email to

[Prev in Thread] Current Thread [Next in Thread]