]> code.ossystems Code Review - openembedded-core.git/commitdiff
testimage: Improvements to the json logging
authorRichard Purdie <richard.purdie@linuxfoundation.org>
Mon, 29 Oct 2018 13:49:14 +0000 (13:49 +0000)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Fri, 7 Dec 2018 10:56:00 +0000 (10:56 +0000)
Tweak the preceeding commit to:

* Add STARTTIME to the identifier to make it unique
* Log DISTRO
* Use LOG_DIR
* Store the layer config in a more natural json format
* Drop '_' function prefixes

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/classes/testimage.bbclass

index e95ce0c9e3390c4bc5cbeae03f225af9431efa06..a9e8b499ddfea7f7117f36ad3f731d9a8f639e0a 100644 (file)
@@ -132,29 +132,29 @@ def testimage_sanity(d):
         bb.fatal('When TEST_TARGET is set to "simpleremote" '
                  'TEST_TARGET_IP and TEST_SERVER_IP are needed too.')
 
-def _get_testimage_configuration(d, test_type, pid, machine):
+def get_testimage_configuration(d, test_type, machine):
     import platform
+    from oeqa.utils.metadata import get_layers
     configuration = {'TEST_TYPE': test_type,
-                    'PROCESS_ID': pid,
                     'MACHINE': machine,
+                    'DISTRO': d.getVar("DISTRO"),
                     'IMAGE_BASENAME': d.getVar("IMAGE_BASENAME"),
                     'IMAGE_PKGTYPE': d.getVar("IMAGE_PKGTYPE"),
-                    'HOST_DISTRO': ('-'.join(platform.linux_distribution())).replace(' ', '-')}
-    layers = (d.getVar("BBLAYERS") or "").split()
-    for l in layers:
-        configuration['%s_BRANCH_REV' % os.path.basename(l)] = '%s:%s' % (base_get_metadata_git_branch(l, None).strip(),
-                                                                          base_get_metadata_git_revision(l, None))
+                    'STARTTIME': d.getVar("DATETIME"),
+                    'HOST_DISTRO': ('-'.join(platform.linux_distribution())).replace(' ', '-'),
+                    'LAYERS': get_layers(d.getVar("BBLAYERS"))}
     return configuration
+get_testimage_configuration[vardepsexclude] = "DATETIME"
 
-def _get_testimage_json_result_dir(d):
-    json_result_dir = os.path.join(d.getVar("WORKDIR"), 'oeqa')
+def get_testimage_json_result_dir(d):
+    json_result_dir = os.path.join(d.getVar("LOG_DIR"), 'oeqa')
     custom_json_result_dir = d.getVar("OEQA_JSON_RESULT_DIR")
     if custom_json_result_dir:
         json_result_dir = custom_json_result_dir
     return json_result_dir
 
-def _get_testimage_result_id(configuration):
-    return '%s_%s_%s' % (configuration['TEST_TYPE'], configuration['IMAGE_BASENAME'], configuration['MACHINE'])
+def get_testimage_result_id(configuration):
+    return '%s_%s_%s_%s' % (configuration['TEST_TYPE'], configuration['IMAGE_BASENAME'], configuration['MACHINE'], configuration['STARTTIME'])
 
 def testimage_main(d):
     import os
@@ -323,10 +323,10 @@ def testimage_main(d):
     # Show results (if we have them)
     if not results:
         bb.fatal('%s - FAILED - tests were interrupted during execution' % pn, forcelog=True)
-    configuration = _get_testimage_configuration(d, 'runtime', os.getpid(), machine)
-    results.logDetails(_get_testimage_json_result_dir(d),
+    configuration = get_testimage_configuration(d, 'runtime', machine)
+    results.logDetails(get_testimage_json_result_dir(d),
                        configuration,
-                       _get_testimage_result_id(configuration))
+                       get_testimage_result_id(configuration))
     results.logSummary(pn)
     if not results.wasSuccessful():
         bb.fatal('%s - FAILED - check the task log and the ssh log' % pn, forcelog=True)