[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