I like using pseudo-XML to structure the output of a test suite. For example:
<test start "foo" >
<test start "bar">
<test "1" passed>
...
</test end "bar" passed=10 failed=0>
<test start "baz">
...
</test end "baz" passed=13 failed=2>
</test end "foo" passed=13 failed=2>
More nicely indented:
<test start "foo" >
<test start "bar">
<test "1" passed>
...
</test end "bar" passed=10 failed=0>
<test start "baz">
...
</test end "baz" passed=13 failed=2>
</test end "foo" passed=13 failed=2>
Anyway, the basic idea is to use pseudo XML
When I translate from pseudo XML to real XML, I can use any of several nice viewers that allow sections to be opened and closed. E.g. Internet Explorer.
Placing attributes on the closing tag allows me to do such processing in a single pass. E.g. in a UNIX pipeline:
run-test-suite | collate-results
This is one of the reasons I like being able to place attributes on closing tags: it allows single pass processing. Often, I am processing some other program's output.
I am fine on eventually converting to standard XML. If necedssary.
---
By the way, I do pseudo-XML, like
<test "name" passed assertions=56>
mainly because I find it more human readable than
<test name=-"name" passed="true" assertions="56">
Human readability counts, since there is not such a plethora of XML tools on the UNIX command line that I never look at the raw text.
No comments:
Post a Comment