[OE-core] [PATCHv2] testexport: Add support for testcase utils

Erik Botö erik.boto at gmail.com
Thu Sep 27 06:59:07 UTC 2018


Bumping this thread in hope to get some feedback.

Cheers,
Erik

On Tue, Sep 18, 2018 at 11:36 AM Erik Botö <erik.boto at gmail.com> wrote:
>
> Add the possibility to ship a lib/oeqa/runtime/cases/utils directory
> that will be included in the generated testexport tarball.
>
> This makes it easier to split common functionality from test suites
> into modules that can be imported from multiple test suites.
>
> Signed-off-by: Erik Botö <erik.boto at gmail.com>
> ---
>  meta/classes/testexport.bbclass | 23 +++++++++++++++++++++++
>  1 file changed, 23 insertions(+)
>
> diff --git a/meta/classes/testexport.bbclass b/meta/classes/testexport.bbclass
> index d070f07afa..790ca3aff0 100644
> --- a/meta/classes/testexport.bbclass
> +++ b/meta/classes/testexport.bbclass
> @@ -74,6 +74,21 @@ def testexport_main(d):
>
>      copy_needed_files(d, tc)
>
> +def get_runtime_cases_utils_paths(d):
> +    """
> +    Returns a list of paths where testcase utils must reside. Utils can be e.g.
> +    common functionality used by multiple test cases.
> +
> +    Testcase utils are expected in <LAYER_DIR>/lib/oeqa/runtime/cases/utils/
> +    """
> +    paths = []
> +
> +    for layer in d.getVar('BBLAYERS').split():
> +        path = os.path.join(layer, 'lib/oeqa/runtime/cases/utils')
> +        if os.path.isdir(path):
> +            paths.append(path)
> +    return paths
> +
>  def copy_needed_files(d, tc):
>      import shutil
>      import oe.path
> @@ -121,6 +136,14 @@ def copy_needed_files(d, tc):
>          if json_file:
>              shutil.copy2(json_file, cases_path)
>
> +    # Copy cases/utils provided by layers
> +    utils_dest_path = os.path.join(export_path, 'lib', 'oeqa', 'runtime', 'cases', 'utils')
> +    utils_source_paths = get_runtime_cases_utils_paths(d)
> +
> +    for f in utils_source_paths:
> +        if os.path.isdir(f):
> +            oe.path.copytree(f, utils_dest_path)
> +
>      # Copy test data
>      image_name = ("%s/%s" % (d.getVar('DEPLOY_DIR_IMAGE'),
>                              d.getVar('IMAGE_LINK_NAME')))
> --
> 2.19.0.rc1
>



More information about the Openembedded-core mailing list