This changes initialize_json and close_json to be more like the constructor and finalize methods of Backend.
Signed-off-by: Dylan Baker <[email protected]> --- framework/programs/run.py | 9 +++++---- framework/results.py | 12 ++++++++---- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/framework/programs/run.py b/framework/programs/run.py index 0664f02..3efd5bf 100644 --- a/framework/programs/run.py +++ b/framework/programs/run.py @@ -220,8 +220,9 @@ def run(input_): options[key] = value if args.platform: options['platform'] = args.platform - json_writer.initialize_json(options, results.name, - core.collect_system_info()) + options['name'] = results.name + options['env'] = core.collect_system_info() + json_writer.initialize_json(options) profile = framework.profile.merge_test_profiles(args.test_profile) profile.results_dir = args.results_path @@ -270,8 +271,8 @@ def resume(input_): results_path = path.join(args.results_path, 'results.json') json_writer = framework.results.JSONWriter(open(results_path, 'w+'), opts.sync) - json_writer.initialize_json(results.options, results.name, - core.collect_system_info()) + results.options['env'] = core.collect_system_info() + json_writer.initialize_json(results.options) for key, value in results.tests.iteritems(): json_writer.write_dict_item(key, value) diff --git a/framework/results.py b/framework/results.py index 490883b..724faf2 100644 --- a/framework/results.py +++ b/framework/results.py @@ -207,7 +207,7 @@ class JSONWriter(object): # is popped and written into the json self._open_containers = [] - def initialize_json(self, options, name, env): + def initialize_json(self, metadata): """ Write boilerplate json code This writes all of the json except the actual tests. @@ -222,17 +222,21 @@ class JSONWriter(object): """ self.open_dict() self.write_dict_item('results_version', CURRENT_JSON_VERSION) - self.write_dict_item('name', name) + self.write_dict_item('name', metadata['name']) self.write_dict_key('options') self.open_dict() - for key, value in options.iteritems(): + for key, value in metadata.iteritems(): + # Dont' write env or name into the options dictionary + if key in ['env', 'name']: + continue + # Loading a NoneType will break resume, and are a bug assert value is not None, "Value {} is NoneType".format(key) self.write_dict_item(key, value) self.close_dict() - for key, value in env.iteritems(): + for key, value in metadata['env'].iteritems(): self.write_dict_item(key, value) # Open the tests dictinoary so that tests can be written -- 2.1.0 _______________________________________________ Piglit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/piglit
