[Piglit] [PATCH] resume: use the previously-set test-list when resuming

Dylan Baker dylan at pnwbakers.com
Wed Jan 11 20:24:58 UTC 2017


Reviewed-by: Dylan Baker <dylan at pnwbakers.com>

Quoting Martin Peres (2017-01-11 07:45:48)
> Previously, the test-list was not saved when running and resuming a run
> would ignore the test-list and execute the entire test set.
> 
> This patch tries to follow Dylan's proposal[0].
> 
> [0] https://patchwork.freedesktop.org/patch/122189/
> 
> Cc: Rami Ben Hassine <ramix.ben.hassine at intel.com>
> Cc: Olivier Berthier <olivierx.berthier at intel.com>
> Cc: Julian Dumez <julian.dumez at intel.com>
> Cc: Dylan Baker <dylan at pnwbakers.com>
> Reported-by: Rami Ben Hassine <ramix.ben.hassine at intel.com>
> Signed-off-by: Martin Peres <martin.peres at linux.intel.com>
> ---
>  framework/programs/run.py | 31 ++++++++++++++++++++-----------
>  1 file changed, 20 insertions(+), 11 deletions(-)
> 
> diff --git a/framework/programs/run.py b/framework/programs/run.py
> index e5d55837a..177bd535c 100644
> --- a/framework/programs/run.py
> +++ b/framework/programs/run.py
> @@ -220,7 +220,7 @@ def _run_parser(input_):
>      return parser.parse_args(unparsed)
>  
>  
> -def _create_metadata(args, name):
> +def _create_metadata(args, name, forced_test_list):
>      """Create and return a metadata dict for Backend.initialize()."""
>      opts = dict(options.OPTIONS)
>      opts['profile'] = args.test_profile
> @@ -232,6 +232,7 @@ def _create_metadata(args, name):
>      opts['monitoring'] = args.monitored
>      if args.platform:
>          opts['platform'] = args.platform
> +    opts['forced_test_list'] = forced_test_list
>  
>      metadata = {'options': opts}
>      metadata['name'] = name
> @@ -308,26 +309,31 @@ def run(input_):
>              'Cannot overwrite existing folder without the -o/--overwrite '
>              'option being set.')
>  
> +    # If a test list is provided then set the forced_test_list value.
> +    forced_test_list = None
> +    if args.test_list:
> +        if len(args.test_profile) != 1:
> +            raise exceptions.PiglitFatalError(
> +                'Unable to force a test list with more than one profile')
> +
> +        with open(args.test_list) as test_list:
> +            # Strip newlines
> +            forced_test_list = [t.strip() for t in test_list]
> +
>      backend = backends.get_backend(args.backend)(
>          args.results_path,
>          junit_suffix=args.junit_suffix,
>          junit_subtests=args.junit_subtests)
>      backend.initialize(_create_metadata(
> -        args, args.name or path.basename(args.results_path)))
> +        args, args.name or path.basename(args.results_path), forced_test_list))
>  
>      profiles = [profile.load_test_profile(p) for p in args.test_profile]
>      for p in profiles:
>          p.results_dir = args.results_path
>  
> -    # If a test list is provided then set the forced_test_list value.
> -    if args.test_list:
> -        if len(args.test_profile) != 1:
> -            raise exceptions.PiglitFatalError(
> -                'Unable to force a test list with more than one profile')
> -
> -        with open(args.test_list) as test_list:
> -            # Strip newlines
> -            profiles[0].forced_test_list = [t.strip() for t in test_list]
> +    # Set the forced_test_list, if applicable
> +    if forced_test_list:
> +        profiles[0].forced_test_list = forced_test_list
>  
>      # Set the dmesg type
>      if args.dmesg:
> @@ -424,6 +430,9 @@ def resume(input_):
>              p.filters.append(
>                  profile.RegexFilter(results.options['include_filter']))
>  
> +        if results.options['forced_test_list']:
> +            p.forced_test_list = results.options['forced_test_list']
> +
>      # This is resumed, don't bother with time since it won't be accurate anyway
>      profile.run(
>          profiles,
> -- 
> 2.11.0
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: signature
URL: <https://lists.freedesktop.org/archives/piglit/attachments/20170111/c3d5a80d/attachment.sig>


More information about the Piglit mailing list