Reviewed-by: Dylan Baker <[email protected]>
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 <[email protected]> > Cc: Olivier Berthier <[email protected]> > Cc: Julian Dumez <[email protected]> > Cc: Dylan Baker <[email protected]> > Reported-by: Rami Ben Hassine <[email protected]> > Signed-off-by: Martin Peres <[email protected]> > --- > 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 >
signature.asc
Description: signature
_______________________________________________ Piglit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/piglit
