On Fri, 2024-02-23 at 16:16 +0100, Alexis Lothoré via
lists.openembedded.org wrote:
> From: Alexis Lothoré <[email protected]>
> 
> Multiple places in oeqa need to get the log output path, and redefine
> a
> small helper to accomplish this
> 
> Define this helper in lib/oeqa/utils/__init__.py and import it
> wherever
> needed to allow using it.
> 
> Signed-off-by: Alexis Lothoré <[email protected]>
> ---
> There is one additional place re-definining (slightly) differently
> this
> helper, which is in selftest/context.py. This one does not check
> OEQA_JSON_RESULT_DIR from the datastore but through test data
> embedded in
> the test context. Based on Richard's feedback in v2, the datastore
> functions may be correctly simulated even in this case, so I may do
> some
> tests and come up with a patch after this series
> ---
>  meta/classes-recipe/testimage.bbclass | 12 +++---------
>  meta/lib/oeqa/sdk/testsdk.py          | 11 ++---------
>  meta/lib/oeqa/utils/__init__.py       |  7 +++++++
>  3 files changed, 12 insertions(+), 18 deletions(-)
> 
> diff --git a/meta/classes-recipe/testimage.bbclass b/meta/classes-
> recipe/testimage.bbclass
> index d076102f9691..959c226072aa 100644
> --- a/meta/classes-recipe/testimage.bbclass
> +++ b/meta/classes-recipe/testimage.bbclass
> @@ -149,13 +149,6 @@ def get_testimage_configuration(d, test_type,
> machine):
>      return configuration
>  get_testimage_configuration[vardepsexclude] = "DATETIME"
>  
> -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_%s' % (configuration['TEST_TYPE'],
> configuration['IMAGE_BASENAME'], configuration['MACHINE'],
> configuration['STARTTIME'])
>  
> @@ -224,6 +217,7 @@ def testimage_main(d):
>      from oeqa.core.target.qemu import supported_fstypes
>      from oeqa.core.utils.test import getSuiteCases
>      from oeqa.utils import make_logger_bitbake_compatible
> +    from oeqa.utils import get_json_result_dir
>  
>      def sigterm_exception(signum, stackframe):
>          """
> @@ -426,14 +420,14 @@ def testimage_main(d):
>      # Show results (if we have them)
>      if results:
>          configuration = get_testimage_configuration(d, 'runtime',
> machine)
> -        results.logDetails(get_testimage_json_result_dir(d),
> +        results.logDetails(get_json_result_dir(d),
>                          configuration,
>                          get_testimage_result_id(configuration),
>                         
> dump_streams=d.getVar('TESTREPORT_FULLLOGS'))
>          results.logSummary(pn)
>  
>      # Copy additional logs to tmp/log/oeqa so it's easier to find
> them
> -    targetdir = os.path.join(get_testimage_json_result_dir(d),
> d.getVar("PN"))
> +    targetdir = os.path.join(get_json_result_dir(d), d.getVar("PN"))
>      os.makedirs(targetdir, exist_ok=True)
>      os.symlink(bootlog, os.path.join(targetdir,
> os.path.basename(bootlog)))
>      os.symlink(d.getVar("BB_LOGFILE"), os.path.join(targetdir,
> os.path.basename(d.getVar("BB_LOGFILE") + "." +
> d.getVar('DATETIME'))))
> diff --git a/meta/lib/oeqa/sdk/testsdk.py
> b/meta/lib/oeqa/sdk/testsdk.py
> index b4719110edbc..518b09febb61 100644
> --- a/meta/lib/oeqa/sdk/testsdk.py
> +++ b/meta/lib/oeqa/sdk/testsdk.py
> @@ -22,14 +22,6 @@ class TestSDKBase(object):
>                          'LAYERS': get_layers(d.getVar("BBLAYERS"))}
>          return configuration
>  
> -    @staticmethod
> -    def get_sdk_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
> -
>      @staticmethod
>      def get_sdk_result_id(configuration):
>          return '%s_%s_%s_%s_%s' % (configuration['TEST_TYPE'],
> configuration['IMAGE_BASENAME'], configuration['SDKMACHINE'],
> configuration['MACHINE'], configuration['STARTTIME'])
> @@ -72,6 +64,7 @@ class TestSDK(TestSDKBase):
>  
>          from bb.utils import export_proxies
>          from oeqa.utils import make_logger_bitbake_compatible
> +        from oeqa.utils import get_json_result_dir
>  
>          pn = d.getVar("PN")
>          logger =
> make_logger_bitbake_compatible(logging.getLogger("BitBake"))
> @@ -134,7 +127,7 @@ class TestSDK(TestSDKBase):
>              component = "%s %s" % (pn,
> self.context_executor_class.name)
>              context_msg = "%s:%s" % (os.path.basename(tcname),
> os.path.basename(sdk_env))
>              configuration = self.get_sdk_configuration(d,
> self.test_type)
> -            result.logDetails(self.get_sdk_json_result_dir(d),
> +            result.logDetails(get_json_result_dir(d),
>                              configuration,
>                              self.get_sdk_result_id(configuration))
>              result.logSummary(component, context_msg)
> diff --git a/meta/lib/oeqa/utils/__init__.py
> b/meta/lib/oeqa/utils/__init__.py
> index fbc7f7d525d8..53bdcbf26618 100644
> --- a/meta/lib/oeqa/utils/__init__.py
> +++ b/meta/lib/oeqa/utils/__init__.py
> @@ -90,3 +90,10 @@ def load_test_components(logger, executor):
>                                  "_executor_class defined." %
> (comp_name, comp_context))
>  
>      return components
> +
> +def get_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
> \ No newline at end of file
> 

I suspect this is missing a change to TestSDKEXT:

https://autobuilder.yoctoproject.org/typhoon/#/builders/136/builds/56/steps/14/logs/stdio

Cheers,

Richard


-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#196104): 
https://lists.openembedded.org/g/openembedded-core/message/196104
Mute This Topic: https://lists.openembedded.org/mt/104529818/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to