Gilles.Carry wrote:
> Hi Darren,
>
> Darren Hart a e'crit :
>> Gilles Carry wrote:
>>> This library provides a set of function to help the saving of data as
>>> XML
>>> formatted files.
>>> Note: this is a lightweight library as it does not check if the
>>> document is well formed or grammaticallt correct.
>>> It must be considered as a commodity that helps tag indentation and
>>> avoids user to toss with '<' and '>'.
>>> To embbed it into executables, run:
>>> XML_LIB=1 make
>>>
>>> Also, it adds heading tags with data such as timestamp, system
>>> information, test conditions... This to facilitate post processing.
>>> (eg. further comparisons of different testruns, formatting for
>>> plotting...)
>>>
>>> This patch does not alter the LTP/RT traditional stats dump.
>>> A new global command line option is used: -x <id>
>>>
>>> Compilation is conditional to LIB_XML.
>>
>>
>> Implementation and separation look good. I have a couple questions
>> below on a couple details. I mentioned a few coding standards nitpics
>> while I was at it so you see them early on and they don't delay things
>> in the future, but they clearly aren't a priority now.
>
> OK.
> I fix all this and send a new version soon.
> See my answers below.
> Tell me what you think about the tag stack stuff. (read below)
Hi Gilles,
Thanks for the update. Comments below.
> Thanks,
> Gilles.
>
>>
>> --
>> Darren
>>
>>> Signed-off-by: Gilles Carry <[EMAIL PROTECTED]>
>>> ---
>>> testcases/realtime/config.mk | 6 +
>>> testcases/realtime/include/libxml.h | 112 +++++++++++
>>> testcases/realtime/lib/librttest.c | 35 ++++-
>>> testcases/realtime/lib/libxml.c | 350
>>> +++++++++++++++++++++++++++++++++++
>>> 4 files changed, 502 insertions(+), 1 deletions(-)
>>> create mode 100644 testcases/realtime/include/libxml.h
>>> create mode 100644 testcases/realtime/lib/libxml.c
>>>
>>> diff --git a/testcases/realtime/config.mk b/testcases/realtime/config.mk
> snip
>>>
>>> +CFLAGS += -m64 -g
>>
>> This appears to be a superfluous change, or at least unrelated to
>> libxml...
>
> Yes. It's a mistake. I forgot to remove it from the patch.
>
>
>>> + * </tagname>
>>> + *
>>> + * xs: xml stream to write to
>>> + * tagname: xml markup name
>>> + */
>>> +void xml_end_tag (xml_stream_t *xs, char *tagname);
>>> +
>>
>> Hrm.. so you stated this is intended to be simple, and that's fine for
>> the first round. In the future, should this get used more, I wonder if
>> it might not make sense to return some kind of handle when a tag is
>> started, then close the tag with that handle. That would allow the
>> library to ensure the spelling is correct, etc. Minimize user error.
>
> Yes, it's a bit raw for now. I already have in mind something smarter
> but I was expecting your feedback first.
> My idea is to use a kind of stack for each stream. Using a handle as you
> suggest, means having as many variables as there are tags which is not
> very friendly for the programmer.
>
Hrm, good point. I'm interested in seeing the stack stuff. I noticed
yesterday that the python xml lib uses the same start/end syntax that
you have hear (or at least similar), so it shouldn't be totally new to
developers familiar with XML.
>
>
>>> +
>>> + /* Check for duplicate options in optstring */
>>> + for (i=0; i<strlen(all_options); i++) {
>>> + char opt = all_options[i];
>>> +
>>> + if (opt == ':')
>>> + continue;
>>> +
>>> + /* Search ahead */
>>> + if (strchr(&all_options[i+1], opt)) {
>>> + fprintf(stderr, "Programmer error -- argument -%c
>>> already used at least twice\n", opt);
>>> + exit(1);
>>> + }
>>> + }
>>
>> The above doesn't appear related to libxml...
>
> Oops! Another mistake. This was from another patch already pushed into LTP.
>
>
>>> +
>>> +char *xml_user_free_id = "";
>>> +int xml_dump = 0;
>>
>> Why can't these part of the xml_stream structure?
>
> xml_user_free_id string is passed through the command line. It is used
> to distinguish test-runs as everything cannot be automatically detected.
> (eg. kernel hacks) It can be also used to simplify identification of
> runs: myRun1, myRun2...
> If there are several xml streams in a programme execution (currently it
> isn't) then all get the same free id.
>
> xml_dump is just a common flag to tell if xml is wanted. (command line
> arg -x)
OK, yeah that makes sense..
Thanks,
--
Darren Hart
IBM Linux Technology Center
Real-Time Linux Team
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Ltp-list mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/ltp-list