]> git.ipfire.org Git - thirdparty/openembedded/openembedded-core.git/commitdiff
archiver: Speed up tests
authorPaul Barker <pbarker@konsulko.com>
Fri, 5 Jun 2020 09:39:56 +0000 (10:39 +0100)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Sat, 6 Jun 2020 22:14:02 +0000 (23:14 +0100)
When running tests locally without the advantage of a populated sstate
cache, the archiver tests can take an unnecessarily long time. Using
different target recipes can speed things up a lot by reducing the
number of dependencies that are built.

For the test case test_archiver_srpm_mode we can still test the
conditions described in bug #11121 by using a target recipe that is
known to inherit the nopackages class as well as a more normal recipe,
instead of having to compute all the depepndencies of core-image-sato.

Before:
    archiver.Archiver.test_archiver_allows_to_filter_on_recipe_name: PASSED (20.50s)
    archiver.Archiver.test_archiver_filters_by_type: PASSED (14.16s)
    archiver.Archiver.test_archiver_filters_by_type_and_name: PASSED (79.08s)
    archiver.Archiver.test_archiver_mode_configured: PASSED (558.19s)
    archiver.Archiver.test_archiver_mode_diff: PASSED (14.59s)
    archiver.Archiver.test_archiver_mode_dumpdata: PASSED (14.41s)
    archiver.Archiver.test_archiver_mode_mirror: PASSED (14.02s)
    archiver.Archiver.test_archiver_mode_mirror_combined: PASSED (19.99s)
    archiver.Archiver.test_archiver_mode_mirror_excludes: PASSED (14.24s)
    archiver.Archiver.test_archiver_mode_mirror_gitsm: PASSED (13.47s)
    archiver.Archiver.test_archiver_mode_mirror_gitsm_shallow: PASSED (22.15s)
    archiver.Archiver.test_archiver_mode_original: PASSED (14.15s)
    archiver.Archiver.test_archiver_mode_patched: PASSED (14.57s)
    archiver.Archiver.test_archiver_mode_recipe: PASSED (14.56s)
    archiver.Archiver.test_archiver_srpm_mode: PASSED (83.03s)
    oe-selftest () - Ran 15 tests in 911.905s

After:
    archiver.Archiver.test_archiver_allows_to_filter_on_recipe_name: PASSED (23.66s)
    archiver.Archiver.test_archiver_filters_by_type: PASSED (15.16s)
    archiver.Archiver.test_archiver_filters_by_type_and_name: PASSED (15.33s)
    archiver.Archiver.test_archiver_mode_configured: PASSED (15.94s)
    archiver.Archiver.test_archiver_mode_diff: PASSED (15.79s)
    archiver.Archiver.test_archiver_mode_dumpdata: PASSED (15.39s)
    archiver.Archiver.test_archiver_mode_mirror: PASSED (15.28s)
    archiver.Archiver.test_archiver_mode_mirror_combined: PASSED (21.22s)
    archiver.Archiver.test_archiver_mode_mirror_excludes: PASSED (15.11s)
    archiver.Archiver.test_archiver_mode_mirror_gitsm: PASSED (13.61s)
    archiver.Archiver.test_archiver_mode_mirror_gitsm_shallow: PASSED (23.21s)
    archiver.Archiver.test_archiver_mode_original: PASSED (14.87s)
    archiver.Archiver.test_archiver_mode_patched: PASSED (15.50s)
    archiver.Archiver.test_archiver_mode_recipe: PASSED (15.62s)
    archiver.Archiver.test_archiver_srpm_mode: PASSED (20.66s)
    oe-selftest () - Ran 15 tests in 257.170s

Signed-off-by: Paul Barker <pbarker@konsulko.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
meta/lib/oeqa/selftest/cases/archiver.py

index 37efed57c891795cb9c32b960557532deb6dbd5a..ddd08ecf8476956fc60ed8b5c544651a7e444837 100644 (file)
@@ -19,8 +19,8 @@ class Archiver(OESelftestTestCase):
         AutomatedBy: Daniel Istrate <daniel.alexandrux.istrate@intel.com>
         """
 
-        include_recipe = 'busybox'
-        exclude_recipe = 'zlib'
+        include_recipe = 'selftest-ed'
+        exclude_recipe = 'initscripts'
 
         features = 'INHERIT += "archiver"\n'
         features += 'ARCHIVER_MODE[src] = "original"\n'
@@ -51,8 +51,8 @@ class Archiver(OESelftestTestCase):
         Author:      AndrĂ© Draszik <adraszik@tycoint.com>
         """
 
