[OE-core] [PATCH 3/4] testimage.bbclass: write testresult to json files
Yeoh, Ee Peng
ee.peng.yeoh at intel.com
Mon Oct 22 09:08:57 UTC 2018
Richard,
Noted, let's us made the changes to record all the revisions/branches that are being used.
The reason to provide the default result_dir here was to prevent the case where no json testresult being write out when user does not provide the specific OEQA_JSON_RESULT_DIR, otherwise user might need to rerun test to get the json testresult. Probably, it will be better that bitbake will prompt user to provide result_dir variable next round if it was not avaiable to write testresult to a specify location (eg. common location to write all testresult). Please let me know your inputs.
> +def _get_json_result_dir(d, configuration):
> + json_result_dir = os.path.join(d.getVar("WORKDIR"),
> + 'temp',
> + 'json_testresults-%s' % configuration['PROCESS_ID'],
> + configuration['TEST_TYPE'],
> + configuration['MACHINE'],
> + configuration['IMAGE_BASENAME'])
> + oeqa_json_result_common_dir = d.getVar("OEQA_JSON_RESULT_COMMON_DIR")
> + if oeqa_json_result_common_dir:
> + json_result_dir = oeqa_json_result_common_dir
Best regards,
Yeoh Ee Peng
-----Original Message-----
From: richard.purdie at linuxfoundation.org [mailto:richard.purdie at linuxfoundation.org]
Sent: Monday, October 22, 2018 4:38 PM
To: Yeoh, Ee Peng <ee.peng.yeoh at intel.com>; openembedded-core at lists.openembedded.org
Subject: Re: [OE-core] [PATCH 3/4] testimage.bbclass: write testresult to json files
On Mon, 2018-10-22 at 14:54 +0800, Yeoh Ee Peng wrote:
> As part of the solution to replace Testopia to store testresult, OEQA
> testimage need to output testresult into json files, where these json
> testresult files will be stored into git repository by the future
> test-case-management tools.
>
> To configure multiple instances of bitbake to write json testresult to
> a single testresult file, user will define the variable
> "OEQA_JSON_RESULT_COMMON_DIR" with the common directory for writing
> json testresult.
>
> Signed-off-by: Yeoh Ee Peng <ee.peng.yeoh at intel.com>
> ---
> meta/classes/testimage.bbclass | 34
> ++++++++++++++++++++++++++++++++--
> 1 file changed, 32 insertions(+), 2 deletions(-)
>
> diff --git a/meta/classes/testimage.bbclass
> b/meta/classes/testimage.bbclass index 2642a72..112ba71 100644
> --- a/meta/classes/testimage.bbclass
> +++ b/meta/classes/testimage.bbclass
> @@ -2,7 +2,7 @@
> #
> # Released under the MIT license (see COPYING.MIT)
>
> -
> +inherit metadata_scm
> # testimage.bbclass enables testing of qemu images using python unittests.
> # Most of the tests are commands run on target image over ssh.
> # To use it add testimage to global inherit and call your target
> image with -c testimage @@ -141,6 +141,33 @@ 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_configuration(d, test_type, pid, machine):
> + import platform
> + bb_core_dir = d.getVar("BBFILE_PATTERN_core=")
> + return {'TEST_TYPE': test_type,
> + 'BRANCH': base_get_metadata_git_branch(bb_core_dir, None).strip(),
> + 'COMMIT': base_get_metadata_git_revision(bb_core_dir,
> +None),
We need to record all the revisions/branches that are being used. Could we just inject the contents of metadata['layers'] directly into the json file here?
> + 'PROCESS_ID': pid,
> + 'MACHINE': machine,
> + 'IMAGE_BASENAME': d.getVar("IMAGE_BASENAME"),
> + 'IMAGE_PKGTYPE': d.getVar("IMAGE_PKGTYPE"),
> + 'HOST_DISTRO': platform.linux_distribution()}
> +
> +def _get_json_result_dir(d, configuration):
> + json_result_dir = os.path.join(d.getVar("WORKDIR"),
> + 'temp',
> + 'json_testresults-%s' % configuration['PROCESS_ID'],
> + configuration['TEST_TYPE'],
> + configuration['MACHINE'],
> + configuration['IMAGE_BASENAME'])
> + oeqa_json_result_common_dir = d.getVar("OEQA_JSON_RESULT_COMMON_DIR")
> + if oeqa_json_result_common_dir:
> + json_result_dir = oeqa_json_result_common_dir
Do we need both codepaths here or can we just place things in OEQA_JSON_RESULT_COMMON_DIR unconditionally here?
(we could rename it to OEQA_JSON_RESULT_DIR?)
Cheers,
Richard
More information about the Openembedded-core
mailing list