[Piglit] [PATCH] Add user-specified test name suffix to junit output.
Dylan Baker
baker.dylan.c at gmail.com
Wed Sep 17 14:28:07 PDT 2014
I know I told you in person that I had comments, but I'm going to take
them back. This looks fine to me.
Reviewed-by: Dylan Baker <baker.dylan.c at gmail.com>
On Tuesday, September 16, 2014 01:27:55 PM Mark Janes wrote:
> When summarizing piglit results from a set of hardware, it is
> necessary to differentiate failures from the various platforms. Tools
> like jenkins are confused when a test name is repeated in test
> results, especially when it both passes and fails in separate result
> files.
>
> Provide the --junit_suffix parameter to piglit to append a string to
> the name of each test in the junit output. Multiple invocations of
> piglit can be summarized together in jenkins with different suffixes.
> ---
> framework/programs/run.py | 5 +++++
> framework/results.py | 3 ++-
> 2 files changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/framework/programs/run.py b/framework/programs/run.py
> index 9a6276f..6971701 100644
> --- a/framework/programs/run.py
> +++ b/framework/programs/run.py
> @@ -163,6 +163,10 @@ def _run_parser(input_):
> parser.add_argument("-s", "--sync",
> action="store_true",
> help="Sync results to disk after every test")
> + parser.add_argument("--junit_suffix",
> + type=str,
> + default="",
> + help="suffix string to append to each test name in junit")
> parser.add_argument("test_profile",
> metavar="<Path to one or more test profile(s)>",
> nargs='+',
> @@ -245,6 +249,7 @@ def run(input_):
> # refactored to make that possible because of the flattening pass that is
> # part of profile.run
> options['test_count'] = 0
> + options['test_suffix'] = args.junit_suffix
>
> # Begin json.
> backend = framework.results.get_backend(args.backend)(
> diff --git a/framework/results.py b/framework/results.py
> index e73519a..b567553 100644
> --- a/framework/results.py
> +++ b/framework/results.py
> @@ -391,6 +391,7 @@ class JUnitBackend(FSyncMixin, Backend):
> self._file.write(
> '<testsuite name="piglit" tests="{}">\n'.format(
> metadata['test_count']))
> + self._test_suffix = metadata["test_suffix"]
>
> def finalize(self, metadata=None):
> self._file.write('</testsuite>\n')
> @@ -414,7 +415,7 @@ class JUnitBackend(FSyncMixin, Backend):
> classname = 'piglit.' + classname
>
> # Create the root element
> - element = etree.Element('testcase', name=testname,
> + element = etree.Element('testcase', name=testname + self._test_suffix,
> classname=classname,
> time=str(data['time']),
> status=str(data['result']))
> --
> 2.1.0
>
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20140917/e5920751/attachment.sig>
More information about the Piglit
mailing list