-        target_recipe = 'initscripts'
-        native_recipe = 'zlib-native'
+        target_recipe = 'selftest-ed'
+        native_recipe = 'selftest-ed-native'
 
         features = 'INHERIT += "archiver"\n'
         features += 'ARCHIVER_MODE[src] = "original"\n'
@@ -86,8 +86,8 @@ class Archiver(OESelftestTestCase):
         Author:      AndrĂ© Draszik <adraszik@tycoint.com>
         """
 
-        target_recipes = [ 'initscripts', 'zlib' ]
-        native_recipes = [ 'update-rc.d-native', 'zlib-native' ]
+        target_recipes = [ 'initscripts', 'selftest-ed' ]
+        native_recipes = [ 'update-rc.d-native', 'selftest-ed-native' ]
 
         features = 'INHERIT += "archiver"\n'
         features += 'ARCHIVER_MODE[src] = "original"\n'
@@ -129,10 +129,10 @@ class Archiver(OESelftestTestCase):
         features += 'PACKAGE_CLASSES = "package_rpm"\n'
         self.write_config(features)
 
-        bitbake('-n core-image-sato')
+        bitbake('-n selftest-nopackages selftest-ed')
 
     def _test_archiver_mode(self, mode, target_file_name, extra_config=None):
-        target = "selftest-ed"
+        target = 'selftest-ed-native'
 
         features = 'INHERIT += "archiver"\n'
         features +=  'ARCHIVER_MODE[src] = "%s"\n' % (mode)
@@ -143,8 +143,8 @@ class Archiver(OESelftestTestCase):
         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))
+        bb_vars = get_bb_vars(['DEPLOY_DIR_SRC', 'BUILD_SYS'])
+        glob_str = os.path.join(bb_vars['DEPLOY_DIR_SRC'], bb_vars['BUILD_SYS'], '%s-*' % (target))
         glob_result = glob.glob(glob_str)
         self.assertTrue(glob_result, 'Missing archiver directory for %s' % (target))
 
@@ -163,21 +163,21 @@ class Archiver(OESelftestTestCase):
         Test that the archiver works with `ARCHIVER_MODE[src] = "patched"`.
         """
 
-        self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-patched.tar.gz')
+        self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-patched.tar.gz')
 
     def test_archiver_mode_configured(self):
         """
         Test that the archiver works with `ARCHIVER_MODE[src] = "configured"`.
         """
 
-        self._test_archiver_mode('configured', 'selftest-ed-1.14.1-r0-configured.tar.gz')
+        self._test_archiver_mode('configured', 'selftest-ed-native-1.14.1-r0-configured.tar.gz')
 
     def test_archiver_mode_recipe(self):
         """
         Test that the archiver works with `ARCHIVER_MODE[recipe] = "1"`.
         """
 
-        self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-recipe.tar.gz',
+        self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-recipe.tar.gz',
                                  'ARCHIVER_MODE[recipe] = "1"\n')
 
     def test_archiver_mode_diff(self):
@@ -186,7 +186,7 @@ class Archiver(OESelftestTestCase):
         Exclusions controlled by `ARCHIVER_MODE[diff-exclude]` are not yet tested.
         """
 
-        self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-diff.gz',
+        self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-diff.gz',
                                  'ARCHIVER_MODE[diff] = "1"\n')
 
     def test_archiver_mode_dumpdata(self):
@@ -194,7 +194,7 @@ class Archiver(OESelftestTestCase):
         Test that the archiver works with `ARCHIVER_MODE[dumpdata] = "1"`.
         """
 
-        self._test_archiver_mode('patched', 'selftest-ed-1.14.1-r0-showdata.dump',
+        self._test_archiver_mode('patched', 'selftest-ed-native-1.14.1-r0-showdata.dump',
                                  'ARCHIVER_MODE[dumpdata] = "1"\n')
 
     def test_archiver_mode_mirror(self):