[OE-core] [PATCH 1/1] oeqa: archiver: Add basic tests for all archiver modes

Paul Barker paul at betafive.co.uk
Mon Nov 25 08:29:13 UTC 2019


Ping on this, it hasn't been accepted yet but also hasn't had any review.

On Mon, 11 Nov 2019, at 14:16, Paul Barker wrote:
> 6 new test cases are added to cover the various archiver modes
> documented at the top of archiver.bbclass. Each test sets the
> appropriate configuration options, runs the `do_deploy_archives` task
> for the selftest-ed recipe and checks for the presence of the expected
> archive file.
> 
> Signed-off-by: Paul Barker <paul at betafive.co.uk>
> ---
>  meta/lib/oeqa/selftest/cases/archiver.py | 66 ++++++++++++++++++++++++
>  1 file changed, 66 insertions(+)
> 
> diff --git a/meta/lib/oeqa/selftest/cases/archiver.py 
> b/meta/lib/oeqa/selftest/cases/archiver.py
> index f8672f8abb..6bd0e06ec4 100644
> --- a/meta/lib/oeqa/selftest/cases/archiver.py
> +++ b/meta/lib/oeqa/selftest/cases/archiver.py
> @@ -129,3 +129,69 @@ class Archiver(OESelftestTestCase):
>          self.write_config(features)
>  
>          bitbake('-n core-image-sato')
> +
> +    def _test_archiver_mode(self, mode, target_file_name, 
> extra_config=None):
> +        target = "selftest-ed"
> +
> +        features = 'INHERIT += "archiver"\n'
> +        features +=  'ARCHIVER_MODE[src] = "%s"\n' % (mode)
> +        if extra_config:
> +            features += extra_config
> +        self.write_config(features)
> +
> +        bitbake('-c clean %s' % (target))
> +        bitbake('-c deploy_archives %s' % (target))
> +
> +        bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'TARGET_SYS'])
> +        glob_str = os.path.join(bb_vars['DEPLOY_DIR_SRC'], 
> bb_vars['TARGET_SYS'], '%s-*' % (target))
> +        glob_result = glob.glob(glob_str)
> +        self.assertTrue(glob_result, 'Missing archiver directory for 
> %s' % (target))
> +
> +        archive_path = os.path.join(glob_result[0], target_file_name)
> +        self.assertTrue(os.path.exists(archive_path), 'Missing archive 
> file %s' % (target_file_name))
> +
> +    def test_archiver_mode_original(self):
> +        """
> +        Test that the archiver works in with `ARCHIVER_MODE[src] = 
> "original"`.
> +        """
> +
> +        self._test_archiver_mode('original', 'ed-1.14.1.tar.lz')
> +
> +    def test_archiver_mode_patched(self):
> +        """
> +        Test that the archiver works in with `ARCHIVER_MODE[src] = 
> "patched"`.
> +        """
> +
> +        self._test_archiver_mode('patched', 
> 'selftest-ed-1.14.1-r0-patched.tar.gz')
> +
> +    def test_archiver_mode_configured(self):
> +        """
> +        Test that the archiver works in with `ARCHIVER_MODE[src] = 
> "configured"`.
> +        """
> +
> +        self._test_archiver_mode('configured', 
> 'selftest-ed-1.14.1-r0-configured.tar.gz')
> +
> +    def test_archiver_mode_recipe(self):
> +        """
> +        Test that the archiver works in with `ARCHIVER_MODE[recipe] = 
> "1"`.
> +        """
> +
> +        self._test_archiver_mode('patched', 
> 'selftest-ed-1.14.1-r0-recipe.tar.gz',
> +                                 'ARCHIVER_MODE[recipe] = "1"\n')
> +
> +    def test_archiver_mode_diff(self):
> +        """
> +        Test that the archiver works in with `ARCHIVER_MODE[diff] = 
> "1"`.
> +        Exclusions controlled by `ARCHIVER_MODE[diff-exclude]` are not 
> yet tested.
> +        """
> +
> +        self._test_archiver_mode('patched', 
> 'selftest-ed-1.14.1-r0-diff.gz',
> +                                 'ARCHIVER_MODE[diff] = "1"\n')
> +
> +    def test_archiver_mode_dumpdata(self):
> +        """
> +        Test that the archiver works in with `ARCHIVER_MODE[dumpdata] 
> = "1"`.
> +        """
> +
> +        self._test_archiver_mode('patched', 
> 'selftest-ed-1.14.1-r0-showdata.dump',
> +                                 'ARCHIVER_MODE[dumpdata] = "1"\n')
> -- 
> 2.24.0
> 
>

-- 
Paul Barker
Managing Director & Principal Engineer
Beta Five Ltd


More information about the Openembedded-core mailing list