Browse Source

Include test metadata in the results.json file (#5336)

* Include metadata in results.json file:
- break up the jsonable logic for Metadata to its own function
- use this jsonable function when generating results.json

* Store test metadata array under the test_metadata key for consistency and clarity
smathews-techempower 5 years ago
parent
commit
16050cfe5d
2 changed files with 11 additions and 4 deletions
  1. 10 4
      toolset/utils/metadata.py
  2. 1 0
      toolset/utils/results.py

+ 10 - 4
toolset/utils/metadata.py

@@ -234,12 +234,12 @@ class Metadata:
 
         return tests
 
-    def list_test_metadata(self):
+    def to_jsonable(self):
         '''
-        Prints the metadata for all the available tests
+        Returns an array suitable for jsonification
         '''
         all_tests = self.gather_tests()
-        all_tests_json = json.dumps(map(lambda test: {
+        return map(lambda test: {
             "project_name": test.project_name,
             "name": test.name,
             "approach": test.approach,
@@ -256,7 +256,13 @@ class Metadata:
             "notes": test.notes,
             "versus": test.versus,
             "tags": hasattr(test, "tags") and test.tags or []
-        }, all_tests))
+        }, all_tests)
+
+    def list_test_metadata(self):
+        '''
+        Prints the metadata for all the available tests
+        '''
+        all_tests_json = json.dumps(self.to_jsonable())
 
         with open(
                 os.path.join(self.benchmarker.results.directory,

+ 1 - 0
toolset/utils/results.py

@@ -336,6 +336,7 @@ class Results:
         toRet['succeeded'] = self.succeeded
         toRet['failed'] = self.failed
         toRet['verify'] = self.verify
+        toRet['test_metadata'] = self.benchmarker.metadata.to_jsonable()
 
         return toRet