[Piglit] [PATCH] framework/run.py: allow additional excluded tests on resume

Dylan Baker baker.dylan.c at gmail.com
Mon May 18 17:12:17 PDT 2015


I'm not sure this is a good idea,

Ken Graunke and I talked this to death when I did the refactor that
split the run and resume code into separate paths, and we agreed that
changing the tests during a resume would make it impossible to reproduce
a run, since the regex you pass might exclude tests that have already
completed.

That said, I'm opened to being convinced it is a good idea.

Dylan

On Mon, May 18, 2015 at 02:29:58PM -0700, Mike Mason wrote:
> This patch allows additional tests to be excluded when resuming a
> test run. This is especially useful when a failing test causes
> a crash or reboot. Currently, that same test runs again when
> attempting to resume the test run, resulting in the same crash or
> reboot.
> 
> Note that this does not change the exclude options saved at the
> start of the run. If a run is resumed multiple times, any
> additional excluded tests must be specified on the command
> line each time.
> 
> Signed-off-by: Mike Mason <michael.w.mason at intel.com>
> ---
>  framework/programs/run.py | 14 +++++++++++++-
>  1 file changed, 13 insertions(+), 1 deletion(-)
> 
> diff --git a/framework/programs/run.py b/framework/programs/run.py
> index 6053074..89e4b69 100644
> --- a/framework/programs/run.py
> +++ b/framework/programs/run.py
> @@ -308,6 +308,12 @@ def resume(input_):
>                          type=path.realpath,
>                          metavar="<Results Path>",
>                          help="Path to results folder")
> +    parser.add_argument("-x", "--exclude-tests",
> +                        default=[],
> +                        action="append",
> +                        metavar="<regex>",
> +                        help="Add tests to exclude "
> +                             "(can be used more than once)")
>      parser.add_argument("-f", "--config",
>                          dest="config_file",
>                          type=argparse.FileType("r"),
> @@ -317,8 +323,14 @@ def resume(input_):
>      _disable_windows_exception_messages()
>  
>      results = backends.load(args.results_path)
> +
> +    # Additional tests to exclude from resumed run
> +    exclude_filter = results.options['exclude_filter']
> +    if args.exclude_tests:
> +        exclude_filter.extend(args.exclude_tests)
> +
>      opts = core.Options(concurrent=results.options['concurrent'],
> -                        exclude_filter=results.options['exclude_filter'],
> +                        exclude_filter=exclude_filter,
>                          include_filter=results.options['filter'],
>                          execute=results.options['execute'],
>                          valgrind=results.options['valgrind'],
> -- 
> 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: Digital signature
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20150518/d8240de9/attachment.sig>


More information about the Piglit mailing list