diff options
| author | Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com> | 2017-05-12 14:40:21 -0700 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-06-06 19:02:43 +0100 |
| commit | 157c3be2ca93f076033f725ec1ee912df91f7488 (patch) | |
| tree | 8ef896ff7adf78d63b34059cd5b017a4f0a3419a | |
| parent | 10c512b60d1167122b5fe778b93838dca3def717 (diff) | |
| download | poky-157c3be2ca93f076033f725ec1ee912df91f7488.tar.gz | |
oeqa/selftest/cases: Migrate test cases into the new oe-qa framework
New framework has different classes/decorators so adapt current test cases to
support these. Changes include changes on base classes and decorators.
Also include paths in selftest/__init__.py isn't needed because the
loader is the standard unittest one.
(From OE-Core rev: ddbbefdd124604d10bd47dd0266b55a764fcc0ab)
Signed-off-by: Leonardo Sandoval <leonardo.sandoval.gonzalez@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
| -rw-r--r-- | meta/lib/oeqa/selftest/__init__.py | 2 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py (renamed from meta/lib/oeqa/selftest/_sstatetests_noauto.py) | 7 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/archiver.py (renamed from meta/lib/oeqa/selftest/archiver.py) | 14 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/bblayers.py (renamed from meta/lib/oeqa/selftest/bblayers.py) | 24 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/bbtests.py (renamed from meta/lib/oeqa/selftest/bbtests.py) | 57 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/buildhistory.py (renamed from meta/lib/oeqa/selftest/buildhistory.py) | 5 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/buildoptions.py (renamed from meta/lib/oeqa/selftest/buildoptions.py) | 34 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/containerimage.py (renamed from meta/lib/oeqa/selftest/containerimage.py) | 4 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/devtool.py (renamed from meta/lib/oeqa/selftest/devtool.py) | 68 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/eSDK.py (renamed from meta/lib/oeqa/selftest/eSDK.py) | 18 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/image_typedep.py (renamed from meta/lib/oeqa/selftest/image_typedep.py) | 4 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/imagefeatures.py (renamed from meta/lib/oeqa/selftest/imagefeatures.py) | 16 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/layerappend.py (renamed from meta/lib/oeqa/selftest/layerappend.py) | 15 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/liboe.py (renamed from meta/lib/oeqa/selftest/liboe.py) | 7 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/lic_checksum.py (renamed from meta/lib/oeqa/selftest/lic-checksum.py) | 8 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/manifest.py (renamed from meta/lib/oeqa/selftest/manifest.py) | 52 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/oelib/__init__.py (renamed from meta/lib/oeqa/selftest/oelib/__init__.py) | 0 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/oelib/buildhistory.py (renamed from meta/lib/oeqa/selftest/oelib/buildhistory.py) | 4 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/oelib/elf.py (renamed from meta/lib/oeqa/selftest/oelib/elf.py) | 4 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/oelib/license.py (renamed from meta/lib/oeqa/selftest/oelib/license.py) | 6 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/oelib/path.py (renamed from meta/lib/oeqa/selftest/oelib/path.py) | 4 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/oelib/types.py (renamed from meta/lib/oeqa/selftest/oelib/types.py) | 6 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/oelib/utils.py (renamed from meta/lib/oeqa/selftest/oelib/utils.py) | 6 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/oescripts.py (renamed from meta/lib/oeqa/selftest/oescripts.py) | 15 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/package.py (renamed from meta/lib/oeqa/selftest/package.py) | 4 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/pkgdata.py (renamed from meta/lib/oeqa/selftest/pkgdata.py) | 29 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/prservice.py (renamed from meta/lib/oeqa/selftest/prservice.py) | 27 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/recipetool.py (renamed from meta/lib/oeqa/selftest/recipetool.py) | 81 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/runqemu.py (renamed from meta/lib/oeqa/selftest/runqemu.py) | 31 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/runtime_test.py (renamed from meta/lib/oeqa/selftest/runtime-test.py) | 15 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/signing.py (renamed from meta/lib/oeqa/selftest/signing.py) | 15 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/sstate.py (renamed from meta/lib/oeqa/selftest/sstate.py) | 5 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/sstatetests.py (renamed from meta/lib/oeqa/selftest/sstatetests.py) | 46 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/tinfoil.py (renamed from meta/lib/oeqa/selftest/tinfoil.py) | 25 | ||||
| -rw-r--r-- | meta/lib/oeqa/selftest/cases/wic.py (renamed from meta/lib/oeqa/selftest/wic.py) | 84 |
35 files changed, 355 insertions, 387 deletions
diff --git a/meta/lib/oeqa/selftest/__init__.py b/meta/lib/oeqa/selftest/__init__.py deleted file mode 100644 index 3ad9513f40..0000000000 --- a/meta/lib/oeqa/selftest/__init__.py +++ /dev/null | |||
| @@ -1,2 +0,0 @@ | |||
| 1 | from pkgutil import extend_path | ||
| 2 | __path__ = extend_path(__path__, __name__) | ||
diff --git a/meta/lib/oeqa/selftest/_sstatetests_noauto.py b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py index fc9ae7efb9..0e5896234c 100644 --- a/meta/lib/oeqa/selftest/_sstatetests_noauto.py +++ b/meta/lib/oeqa/selftest/cases/_sstatetests_noauto.py | |||
| @@ -1,19 +1,16 @@ | |||
| 1 | import datetime | ||
| 2 | import unittest | ||
| 3 | import os | 1 | import os |
| 4 | import re | ||
| 5 | import shutil | 2 | import shutil |
| 6 | 3 | ||
| 7 | import oeqa.utils.ftools as ftools | 4 | import oeqa.utils.ftools as ftools |
| 8 | from oeqa.selftest.base import oeSelfTest | ||
| 9 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer | 5 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer |
| 10 | from oeqa.selftest.sstate import SStateBase | 6 | from oeqa.selftest.cases.sstate import SStateBase |
| 11 | 7 | ||
| 12 | 8 | ||
| 13 | class RebuildFromSState(SStateBase): | 9 | class RebuildFromSState(SStateBase): |
| 14 | 10 | ||
| 15 | @classmethod | 11 | @classmethod |
| 16 | def setUpClass(self): | 12 | def setUpClass(self): |
| 13 | super(RebuildFromSState, self).setUpClass() | ||
| 17 | self.builddir = os.path.join(os.environ.get('BUILDDIR')) | 14 | self.builddir = os.path.join(os.environ.get('BUILDDIR')) |
| 18 | 15 | ||
| 19 | def get_dep_targets(self, primary_targets): | 16 | def get_dep_targets(self, primary_targets): |
diff --git a/meta/lib/oeqa/selftest/archiver.py b/meta/lib/oeqa/selftest/cases/archiver.py index d7f215cbf6..70c7282f22 100644 --- a/meta/lib/oeqa/selftest/archiver.py +++ b/meta/lib/oeqa/selftest/cases/archiver.py | |||
| @@ -1,14 +1,12 @@ | |||
| 1 | from oeqa.selftest.base import oeSelfTest | ||
| 2 | from oeqa.utils.commands import bitbake, get_bb_vars | ||
| 3 | from oeqa.utils.decorators import testcase | ||
| 4 | import glob | ||
| 5 | import os | 1 | import os |
| 6 | import shutil | 2 | import glob |
| 7 | 3 | from oeqa.utils.commands import bitbake, get_bb_vars | |
| 4 | from oeqa.selftest.case import OESelftestTestCase | ||
| 5 | from oeqa.core.decorator.oeid import OETestID | ||
| 8 | 6 | ||
| 9 | class Archiver(oeSelfTest): | 7 | class Archiver(OESelftestTestCase): |
| 10 | 8 | ||
| 11 | @testcase(1345) | 9 | @OETestID(1345) |
| 12 | def test_archiver_allows_to_filter_on_recipe_name(self): | 10 | def test_archiver_allows_to_filter_on_recipe_name(self): |
| 13 | """ | 11 | """ |
| 14 | Summary: The archiver should offer the possibility to filter on the recipe. (#6929) | 12 | Summary: The archiver should offer the possibility to filter on the recipe. (#6929) |
diff --git a/meta/lib/oeqa/selftest/bblayers.py b/meta/lib/oeqa/selftest/cases/bblayers.py index cd658c5d4e..90a2249b08 100644 --- a/meta/lib/oeqa/selftest/bblayers.py +++ b/meta/lib/oeqa/selftest/cases/bblayers.py | |||
| @@ -1,39 +1,37 @@ | |||
| 1 | import unittest | ||
| 2 | import os | 1 | import os |
| 3 | import logging | ||
| 4 | import re | 2 | import re |
| 5 | import shutil | ||
| 6 | 3 | ||
| 7 | import oeqa.utils.ftools as ftools | 4 | import oeqa.utils.ftools as ftools |
| 8 | from oeqa.selftest.base import oeSelfTest | ||
| 9 | from oeqa.utils.commands import runCmd, get_bb_var | 5 | from oeqa.utils.commands import runCmd, get_bb_var |
| 10 | from oeqa.utils.decorators import testcase | ||
| 11 | 6 | ||
| 12 | class BitbakeLayers(oeSelfTest): | 7 | from oeqa.selftest.case import OESelftestTestCase |
| 8 | from oeqa.core.decorator.oeid import OETestID | ||
| 13 | 9 | ||
| 14 | @testcase(756) | 10 | class BitbakeLayers(OESelftestTestCase): |
| 11 | |||
| 12 | @OETestID(756) | ||
| 15 | def test_bitbakelayers_showcrossdepends(self): | 13 | def test_bitbakelayers_showcrossdepends(self): |
| 16 | result = runCmd('bitbake-layers show-cross-depends') | 14 | result = runCmd('bitbake-layers show-cross-depends') |
| 17 | self.assertTrue('aspell' in result.output, msg = "No dependencies were shown. bitbake-layers show-cross-depends output: %s" % result.output) | 15 | self.assertTrue('aspell' in result.output, msg = "No dependencies were shown. bitbake-layers show-cross-depends output: %s" % result.output) |
| 18 | 16 | ||
| 19 | @testcase(83) | 17 | @OETestID(83) |
| 20 | def test_bitbakelayers_showlayers(self): | 18 | def test_bitbakelayers_showlayers(self): |
| 21 | result = runCmd('bitbake-layers show-layers') | 19 | result = runCmd('bitbake-layers show-layers') |
| 22 | self.assertTrue('meta-selftest' in result.output, msg = "No layers were shown. bitbake-layers show-layers output: %s" % result.output) | 20 | self.assertTrue('meta-selftest' in result.output, msg = "No layers were shown. bitbake-layers show-layers output: %s" % result.output) |
| 23 | 21 | ||
| 24 | @testcase(93) | 22 | @OETestID(93) |
| 25 | def test_bitbakelayers_showappends(self): | 23 | def test_bitbakelayers_showappends(self): |
| 26 | recipe = "xcursor-transparent-theme" | 24 | recipe = "xcursor-transparent-theme" |
| 27 | bb_file = self.get_recipe_basename(recipe) | 25 | bb_file = self.get_recipe_basename(recipe) |
| 28 | result = runCmd('bitbake-layers show-appends') | 26 | result = runCmd('bitbake-layers show-appends') |
| 29 | self.assertTrue(bb_file in result.output, msg="%s file was not recognised. bitbake-layers show-appends output: %s" % (bb_file, result.output)) | 27 | self.assertTrue(bb_file in result.output, msg="%s file was not recognised. bitbake-layers show-appends output: %s" % (bb_file, result.output)) |
| 30 | 28 | ||
| 31 | @testcase(90) | 29 | @OETestID(90) |
| 32 | def test_bitbakelayers_showoverlayed(self): | 30 | def test_bitbakelayers_showoverlayed(self): |
| 33 | result = runCmd('bitbake-layers show-overlayed') | 31 | result = runCmd('bitbake-layers show-overlayed') |
| 34 | self.assertTrue('aspell' in result.output, msg="aspell overlayed recipe was not recognised bitbake-layers show-overlayed %s" % result.output) | 32 | self.assertTrue('aspell' in result.output, msg="aspell overlayed recipe was not recognised bitbake-layers show-overlayed %s" % result.output) |
| 35 | 33 | ||
| 36 | @testcase(95) | 34 | @OETestID(95) |
| 37 | def test_bitbakelayers_flatten(self): | 35 | def test_bitbakelayers_flatten(self): |
| 38 | recipe = "xcursor-transparent-theme" | 36 | recipe = "xcursor-transparent-theme" |
| 39 | recipe_path = "recipes-graphics/xcursor-transparent-theme" | 37 | recipe_path = "recipes-graphics/xcursor-transparent-theme" |
| @@ -48,7 +46,7 @@ class BitbakeLayers(oeSelfTest): | |||
| 48 | find_in_contents = re.search("##### bbappended from meta-selftest #####\n(.*\n)*include test_recipe.inc", contents) | 46 | find_in_contents = re.search("##### bbappended from meta-selftest #####\n(.*\n)*include test_recipe.inc", contents) |
| 49 | self.assertTrue(find_in_contents, msg = "Flattening layers did not work. bitbake-layers flatten output: %s" % result.output) | 47 | self.assertTrue(find_in_contents, msg = "Flattening layers did not work. bitbake-layers flatten output: %s" % result.output) |
| 50 | 48 | ||
| 51 | @testcase(1195) | 49 | @OETestID(1195) |
| 52 | def test_bitbakelayers_add_remove(self): | 50 | def test_bitbakelayers_add_remove(self): |
| 53 | test_layer = os.path.join(get_bb_var('COREBASE'), 'meta-skeleton') | 51 | test_layer = os.path.join(get_bb_var('COREBASE'), 'meta-skeleton') |
| 54 | result = runCmd('bitbake-layers show-layers') | 52 | result = runCmd('bitbake-layers show-layers') |
| @@ -66,7 +64,7 @@ class BitbakeLayers(oeSelfTest): | |||
| 66 | result = runCmd('bitbake-layers show-layers') | 64 | result = runCmd('bitbake-layers show-layers') |
| 67 | self.assertNotIn('meta-skeleton', result.output, msg = "meta-skeleton should have been removed at this step. bitbake-layers show-layers output: %s" % result.output) | 65 | self.assertNotIn('meta-skeleton', result.output, msg = "meta-skeleton should have been removed at this step. bitbake-layers show-layers output: %s" % result.output) |
| 68 | 66 | ||
| 69 | @testcase(1384) | 67 | @OETestID(1384) |
| 70 | def test_bitbakelayers_showrecipes(self): | 68 | def test_bitbakelayers_showrecipes(self): |
| 71 | result = runCmd('bitbake-layers show-recipes') | 69 | result = runCmd('bitbake-layers show-recipes') |
| 72 | self.assertIn('aspell:', result.output) | 70 | self.assertIn('aspell:', result.output) |
diff --git a/meta/lib/oeqa/selftest/bbtests.py b/meta/lib/oeqa/selftest/cases/bbtests.py index 46e09f509f..4c82049032 100644 --- a/meta/lib/oeqa/selftest/bbtests.py +++ b/meta/lib/oeqa/selftest/cases/bbtests.py | |||
| @@ -2,30 +2,31 @@ import os | |||
| 2 | import re | 2 | import re |
| 3 | 3 | ||
| 4 | import oeqa.utils.ftools as ftools | 4 | import oeqa.utils.ftools as ftools |
| 5 | from oeqa.selftest.base import oeSelfTest | ||
| 6 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars | 5 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars |
| 7 | from oeqa.utils.decorators import testcase | ||
| 8 | 6 | ||
| 9 | class BitbakeTests(oeSelfTest): | 7 | from oeqa.selftest.case import OESelftestTestCase |
| 8 | from oeqa.core.decorator.oeid import OETestID | ||
| 9 | |||
| 10 | class BitbakeTests(OESelftestTestCase): | ||
| 10 | 11 | ||
| 11 | def getline(self, res, line): | 12 | def getline(self, res, line): |
| 12 | for l in res.output.split('\n'): | 13 | for l in res.output.split('\n'): |
| 13 | if line in l: | 14 | if line in l: |
| 14 | return l | 15 | return l |
| 15 | 16 | ||
| 16 | @testcase(789) | 17 | @OETestID(789) |
| 17 | def test_run_bitbake_from_dir_1(self): | 18 | def test_run_bitbake_from_dir_1(self): |
| 18 | os.chdir(os.path.join(self.builddir, 'conf')) | 19 | os.chdir(os.path.join(self.builddir, 'conf')) |
| 19 | self.assertEqual(bitbake('-e').status, 0, msg = "bitbake couldn't run from \"conf\" dir") | 20 | self.assertEqual(bitbake('-e').status, 0, msg = "bitbake couldn't run from \"conf\" dir") |
| 20 | 21 | ||
| 21 | @testcase(790) | 22 | @OETestID(790) |
| 22 | def test_run_bitbake_from_dir_2(self): | 23 | def test_run_bitbake_from_dir_2(self): |
| 23 | my_env = os.environ.copy() | 24 | my_env = os.environ.copy() |
| 24 | my_env['BBPATH'] = my_env['BUILDDIR'] | 25 | my_env['BBPATH'] = my_env['BUILDDIR'] |
| 25 | os.chdir(os.path.dirname(os.environ['BUILDDIR'])) | 26 | os.chdir(os.path.dirname(os.environ['BUILDDIR'])) |
| 26 | self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake couldn't run from builddir") | 27 | self.assertEqual(bitbake('-e', env=my_env).status, 0, msg = "bitbake couldn't run from builddir") |
| 27 | 28 | ||
| 28 | @testcase(806) | 29 | @OETestID(806) |
| 29 | def test_event_handler(self): | 30 | def test_event_handler(self): |
| 30 | self.write_config("INHERIT += \"test_events\"") | 31 | self.write_config("INHERIT += \"test_events\"") |
| 31 | result = bitbake('m4-native') | 32 | result = bitbake('m4-native') |
| @@ -35,7 +36,7 @@ class BitbakeTests(oeSelfTest): | |||
| 35 | self.assertTrue(find_build_completed, msg = "Match failed in:\n%s" % result.output) | 36 | self.assertTrue(find_build_completed, msg = "Match failed in:\n%s" % result.output) |
| 36 | self.assertFalse('Test for bb.event.InvalidEvent' in result.output, msg = "\"Test for bb.event.InvalidEvent\" message found during bitbake process. bitbake output: %s" % result.output) | 37 | self.assertFalse('Test for bb.event.InvalidEvent' in result.output, msg = "\"Test for bb.event.InvalidEvent\" message found during bitbake process. bitbake output: %s" % result.output) |
| 37 | 38 | ||
| 38 | @testcase(103) | 39 | @OETestID(103) |
| 39 | def test_local_sstate(self): | 40 | def test_local_sstate(self): |
| 40 | bitbake('m4-native') | 41 | bitbake('m4-native') |
| 41 | bitbake('m4-native -cclean') | 42 | bitbake('m4-native -cclean') |
| @@ -43,17 +44,17 @@ class BitbakeTests(oeSelfTest): | |||
| 43 | find_setscene = re.search("m4-native.*do_.*_setscene", result.output) | 44 | find_setscene = re.search("m4-native.*do_.*_setscene", result.output) |
| 44 | self.assertTrue(find_setscene, msg = "No \"m4-native.*do_.*_setscene\" message found during bitbake m4-native. bitbake output: %s" % result.output ) | 45 | self.assertTrue(find_setscene, msg = "No \"m4-native.*do_.*_setscene\" message found during bitbake m4-native. bitbake output: %s" % result.output ) |
| 45 | 46 | ||
| 46 | @testcase(105) | 47 | @OETestID(105) |
| 47 | def test_bitbake_invalid_recipe(self): | 48 | def test_bitbake_invalid_recipe(self): |
| 48 | result = bitbake('-b asdf', ignore_status=True) | 49 | result = bitbake('-b asdf', ignore_status=True) |
| 49 | self.assertTrue("ERROR: Unable to find any recipe file matching 'asdf'" in result.output, msg = "Though asdf recipe doesn't exist, bitbake didn't output any err. message. bitbake output: %s" % result.output) | 50 | self.assertTrue("ERROR: Unable to find any recipe file matching 'asdf'" in result.output, msg = "Though asdf recipe doesn't exist, bitbake didn't output any err. message. bitbake output: %s" % result.output) |
| 50 | 51 | ||
| 51 | @testcase(107) | 52 | @OETestID(107) |
| 52 | def test_bitbake_invalid_target(self): | 53 | def test_bitbake_invalid_target(self): |
| 53 | result = bitbake('asdf', ignore_status=True) | 54 | result = bitbake('asdf', ignore_status=True) |
| 54 | self.assertTrue("ERROR: Nothing PROVIDES 'asdf'" in result.output, msg = "Though no 'asdf' target exists, bitbake didn't output any err. message. bitbake output: %s" % result.output) | 55 | self.assertTrue("ERROR: Nothing PROVIDES 'asdf'" in result.output, msg = "Though no 'asdf' target exists, bitbake didn't output any err. message. bitbake output: %s" % result.output) |
| 55 | 56 | ||
| 56 | @testcase(106) | 57 | @OETestID(106) |
| 57 | def test_warnings_errors(self): | 58 | def test_warnings_errors(self): |
| 58 | result = bitbake('-b asdf', ignore_status=True) | 59 | result = bitbake('-b asdf', ignore_status=True) |
| 59 | find_warnings = re.search("Summary: There w.{2,3}? [1-9][0-9]* WARNING messages* shown", result.output) | 60 | find_warnings = re.search("Summary: There w.{2,3}? [1-9][0-9]* WARNING messages* shown", result.output) |
| @@ -61,7 +62,7 @@ class BitbakeTests(oeSelfTest): | |||
| 61 | self.assertTrue(find_warnings, msg="Did not find the mumber of warnings at the end of the build:\n" + result.output) | 62 | self.assertTrue(find_warnings, msg="Did not find the mumber of warnings at the end of the build:\n" + result.output) |
| 62 | self.assertTrue(find_errors, msg="Did not find the mumber of errors at the end of the build:\n" + result.output) | 63 | self.assertTrue(find_errors, msg="Did not find the mumber of errors at the end of the build:\n" + result.output) |
| 63 | 64 | ||
| 64 | @testcase(108) | 65 | @OETestID(108) |
| 65 | def test_invalid_patch(self): | 66 | def test_invalid_patch(self): |
| 66 | # This patch already exists in SRC_URI so adding it again will cause the | 67 | # This patch already exists in SRC_URI so adding it again will cause the |
| 67 | # patch to fail. | 68 | # patch to fail. |
| @@ -73,7 +74,7 @@ class BitbakeTests(oeSelfTest): | |||
| 73 | line = self.getline(result, "Function failed: patch_do_patch") | 74 | line = self.getline(result, "Function failed: patch_do_patch") |
| 74 | self.assertTrue(line and line.startswith("ERROR:"), msg = "Repeated patch application didn't fail. bitbake output: %s" % result.output) | 75 | self.assertTrue(line and line.startswith("ERROR:"), msg = "Repeated patch application didn't fail. bitbake output: %s" % result.output) |
| 75 | 76 | ||
| 76 | @testcase(1354) | 77 | @OETestID(1354) |
| 77 | def test_force_task_1(self): | 78 | def test_force_task_1(self): |
| 78 | # test 1 from bug 5875 | 79 | # test 1 from bug 5875 |
| 79 | test_recipe = 'zlib' | 80 | test_recipe = 'zlib' |
| @@ -98,7 +99,7 @@ class BitbakeTests(oeSelfTest): | |||
| 98 | ret = bitbake(test_recipe) | 99 | ret = bitbake(test_recipe) |
| 99 | self.assertIn('task do_package_write_rpm:', ret.output, 'Task do_package_write_rpm did not re-executed.') | 100 | self.assertIn('task do_package_write_rpm:', ret.output, 'Task do_package_write_rpm did not re-executed.') |
| 100 | 101 | ||
| 101 | @testcase(163) | 102 | @OETestID(163) |
| 102 | def test_force_task_2(self): | 103 | def test_force_task_2(self): |
| 103 | # test 2 from bug 5875 | 104 | # test 2 from bug 5875 |
| 104 | test_recipe = 'zlib' | 105 | test_recipe = 'zlib' |
| @@ -111,7 +112,7 @@ class BitbakeTests(oeSelfTest): | |||
| 111 | for task in look_for_tasks: | 112 | for task in look_for_tasks: |
| 112 | self.assertIn(task, result.output, msg="Couldn't find %s task.") | 113 | self.assertIn(task, result.output, msg="Couldn't find %s task.") |
| 113 | 114 | ||
| 114 | @testcase(167) | 115 | @OETestID(167) |
| 115 | def test_bitbake_g(self): | 116 | def test_bitbake_g(self): |
| 116 | result = bitbake('-g core-image-minimal') | 117 | result = bitbake('-g core-image-minimal') |
| 117 | for f in ['pn-buildlist', 'recipe-depends.dot', 'task-depends.dot']: | 118 | for f in ['pn-buildlist', 'recipe-depends.dot', 'task-depends.dot']: |
| @@ -119,7 +120,7 @@ class BitbakeTests(oeSelfTest): | |||
| 119 | self.assertTrue('Task dependencies saved to \'task-depends.dot\'' in result.output, msg = "No task dependency \"task-depends.dot\" file was generated for the given task target. bitbake output: %s" % result.output) | 120 | self.assertTrue('Task dependencies saved to \'task-depends.dot\'' in result.output, msg = "No task dependency \"task-depends.dot\" file was generated for the given task target. bitbake output: %s" % result.output) |
| 120 | self.assertTrue('busybox' in ftools.read_file(os.path.join(self.builddir, 'task-depends.dot')), msg = "No \"busybox\" dependency found in task-depends.dot file.") | 121 | self.assertTrue('busybox' in ftools.read_file(os.path.join(self.builddir, 'task-depends.dot')), msg = "No \"busybox\" dependency found in task-depends.dot file.") |
| 121 | 122 | ||
| 122 | @testcase(899) | 123 | @OETestID(899) |
| 123 | def test_image_manifest(self): | 124 | def test_image_manifest(self): |
| 124 | bitbake('core-image-minimal') | 125 | bitbake('core-image-minimal') |
| 125 | bb_vars = get_bb_vars(["DEPLOY_DIR_IMAGE", "IMAGE_LINK_NAME"], "core-image-minimal") | 126 | bb_vars = get_bb_vars(["DEPLOY_DIR_IMAGE", "IMAGE_LINK_NAME"], "core-image-minimal") |
| @@ -128,7 +129,7 @@ class BitbakeTests(oeSelfTest): | |||
| 128 | manifest = os.path.join(deploydir, imagename + ".manifest") | 129 | manifest = os.path.join(deploydir, imagename + ".manifest") |
| 129 | self.assertTrue(os.path.islink(manifest), msg="No manifest file created for image. It should have been created in %s" % manifest) | 130 | self.assertTrue(os.path.islink(manifest), msg="No manifest file created for image. It should have been created in %s" % manifest) |
| 130 | 131 | ||
| 131 | @testcase(168) | 132 | @OETestID(168) |
| 132 | def test_invalid_recipe_src_uri(self): | 133 | def test_invalid_recipe_src_uri(self): |
| 133 | data = 'SRC_URI = "file://invalid"' | 134 | data = 'SRC_URI = "file://invalid"' |
| 134 | self.write_recipeinc('man', data) | 135 | self.write_recipeinc('man', data) |
| @@ -149,7 +150,7 @@ doesn't exist, yet no error message encountered. bitbake output: %s" % result.ou | |||
| 149 | self.assertTrue(line and line.startswith("ERROR:"), msg = "\"invalid\" file \ | 150 | self.assertTrue(line and line.startswith("ERROR:"), msg = "\"invalid\" file \ |
| 150 | doesn't exist, yet fetcher didn't report any error. bitbake output: %s" % result.output) | 151 | doesn't exist, yet fetcher didn't report any error. bitbake output: %s" % result.output) |
| 151 | 152 | ||
| 152 | @testcase(171) | 153 | @OETestID(171) |
| 153 | def test_rename_downloaded_file(self): | 154 | def test_rename_downloaded_file(self): |
| 154 | # TODO unique dldir instead of using cleanall | 155 | # TODO unique dldir instead of using cleanall |
| 155 | # TODO: need to set sstatedir? | 156 | # TODO: need to set sstatedir? |
| @@ -167,29 +168,29 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" | |||
| 167 | self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz')), msg = "File rename failed. No corresponding test-aspell.tar.gz file found under %s" % dl_dir) | 168 | self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz')), msg = "File rename failed. No corresponding test-aspell.tar.gz file found under %s" % dl_dir) |
| 168 | self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz.done')), "File rename failed. No corresponding test-aspell.tar.gz.done file found under %s" % dl_dir) | 169 | self.assertTrue(os.path.isfile(os.path.join(dl_dir, 'test-aspell.tar.gz.done')), "File rename failed. No corresponding test-aspell.tar.gz.done file found under %s" % dl_dir) |
| 169 | 170 | ||
| 170 | @testcase(1028) | 171 | @OETestID(1028) |
| 171 | def test_environment(self): | 172 | def test_environment(self): |
| 172 | self.write_config("TEST_ENV=\"localconf\"") | 173 | self.write_config("TEST_ENV=\"localconf\"") |
| 173 | result = runCmd('bitbake -e | grep TEST_ENV=') | 174 | result = runCmd('bitbake -e | grep TEST_ENV=') |
| 174 | self.assertTrue('localconf' in result.output, msg = "bitbake didn't report any value for TEST_ENV variable. To test, run 'bitbake -e | grep TEST_ENV='") | 175 | self.assertTrue('localconf' in result.output, msg = "bitbake didn't report any value for TEST_ENV variable. To test, run 'bitbake -e | grep TEST_ENV='") |
| 175 | 176 | ||
| 176 | @testcase(1029) | 177 | @OETestID(1029) |
| 177 | def test_dry_run(self): | 178 | def test_dry_run(self): |
| 178 | result = runCmd('bitbake -n m4-native') | 179 | result = runCmd('bitbake -n m4-native') |
| 179 | self.assertEqual(0, result.status, "bitbake dry run didn't run as expected. %s" % result.output) | 180 | self.assertEqual(0, result.status, "bitbake dry run didn't run as expected. %s" % result.output) |
| 180 | 181 | ||
| 181 | @testcase(1030) | 182 | @OETestID(1030) |
| 182 | def test_just_parse(self): | 183 | def test_just_parse(self): |
| 183 | result = runCmd('bitbake -p') | 184 | result = runCmd('bitbake -p') |
| 184 | self.assertEqual(0, result.status, "errors encountered when parsing recipes. %s" % result.output) | 185 | self.assertEqual(0, result.status, "errors encountered when parsing recipes. %s" % result.output) |
| 185 | 186 | ||
| 186 | @testcase(1031) | 187 | @OETestID(1031) |
| 187 | def test_version(self): | 188 | def test_version(self): |
| 188 | result = runCmd('bitbake -s | grep wget') | 189 | result = runCmd('bitbake -s | grep wget') |
| 189 | find = re.search("wget *:([0-9a-zA-Z\.\-]+)", result.output) | 190 | find = re.search("wget *:([0-9a-zA-Z\.\-]+)", result.output) |
| 190 | self.assertTrue(find, "No version returned for searched recipe. bitbake output: %s" % result.output) | 191 | self.assertTrue(find, "No version returned for searched recipe. bitbake output: %s" % result.output) |
| 191 | 192 | ||
| 192 | @testcase(1032) | 193 | @OETestID(1032) |
| 193 | def test_prefile(self): | 194 | def test_prefile(self): |
| 194 | preconf = os.path.join(self.builddir, 'conf/prefile.conf') | 195 | preconf = os.path.join(self.builddir, 'conf/prefile.conf') |
| 195 | self.track_for_cleanup(preconf) | 196 | self.track_for_cleanup(preconf) |
| @@ -200,7 +201,7 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" | |||
| 200 | result = runCmd('bitbake -r conf/prefile.conf -e | grep TEST_PREFILE=') | 201 | result = runCmd('bitbake -r conf/prefile.conf -e | grep TEST_PREFILE=') |
| 201 | self.assertTrue('localconf' in result.output, "Preconfigure file \"prefile.conf\"was not taken into consideration.") | 202 | self.assertTrue('localconf' in result.output, "Preconfigure file \"prefile.conf\"was not taken into consideration.") |
| 202 | 203 | ||
| 203 | @testcase(1033) | 204 | @OETestID(1033) |
| 204 | def test_postfile(self): | 205 | def test_postfile(self): |
| 205 | postconf = os.path.join(self.builddir, 'conf/postfile.conf') | 206 | postconf = os.path.join(self.builddir, 'conf/postfile.conf') |
| 206 | self.track_for_cleanup(postconf) | 207 | self.track_for_cleanup(postconf) |
| @@ -209,12 +210,12 @@ SSTATE_DIR = \"${TOPDIR}/download-selftest\" | |||
| 209 | result = runCmd('bitbake -R conf/postfile.conf -e | grep TEST_POSTFILE=') | 210 | result = runCmd('bitbake -R conf/postfile.conf -e | grep TEST_POSTFILE=') |
| 210 | self.assertTrue('postfile' in result.output, "Postconfigure file \"postfile.conf\"was not taken into consideration.") | 211 | self.assertTrue('postfile' in result.output, "Postconfigure file \"postfile.conf\"was not taken into consideration.") |
| 211 | 212 | ||
| 212 | @testcase(1034) | 213 | @OETestID(1034) |
| 213 | def test_checkuri(self): | 214 | def test_checkuri(self): |
| 214 | result = runCmd('bitbake -c checkuri m4') | 215 | result = runCmd('bitbake -c checkuri m4') |
| 215 | self.assertEqual(0, result.status, msg = "\"checkuri\" task was not executed. bitbake output: %s" % result.output) | 216 | self.assertEqual(0, result.status, msg = "\"checkuri\" task was not executed. bitbake output: %s" % result.output) |
| 216 | 217 | ||
| 217 | @testcase(1035) | 218 | @OETestID(1035) |
| 218 | def test_continue(self): | 219 | def test_continue(self): |
| 219 | self.write_config("""DL_DIR = \"${TOPDIR}/download-selftest\" | 220 | self.write_config("""DL_DIR = \"${TOPDIR}/download-selftest\" |
| 220 | SSTATE_DIR = \"${TOPDIR}/download-selftest\" | 221 | SSTATE_DIR = \"${TOPDIR}/download-selftest\" |
| @@ -229,7 +230,7 @@ INHERIT_remove = \"report-error\" | |||
| 229 | continuepos = result.output.find('NOTE: recipe xcursor-transparent-theme-%s: task do_unpack: Started' % manver.group(1)) | 230 | continuepos = result.output.find('NOTE: recipe xcursor-transparent-theme-%s: task do_unpack: Started' % manver.group(1)) |
| 230 | self.assertLess(errorpos,continuepos, msg = "bitbake didn't pass do_fail_task. bitbake output: %s" % result.output) | 231 | self.assertLess(errorpos,continuepos, msg = "bitbake didn't pass do_fail_task. bitbake output: %s" % result.output) |
| 231 | 232 | ||
| 232 | @testcase(1119) | 233 | @OETestID(1119) |
| 233 | def test_non_gplv3(self): | 234 | def test_non_gplv3(self): |
| 234 | self.write_config('INCOMPATIBLE_LICENSE = "GPLv3"') | 235 | self.write_config('INCOMPATIBLE_LICENSE = "GPLv3"') |
| 235 | result = bitbake('selftest-ed', ignore_status=True) | 236 | result = bitbake('selftest-ed', ignore_status=True) |
| @@ -238,7 +239,7 @@ INHERIT_remove = \"report-error\" | |||
| 238 | self.assertFalse(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv3'))) | 239 | self.assertFalse(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv3'))) |
| 239 | self.assertTrue(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv2'))) | 240 | self.assertTrue(os.path.isfile(os.path.join(lic_dir, 'selftest-ed/generic_GPLv2'))) |
| 240 | 241 | ||
| 241 | @testcase(1422) | 242 | @OETestID(1422) |
| 242 | def test_setscene_only(self): | 243 | def test_setscene_only(self): |
| 243 | """ Bitbake option to restore from sstate only within a build (i.e. execute no real tasks, only setscene)""" | 244 | """ Bitbake option to restore from sstate only within a build (i.e. execute no real tasks, only setscene)""" |
| 244 | test_recipe = 'ed' | 245 | test_recipe = 'ed' |
| @@ -253,7 +254,7 @@ INHERIT_remove = \"report-error\" | |||
| 253 | self.assertIn('_setscene', task, 'A task different from _setscene ran: %s.\n' | 254 | self.assertIn('_setscene', task, 'A task different from _setscene ran: %s.\n' |
| 254 | 'Executed tasks were: %s' % (task, str(tasks))) | 255 | 'Executed tasks were: %s' % (task, str(tasks))) |
| 255 | 256 | ||
| 256 | @testcase(1425) | 257 | @OETestID(1425) |
| 257 | def test_bbappend_order(self): | 258 | def test_bbappend_order(self): |
| 258 | """ Bitbake should bbappend to recipe in a predictable order """ | 259 | """ Bitbake should bbappend to recipe in a predictable order """ |
| 259 | test_recipe = 'ed' | 260 | test_recipe = 'ed' |
diff --git a/meta/lib/oeqa/selftest/buildhistory.py b/meta/lib/oeqa/selftest/cases/buildhistory.py index 008c39c956..06792d9146 100644 --- a/meta/lib/oeqa/selftest/buildhistory.py +++ b/meta/lib/oeqa/selftest/cases/buildhistory.py | |||
| @@ -2,12 +2,11 @@ import os | |||
| 2 | import re | 2 | import re |
| 3 | import datetime | 3 | import datetime |
| 4 | 4 | ||
| 5 | from oeqa.selftest.base import oeSelfTest | 5 | from oeqa.selftest.case import OESelftestTestCase |
| 6 | from oeqa.utils.commands import bitbake, get_bb_vars | 6 | from oeqa.utils.commands import bitbake, get_bb_vars |
| 7 | from oeqa.utils.decorators import testcase | ||
| 8 | 7 | ||
| 9 | 8 | ||
| 10 | class BuildhistoryBase(oeSelfTest): | 9 | class BuildhistoryBase(OESelftestTestCase): |
| 11 | 10 | ||
| 12 | def config_buildhistory(self, tmp_bh_location=False): | 11 | def config_buildhistory(self, tmp_bh_location=False): |
| 13 | bb_vars = get_bb_vars(['USER_CLASSES', 'INHERIT']) | 12 | bb_vars = get_bb_vars(['USER_CLASSES', 'INHERIT']) |
diff --git a/meta/lib/oeqa/selftest/buildoptions.py b/meta/lib/oeqa/selftest/cases/buildoptions.py index ce37ea457c..1f1bb7ae63 100644 --- a/meta/lib/oeqa/selftest/buildoptions.py +++ b/meta/lib/oeqa/selftest/cases/buildoptions.py | |||
| @@ -3,15 +3,15 @@ import re | |||
| 3 | import glob as g | 3 | import glob as g |
| 4 | import shutil | 4 | import shutil |
| 5 | import tempfile | 5 | import tempfile |
| 6 | from oeqa.selftest.base import oeSelfTest | 6 | from oeqa.selftest.case import OESelftestTestCase |
| 7 | from oeqa.selftest.buildhistory import BuildhistoryBase | 7 | from oeqa.selftest.cases.buildhistory import BuildhistoryBase |
| 8 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars | 8 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars |
| 9 | import oeqa.utils.ftools as ftools | 9 | import oeqa.utils.ftools as ftools |
| 10 | from oeqa.utils.decorators import testcase | 10 | from oeqa.core.decorator.oeid import OETestID |
| 11 | 11 | ||
| 12 | class ImageOptionsTests(oeSelfTest): | 12 | class ImageOptionsTests(OESelftestTestCase): |
| 13 | 13 | ||
| 14 | @testcase(761) | 14 | @OETestID(761) |
| 15 | def test_incremental_image_generation(self): | 15 | def test_incremental_image_generation(self): |
| 16 | image_pkgtype = get_bb_var("IMAGE_PKGTYPE") | 16 | image_pkgtype = get_bb_var("IMAGE_PKGTYPE") |
| 17 | if image_pkgtype != 'rpm': | 17 | if image_pkgtype != 'rpm': |
| @@ -30,7 +30,7 @@ class ImageOptionsTests(oeSelfTest): | |||
| 30 | incremental_removed = re.search(r"Erasing\s*:\s*packagegroup-core-ssh-openssh", log_data_removed) | 30 | incremental_removed = re.search(r"Erasing\s*:\s*packagegroup-core-ssh-openssh", log_data_removed) |
| 31 | self.assertTrue(incremental_removed, msg = "Match failed in:\n%s" % log_data_removed) | 31 | self.assertTrue(incremental_removed, msg = "Match failed in:\n%s" % log_data_removed) |
| 32 | 32 | ||
| 33 | @testcase(286) | 33 | @OETestID(286) |
| 34 | def test_ccache_tool(self): | 34 | def test_ccache_tool(self): |
| 35 | bitbake("ccache-native") | 35 | bitbake("ccache-native") |
| 36 | bb_vars = get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'ccache-native') | 36 | bb_vars = get_bb_vars(['SYSROOT_DESTDIR', 'bindir'], 'ccache-native') |
| @@ -43,7 +43,7 @@ class ImageOptionsTests(oeSelfTest): | |||
| 43 | res = runCmd("grep ccache %s" % log_compile, ignore_status=True) | 43 | res = runCmd("grep ccache %s" % log_compile, ignore_status=True) |
| 44 | self.assertEqual(0, res.status, msg="No match for ccache in m4 log.do_compile. For further details: %s" % log_compile) | 44 | self.assertEqual(0, res.status, msg="No match for ccache in m4 log.do_compile. For further details: %s" % log_compile) |
| 45 | 45 | ||
| 46 | @testcase(1435) | 46 | @OETestID(1435) |
| 47 | def test_read_only_image(self): | 47 | def test_read_only_image(self): |
| 48 | distro_features = get_bb_var('DISTRO_FEATURES') | 48 | distro_features = get_bb_var('DISTRO_FEATURES') |
| 49 | if not ('x11' in distro_features and 'opengl' in distro_features): | 49 | if not ('x11' in distro_features and 'opengl' in distro_features): |
| @@ -52,9 +52,9 @@ class ImageOptionsTests(oeSelfTest): | |||
| 52 | bitbake("core-image-sato") | 52 | bitbake("core-image-sato") |
| 53 | # do_image will fail if there are any pending postinsts | 53 | # do_image will fail if there are any pending postinsts |
| 54 | 54 | ||
| 55 | class DiskMonTest(oeSelfTest): | 55 | class DiskMonTest(OESelftestTestCase): |
| 56 | 56 | ||
| 57 | @testcase(277) | 57 | @OETestID(277) |
| 58 | def test_stoptask_behavior(self): | 58 | def test_stoptask_behavior(self): |
| 59 | self.write_config('BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},100000G,100K"') | 59 | self.write_config('BB_DISKMON_DIRS = "STOPTASKS,${TMPDIR},100000G,100K"') |
| 60 | res = bitbake("m4", ignore_status = True) | 60 | res = bitbake("m4", ignore_status = True) |
| @@ -68,13 +68,13 @@ class DiskMonTest(oeSelfTest): | |||
| 68 | res = bitbake("m4") | 68 | res = bitbake("m4") |
| 69 | self.assertTrue('WARNING: The free space' in res.output, msg = "A warning should have been displayed for disk monitor is set to WARN: %s" %res.output) | 69 | self.assertTrue('WARNING: The free space' in res.output, msg = "A warning should have been displayed for disk monitor is set to WARN: %s" %res.output) |
| 70 | 70 | ||
| 71 | class SanityOptionsTest(oeSelfTest): | 71 | class SanityOptionsTest(OESelftestTestCase): |
| 72 | def getline(self, res, line): | 72 | def getline(self, res, line): |
| 73 | for l in res.output.split('\n'): | 73 | for l in res.output.split('\n'): |
| 74 | if line in l: | 74 | if line in l: |
| 75 | return l | 75 | return l |
| 76 | 76 | ||
| 77 | @testcase(927) | 77 | @OETestID(927) |
| 78 | def test_options_warnqa_errorqa_switch(self): | 78 | def test_options_warnqa_errorqa_switch(self): |
| 79 | 79 | ||
| 80 | self.write_config("INHERIT_remove = \"report-error\"") | 80 | self.write_config("INHERIT_remove = \"report-error\"") |
| @@ -96,7 +96,7 @@ class SanityOptionsTest(oeSelfTest): | |||
| 96 | line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.") | 96 | line = self.getline(res, "QA Issue: xcursor-transparent-theme-dbg is listed in PACKAGES multiple times, this leads to packaging errors.") |
| 97 | self.assertTrue(line and line.startswith("WARNING:"), msg=res.output) | 97 | self.assertTrue(line and line.startswith("WARNING:"), msg=res.output) |
| 98 | 98 | ||
| 99 | @testcase(278) | 99 | @OETestID(278) |
| 100 | def test_sanity_unsafe_script_references(self): | 100 | def test_sanity_unsafe_script_references(self): |
| 101 | self.write_config('WARN_QA_append = " unsafe-references-in-scripts"') | 101 | self.write_config('WARN_QA_append = " unsafe-references-in-scripts"') |
| 102 | 102 | ||
| @@ -114,7 +114,7 @@ do_install_append_pn-gzip () { | |||
| 114 | line = self.getline(res, "QA Issue: gzip") | 114 | line = self.getline(res, "QA Issue: gzip") |
| 115 | self.assertTrue(line and line.startswith("WARNING:"), "WARNING: QA Issue: gzip message is not present in bitbake's output: %s" % res.output) | 115 | self.assertTrue(line and line.startswith("WARNING:"), "WARNING: QA Issue: gzip message is not present in bitbake's output: %s" % res.output) |
| 116 | 116 | ||
| 117 | @testcase(1421) | 117 | @OETestID(1421) |
| 118 | def test_layer_without_git_dir(self): | 118 | def test_layer_without_git_dir(self): |
| 119 | """ | 119 | """ |
| 120 | Summary: Test that layer git revisions are displayed and do not fail without git repository | 120 | Summary: Test that layer git revisions are displayed and do not fail without git repository |
| @@ -156,20 +156,20 @@ do_install_append_pn-gzip () { | |||
| 156 | 156 | ||
| 157 | class BuildhistoryTests(BuildhistoryBase): | 157 | class BuildhistoryTests(BuildhistoryBase): |
| 158 | 158 | ||
| 159 | @testcase(293) | 159 | @OETestID(293) |
| 160 | def test_buildhistory_basic(self): | 160 | def test_buildhistory_basic(self): |
| 161 | self.run_buildhistory_operation('xcursor-transparent-theme') | 161 | self.run_buildhistory_operation('xcursor-transparent-theme') |
| 162 | self.assertTrue(os.path.isdir(get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.") | 162 | self.assertTrue(os.path.isdir(get_bb_var('BUILDHISTORY_DIR')), "buildhistory dir was not created.") |
| 163 | 163 | ||
| 164 | @testcase(294) | 164 | @OETestID(294) |
| 165 | def test_buildhistory_buildtime_pr_backwards(self): | 165 | def test_buildhistory_buildtime_pr_backwards(self): |
| 166 | target = 'xcursor-transparent-theme' | 166 | target = 'xcursor-transparent-theme' |
| 167 | error = "ERROR:.*QA Issue: Package version for package %s went backwards which would break package feeds from (.*-r1.* to .*-r0.*)" % target | 167 | error = "ERROR:.*QA Issue: Package version for package %s went backwards which would break package feeds from (.*-r1.* to .*-r0.*)" % target |
| 168 | self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) | 168 | self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) |
| 169 | self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error) | 169 | self.run_buildhistory_operation(target, target_config="PR = \"r0\"", change_bh_location=False, expect_error=True, error_regex=error) |
| 170 | 170 | ||
| 171 | class ArchiverTest(oeSelfTest): | 171 | class ArchiverTest(OESelftestTestCase): |
| 172 | @testcase(926) | 172 | @OETestID(926) |
| 173 | def test_arch_work_dir_and_export_source(self): | 173 | def test_arch_work_dir_and_export_source(self): |
| 174 | """ | 174 | """ |
| 175 | Test for archiving the work directory and exporting the source files. | 175 | Test for archiving the work directory and exporting the source files. |
diff --git a/meta/lib/oeqa/selftest/containerimage.py b/meta/lib/oeqa/selftest/cases/containerimage.py index def481f144..73162fa600 100644 --- a/meta/lib/oeqa/selftest/containerimage.py +++ b/meta/lib/oeqa/selftest/cases/containerimage.py | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | import os | 1 | import os |
| 2 | 2 | ||
| 3 | from oeqa.selftest.base import oeSelfTest | 3 | from oeqa.selftest.case import OESelftestTestCase |
| 4 | from oeqa.utils.commands import bitbake, get_bb_vars, runCmd | 4 | from oeqa.utils.commands import bitbake, get_bb_vars, runCmd |
| 5 | 5 | ||
| 6 | # This test builds an image with using the "container" IMAGE_FSTYPE, and | 6 | # This test builds an image with using the "container" IMAGE_FSTYPE, and |
| @@ -16,7 +16,7 @@ from oeqa.utils.commands import bitbake, get_bb_vars, runCmd | |||
| 16 | # of them, but this test is more to catch if other packages get added by | 16 | # of them, but this test is more to catch if other packages get added by |
| 17 | # default other than what is in ROOTFS_BOOTSTRAP_INSTALL. | 17 | # default other than what is in ROOTFS_BOOTSTRAP_INSTALL. |
| 18 | # | 18 | # |
| 19 | class ContainerImageTests(oeSelfTest): | 19 | class ContainerImageTests(OESelftestTestCase): |
| 20 | 20 | ||
| 21 | # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that | 21 | # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that |
| 22 | # the conversion type bar gets added as a dep as well | 22 | # the conversion type bar gets added as a dep as well |
diff --git a/meta/lib/oeqa/selftest/devtool.py b/meta/lib/oeqa/selftest/cases/devtool.py index 39f3543417..75340d6d7b 100644 --- a/meta/lib/oeqa/selftest/devtool.py +++ b/meta/lib/oeqa/selftest/cases/devtool.py | |||
| @@ -1,6 +1,4 @@ | |||
| 1 | import unittest | ||
| 2 | import os | 1 | import os |
| 3 | import logging | ||
| 4 | import re | 2 | import re |
| 5 | import shutil | 3 | import shutil |
| 6 | import tempfile | 4 | import tempfile |
| @@ -8,12 +6,12 @@ import glob | |||
| 8 | import fnmatch | 6 | import fnmatch |
| 9 | 7 | ||
| 10 | import oeqa.utils.ftools as ftools | 8 | import oeqa.utils.ftools as ftools |
| 11 | from oeqa.selftest.base import oeSelfTest | 9 | from oeqa.selftest.case import OESelftestTestCase |
| 12 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer | 10 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, create_temp_layer |
| 13 | from oeqa.utils.commands import get_bb_vars, runqemu, get_test_layer | 11 | from oeqa.utils.commands import get_bb_vars, runqemu, get_test_layer |
| 14 | from oeqa.utils.decorators import testcase | 12 | from oeqa.core.decorator.oeid import OETestID |
| 15 | 13 | ||
| 16 | class DevtoolBase(oeSelfTest): | 14 | class DevtoolBase(OESelftestTestCase): |
| 17 | 15 | ||
| 18 | def _test_recipe_contents(self, recipefile, checkvars, checkinherits): | 16 | def _test_recipe_contents(self, recipefile, checkvars, checkinherits): |
| 19 | with open(recipefile, 'r') as f: | 17 | with open(recipefile, 'r') as f: |
| @@ -120,6 +118,7 @@ class DevtoolTests(DevtoolBase): | |||
| 120 | 118 | ||
| 121 | @classmethod | 119 | @classmethod |
| 122 | def setUpClass(cls): | 120 | def setUpClass(cls): |
| 121 | super(DevtoolTests, cls).setUpClass() | ||
| 123 | bb_vars = get_bb_vars(['TOPDIR', 'SSTATE_DIR']) | 122 | bb_vars = get_bb_vars(['TOPDIR', 'SSTATE_DIR']) |
| 124 | cls.original_sstate = bb_vars['SSTATE_DIR'] | 123 | cls.original_sstate = bb_vars['SSTATE_DIR'] |
| 125 | cls.devtool_sstate = os.path.join(bb_vars['TOPDIR'], 'sstate_devtool') | 124 | cls.devtool_sstate = os.path.join(bb_vars['TOPDIR'], 'sstate_devtool') |
| @@ -129,8 +128,9 @@ class DevtoolTests(DevtoolBase): | |||
| 129 | 128 | ||
| 130 | @classmethod | 129 | @classmethod |
| 131 | def tearDownClass(cls): | 130 | def tearDownClass(cls): |
| 132 | cls.log.debug('Deleting devtool sstate cache on %s' % cls.devtool_sstate) | 131 | cls.logger.debug('Deleting devtool sstate cache on %s' % cls.devtool_sstate) |
| 133 | runCmd('rm -rf %s' % cls.devtool_sstate) | 132 | runCmd('rm -rf %s' % cls.devtool_sstate) |
| 133 | super(DevtoolTests, cls).tearDownClass() | ||
| 134 | 134 | ||
| 135 | def setUp(self): | 135 | def setUp(self): |
| 136 | """Test case setup function""" | 136 | """Test case setup function""" |
| @@ -168,7 +168,7 @@ class DevtoolTests(DevtoolBase): | |||
| 168 | if expected_status: | 168 | if expected_status: |
| 169 | self.fail('Missing file changes: %s' % expected_status) | 169 | self.fail('Missing file changes: %s' % expected_status) |
| 170 | 170 | ||
| 171 | @testcase(1158) | 171 | @OETestID(1158) |
| 172 | def test_create_workspace(self): | 172 | def test_create_workspace(self): |
| 173 | # Check preconditions | 173 | # Check preconditions |
| 174 | result = runCmd('bitbake-layers show-layers') | 174 | result = runCmd('bitbake-layers show-layers') |
| @@ -189,7 +189,7 @@ class DevtoolTests(DevtoolBase): | |||
| 189 | self.assertNotIn(tempdir, result.output) | 189 | self.assertNotIn(tempdir, result.output) |
| 190 | self.assertIn(self.workspacedir, result.output) | 190 | self.assertIn(self.workspacedir, result.output) |
| 191 | 191 | ||
| 192 | @testcase(1159) | 192 | @OETestID(1159) |
| 193 | def test_devtool_add(self): | 193 | def test_devtool_add(self): |
| 194 | # Fetch source | 194 | # Fetch source |
| 195 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') | 195 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') |
| @@ -222,7 +222,7 @@ class DevtoolTests(DevtoolBase): | |||
| 222 | bindir = bindir[1:] | 222 | bindir = bindir[1:] |
| 223 | self.assertTrue(os.path.isfile(os.path.join(installdir, bindir, 'pv')), 'pv binary not found in D') | 223 | self.assertTrue(os.path.isfile(os.path.join(installdir, bindir, 'pv')), 'pv binary not found in D') |
| 224 | 224 | ||
| 225 | @testcase(1423) | 225 | @OETestID(1423) |
| 226 | def test_devtool_add_git_local(self): | 226 | def test_devtool_add_git_local(self): |
| 227 | # Fetch source from a remote URL, but do it outside of devtool | 227 | # Fetch source from a remote URL, but do it outside of devtool |
| 228 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') | 228 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') |
| @@ -262,7 +262,7 @@ class DevtoolTests(DevtoolBase): | |||
| 262 | checkvars['DEPENDS'] = set(['dbus']) | 262 | checkvars['DEPENDS'] = set(['dbus']) |
| 263 | self._test_recipe_contents(recipefile, checkvars, []) | 263 | self._test_recipe_contents(recipefile, checkvars, []) |
| 264 | 264 | ||
| 265 | @testcase(1162) | 265 | @OETestID(1162) |
| 266 | def test_devtool_add_library(self): | 266 | def test_devtool_add_library(self): |
| 267 | # Fetch source | 267 | # Fetch source |
| 268 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') | 268 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') |
| @@ -311,7 +311,7 @@ class DevtoolTests(DevtoolBase): | |||
| 311 | self.assertFalse(matches, 'Stamp files exist for recipe libftdi that should have been cleaned') | 311 | self.assertFalse(matches, 'Stamp files exist for recipe libftdi that should have been cleaned') |
| 312 | self.assertFalse(os.path.isfile(os.path.join(staging_libdir, 'libftdi1.so.2.1.0')), 'libftdi binary still found in STAGING_LIBDIR after cleaning') | 312 | self.assertFalse(os.path.isfile(os.path.join(staging_libdir, 'libftdi1.so.2.1.0')), 'libftdi binary still found in STAGING_LIBDIR after cleaning') |
| 313 | 313 | ||
| 314 | @testcase(1160) | 314 | @OETestID(1160) |
| 315 | def test_devtool_add_fetch(self): | 315 | def test_devtool_add_fetch(self): |
| 316 | # Fetch source | 316 | # Fetch source |
| 317 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') | 317 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') |
| @@ -357,7 +357,7 @@ class DevtoolTests(DevtoolBase): | |||
| 357 | checkvars['SRC_URI'] = url | 357 | checkvars['SRC_URI'] = url |
| 358 | self._test_recipe_contents(recipefile, checkvars, []) | 358 | self._test_recipe_contents(recipefile, checkvars, []) |
| 359 | 359 | ||
| 360 | @testcase(1161) | 360 | @OETestID(1161) |
| 361 | def test_devtool_add_fetch_git(self): | 361 | def test_devtool_add_fetch_git(self): |
| 362 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') | 362 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') |
| 363 | self.track_for_cleanup(tempdir) | 363 | self.track_for_cleanup(tempdir) |
| @@ -405,7 +405,7 @@ class DevtoolTests(DevtoolBase): | |||
| 405 | checkvars['SRCREV'] = checkrev | 405 | checkvars['SRCREV'] = checkrev |
| 406 | self._test_recipe_contents(recipefile, checkvars, []) | 406 | self._test_recipe_contents(recipefile, checkvars, []) |
| 407 | 407 | ||
| 408 | @testcase(1391) | 408 | @OETestID(1391) |
| 409 | def test_devtool_add_fetch_simple(self): | 409 | def test_devtool_add_fetch_simple(self): |
| 410 | # Fetch source from a remote URL, auto-detecting name | 410 | # Fetch source from a remote URL, auto-detecting name |
| 411 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') | 411 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') |
| @@ -433,7 +433,7 @@ class DevtoolTests(DevtoolBase): | |||
| 433 | checkvars['SRC_URI'] = url.replace(testver, '${PV}') | 433 | checkvars['SRC_URI'] = url.replace(testver, '${PV}') |
| 434 | self._test_recipe_contents(recipefile, checkvars, []) | 434 | self._test_recipe_contents(recipefile, checkvars, []) |
| 435 | 435 | ||
| 436 | @testcase(1164) | 436 | @OETestID(1164) |
| 437 | def test_devtool_modify(self): | 437 | def test_devtool_modify(self): |
| 438 | import oe.path | 438 | import oe.path |
| 439 | 439 | ||
| @@ -537,7 +537,7 @@ class DevtoolTests(DevtoolBase): | |||
| 537 | finally: | 537 | finally: |
| 538 | self.delete_recipeinc('m4') | 538 | self.delete_recipeinc('m4') |
| 539 | 539 | ||
| 540 | @testcase(1166) | 540 | @OETestID(1166) |
| 541 | def test_devtool_modify_invalid(self): | 541 | def test_devtool_modify_invalid(self): |
| 542 | # Try modifying some recipes | 542 | # Try modifying some recipes |
| 543 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') | 543 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') |
| @@ -566,7 +566,7 @@ class DevtoolTests(DevtoolBase): | |||
| 566 | self.assertNotEqual(result.status, 0, 'devtool modify on %s should have failed. devtool output: %s' % (testrecipe, result.output)) | 566 | self.assertNotEqual(result.status, 0, 'devtool modify on %s should have failed. devtool output: %s' % (testrecipe, result.output)) |
| 567 | self.assertIn('ERROR: ', result.output, 'devtool modify on %s should have given an ERROR' % testrecipe) | 567 | self.assertIn('ERROR: ', result.output, 'devtool modify on %s should have given an ERROR' % testrecipe) |
| 568 | 568 | ||
| 569 | @testcase(1365) | 569 | @OETestID(1365) |
| 570 | def test_devtool_modify_native(self): | 570 | def test_devtool_modify_native(self): |
| 571 | # Check preconditions | 571 | # Check preconditions |
| 572 | self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') | 572 | self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') |
| @@ -596,7 +596,7 @@ class DevtoolTests(DevtoolBase): | |||
| 596 | self.assertTrue(inheritnative, 'None of these recipes do "inherit native" - need to adjust testrecipes list: %s' % ', '.join(testrecipes)) | 596 | self.assertTrue(inheritnative, 'None of these recipes do "inherit native" - need to adjust testrecipes list: %s' % ', '.join(testrecipes)) |
| 597 | 597 | ||
| 598 | 598 | ||
| 599 | @testcase(1165) | 599 | @OETestID(1165) |
| 600 | def test_devtool_modify_git(self): | 600 | def test_devtool_modify_git(self): |
| 601 | # Check preconditions | 601 | # Check preconditions |
| 602 | testrecipe = 'mkelfimage' | 602 | testrecipe = 'mkelfimage' |
| @@ -624,7 +624,7 @@ class DevtoolTests(DevtoolBase): | |||
| 624 | # Try building | 624 | # Try building |
| 625 | bitbake(testrecipe) | 625 | bitbake(testrecipe) |
| 626 | 626 | ||
| 627 | @testcase(1167) | 627 | @OETestID(1167) |
| 628 | def test_devtool_modify_localfiles(self): | 628 | def test_devtool_modify_localfiles(self): |
| 629 | # Check preconditions | 629 | # Check preconditions |
| 630 | testrecipe = 'lighttpd' | 630 | testrecipe = 'lighttpd' |
| @@ -655,7 +655,7 @@ class DevtoolTests(DevtoolBase): | |||
| 655 | # Try building | 655 | # Try building |
| 656 | bitbake(testrecipe) | 656 | bitbake(testrecipe) |
| 657 | 657 | ||
| 658 | @testcase(1378) | 658 | @OETestID(1378) |
| 659 | def test_devtool_modify_virtual(self): | 659 | def test_devtool_modify_virtual(self): |
| 660 | # Try modifying a virtual recipe | 660 | # Try modifying a virtual recipe |
| 661 | virtrecipe = 'virtual/make' | 661 | virtrecipe = 'virtual/make' |
| @@ -678,7 +678,7 @@ class DevtoolTests(DevtoolBase): | |||
| 678 | # This is probably sufficient | 678 | # This is probably sufficient |
| 679 | 679 | ||
| 680 | 680 | ||
| 681 | @testcase(1169) | 681 | @OETestID(1169) |
| 682 | def test_devtool_update_recipe(self): | 682 | def test_devtool_update_recipe(self): |
| 683 | # Check preconditions | 683 | # Check preconditions |
| 684 | testrecipe = 'minicom' | 684 | testrecipe = 'minicom' |
| @@ -711,7 +711,7 @@ class DevtoolTests(DevtoolBase): | |||
| 711 | ('??', '.*/0002-Add-a-new-file.patch$')] | 711 | ('??', '.*/0002-Add-a-new-file.patch$')] |
| 712 | self._check_repo_status(os.path.dirname(recipefile), expected_status) | 712 | self._check_repo_status(os.path.dirname(recipefile), expected_status) |
| 713 | 713 | ||
| 714 | @testcase(1172) | 714 | @OETestID(1172) |
| 715 | def test_devtool_update_recipe_git(self): | 715 | def test_devtool_update_recipe_git(self): |
| 716 | # Check preconditions | 716 | # Check preconditions |
| 717 | testrecipe = 'mtd-utils' | 717 | testrecipe = 'mtd-utils' |
| @@ -781,7 +781,7 @@ class DevtoolTests(DevtoolBase): | |||
| 781 | ('??', '%s/0002-Add-a-new-file.patch' % relpatchpath)] | 781 | ('??', '%s/0002-Add-a-new-file.patch' % relpatchpath)] |
| 782 | self._check_repo_status(os.path.dirname(recipefile), expected_status) | 782 | self._check_repo_status(os.path.dirname(recipefile), expected_status) |
| 783 | 783 | ||
| 784 | @testcase(1170) | 784 | @OETestID(1170) |
| 785 | def test_devtool_update_recipe_append(self): | 785 | def test_devtool_update_recipe_append(self): |
| 786 | # Check preconditions | 786 | # Check preconditions |
| 787 | testrecipe = 'mdadm' | 787 | testrecipe = 'mdadm' |
| @@ -850,7 +850,7 @@ class DevtoolTests(DevtoolBase): | |||
| 850 | self.assertEqual(expectedlines, f.readlines()) | 850 | self.assertEqual(expectedlines, f.readlines()) |
| 851 | # Deleting isn't expected to work under these circumstances | 851 | # Deleting isn't expected to work under these circumstances |
| 852 | 852 | ||
| 853 | @testcase(1171) | 853 | @OETestID(1171) |
| 854 | def test_devtool_update_recipe_append_git(self): | 854 | def test_devtool_update_recipe_append_git(self): |
| 855 | # Check preconditions | 855 | # Check preconditions |
| 856 | testrecipe = 'mtd-utils' | 856 | testrecipe = 'mtd-utils' |
| @@ -940,7 +940,7 @@ class DevtoolTests(DevtoolBase): | |||
| 940 | self.assertEqual(expectedlines, set(f.readlines())) | 940 | self.assertEqual(expectedlines, set(f.readlines())) |
| 941 | # Deleting isn't expected to work under these circumstances | 941 | # Deleting isn't expected to work under these circumstances |
| 942 | 942 | ||
| 943 | @testcase(1370) | 943 | @OETestID(1370) |
| 944 | def test_devtool_update_recipe_local_files(self): | 944 | def test_devtool_update_recipe_local_files(self): |
| 945 | """Check that local source files are copied over instead of patched""" | 945 | """Check that local source files are copied over instead of patched""" |
| 946 | testrecipe = 'makedevs' | 946 | testrecipe = 'makedevs' |
| @@ -972,7 +972,7 @@ class DevtoolTests(DevtoolBase): | |||
| 972 | ('??', '.*/makedevs/0001-Add-new-file.patch$')] | 972 | ('??', '.*/makedevs/0001-Add-new-file.patch$')] |
| 973 | self._check_repo_status(os.path.dirname(recipefile), expected_status) | 973 | self._check_repo_status(os.path.dirname(recipefile), expected_status) |
| 974 | 974 | ||
| 975 | @testcase(1371) | 975 | @OETestID(1371) |
| 976 | def test_devtool_update_recipe_local_files_2(self): | 976 | def test_devtool_update_recipe_local_files_2(self): |
| 977 | """Check local source files support when oe-local-files is in Git""" | 977 | """Check local source files support when oe-local-files is in Git""" |
| 978 | testrecipe = 'lzo' | 978 | testrecipe = 'lzo' |
| @@ -1085,7 +1085,7 @@ class DevtoolTests(DevtoolBase): | |||
| 1085 | expected_status = [] | 1085 | expected_status = [] |
| 1086 | self._check_repo_status(os.path.dirname(recipefile), expected_status) | 1086 | self._check_repo_status(os.path.dirname(recipefile), expected_status) |
| 1087 | 1087 | ||
| 1088 | @testcase(1163) | 1088 | @OETestID(1163) |
| 1089 | def test_devtool_extract(self): | 1089 | def test_devtool_extract(self): |
| 1090 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') | 1090 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') |
| 1091 | # Try devtool extract | 1091 | # Try devtool extract |
| @@ -1097,7 +1097,7 @@ class DevtoolTests(DevtoolBase): | |||
| 1097 | self.assertFalse(os.path.exists(self.workspacedir)) | 1097 | self.assertFalse(os.path.exists(self.workspacedir)) |
| 1098 | self._check_src_repo(tempdir) | 1098 | self._check_src_repo(tempdir) |
| 1099 | 1099 | ||
| 1100 | @testcase(1379) | 1100 | @OETestID(1379) |
| 1101 | def test_devtool_extract_virtual(self): | 1101 | def test_devtool_extract_virtual(self): |
| 1102 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') | 1102 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') |
| 1103 | # Try devtool extract | 1103 | # Try devtool extract |
| @@ -1108,7 +1108,7 @@ class DevtoolTests(DevtoolBase): | |||
| 1108 | self.assertFalse(os.path.exists(self.workspacedir)) | 1108 | self.assertFalse(os.path.exists(self.workspacedir)) |
| 1109 | self._check_src_repo(tempdir) | 1109 | self._check_src_repo(tempdir) |
| 1110 | 1110 | ||
| 1111 | @testcase(1168) | 1111 | @OETestID(1168) |
| 1112 | def test_devtool_reset_all(self): | 1112 | def test_devtool_reset_all(self): |
| 1113 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') | 1113 | tempdir = tempfile.mkdtemp(prefix='devtoolqa') |
| 1114 | self.track_for_cleanup(tempdir) | 1114 | self.track_for_cleanup(tempdir) |
| @@ -1135,7 +1135,7 @@ class DevtoolTests(DevtoolBase): | |||
| 1135 | matches2 = glob.glob(stampprefix2 + '*') | 1135 | matches2 = glob.glob(stampprefix2 + '*') |
| 1136 | self.assertFalse(matches2, 'Stamp files exist for recipe %s that should have been cleaned' % testrecipe2) | 1136 | self.assertFalse(matches2, 'Stamp files exist for recipe %s that should have been cleaned' % testrecipe2) |
| 1137 | 1137 | ||
| 1138 | @testcase(1272) | 1138 | @OETestID(1272) |
| 1139 | def test_devtool_deploy_target(self): | 1139 | def test_devtool_deploy_target(self): |
| 1140 | # NOTE: Whilst this test would seemingly be better placed as a runtime test, | 1140 | # NOTE: Whilst this test would seemingly be better placed as a runtime test, |
| 1141 | # unfortunately the runtime tests run under bitbake and you can't run | 1141 | # unfortunately the runtime tests run under bitbake and you can't run |
| @@ -1221,7 +1221,7 @@ class DevtoolTests(DevtoolBase): | |||
| 1221 | result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True) | 1221 | result = runCmd('ssh %s root@%s %s' % (sshargs, qemu.ip, testcommand), ignore_status=True) |
| 1222 | self.assertNotEqual(result, 0, 'undeploy-target did not remove command as it should have') | 1222 | self.assertNotEqual(result, 0, 'undeploy-target did not remove command as it should have') |
| 1223 | 1223 | ||
| 1224 | @testcase(1366) | 1224 | @OETestID(1366) |
| 1225 | def test_devtool_build_image(self): | 1225 | def test_devtool_build_image(self): |
| 1226 | """Test devtool build-image plugin""" | 1226 | """Test devtool build-image plugin""" |
| 1227 | # Check preconditions | 1227 | # Check preconditions |
| @@ -1255,7 +1255,7 @@ class DevtoolTests(DevtoolBase): | |||
| 1255 | if reqpkgs: | 1255 | if reqpkgs: |
| 1256 | self.fail('The following packages were not present in the image as expected: %s' % ', '.join(reqpkgs)) | 1256 | self.fail('The following packages were not present in the image as expected: %s' % ', '.join(reqpkgs)) |
| 1257 | 1257 | ||
| 1258 | @testcase(1367) | 1258 | @OETestID(1367) |
| 1259 | def test_devtool_upgrade(self): | 1259 | def test_devtool_upgrade(self): |
| 1260 | # Check preconditions | 1260 | # Check preconditions |
| 1261 | self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') | 1261 | self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') |
| @@ -1300,7 +1300,7 @@ class DevtoolTests(DevtoolBase): | |||
| 1300 | self.assertNotIn(recipe, result.output) | 1300 | self.assertNotIn(recipe, result.output) |
| 1301 | self.assertFalse(os.path.exists(os.path.join(self.workspacedir, 'recipes', recipe)), 'Recipe directory should not exist after resetting') | 1301 | self.assertFalse(os.path.exists(os.path.join(self.workspacedir, 'recipes', recipe)), 'Recipe directory should not exist after resetting') |
| 1302 | 1302 | ||
| 1303 | @testcase(1433) | 1303 | @OETestID(1433) |
| 1304 | def test_devtool_upgrade_git(self): | 1304 | def test_devtool_upgrade_git(self): |
| 1305 | # Check preconditions | 1305 | # Check preconditions |
| 1306 | self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') | 1306 | self.assertTrue(not os.path.exists(self.workspacedir), 'This test cannot be run with a workspace directory under the build directory') |
| @@ -1337,7 +1337,7 @@ class DevtoolTests(DevtoolBase): | |||
| 1337 | self.assertNotIn(recipe, result.output) | 1337 | self.assertNotIn(recipe, result.output) |
| 1338 | self.assertFalse(os.path.exists(os.path.join(self.workspacedir, 'recipes', recipe)), 'Recipe directory should not exist after resetting') | 1338 | self.assertFalse(os.path.exists(os.path.join(self.workspacedir, 'recipes', recipe)), 'Recipe directory should not exist after resetting') |
| 1339 | 1339 | ||
| 1340 | @testcase(1352) | 1340 | @OETestID(1352) |
| 1341 | def test_devtool_layer_plugins(self): | 1341 | def test_devtool_layer_plugins(self): |
| 1342 | """Test that devtool can use plugins from other layers. | 1342 | """Test that devtool can use plugins from other layers. |
| 1343 | 1343 | ||
| @@ -1609,7 +1609,7 @@ class DevtoolTests(DevtoolBase): | |||
| 1609 | checkvars['SRC_URI'] = url | 1609 | checkvars['SRC_URI'] = url |
| 1610 | self._test_recipe_contents(newrecipefile, checkvars, []) | 1610 | self._test_recipe_contents(newrecipefile, checkvars, []) |
| 1611 | 1611 | ||
| 1612 | @testcase(1577) | 1612 | @OETestID(1577) |
| 1613 | def test_devtool_virtual_kernel_modify(self): | 1613 | def test_devtool_virtual_kernel_modify(self): |
| 1614 | """ | 1614 | """ |
| 1615 | Summary: The purpose of this test case is to verify that | 1615 | Summary: The purpose of this test case is to verify that |
diff --git a/meta/lib/oeqa/selftest/eSDK.py b/meta/lib/oeqa/selftest/cases/eSDK.py index 1596c6e9d6..f36c3ccd3b 100644 --- a/meta/lib/oeqa/selftest/eSDK.py +++ b/meta/lib/oeqa/selftest/cases/eSDK.py | |||
| @@ -1,16 +1,12 @@ | |||
| 1 | import unittest | ||
| 2 | import tempfile | 1 | import tempfile |
| 3 | import shutil | 2 | import shutil |
| 4 | import os | 3 | import os |
| 5 | import glob | 4 | import glob |
| 6 | import logging | 5 | from oeqa.core.decorator.oeid import OETestID |
| 7 | import subprocess | 6 | from oeqa.selftest.case import OESelftestTestCase |
| 8 | import oeqa.utils.ftools as ftools | ||
| 9 | from oeqa.utils.decorators import testcase | ||
| 10 | from oeqa.selftest.base import oeSelfTest | ||
| 11 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars | 7 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars |
| 12 | 8 | ||
| 13 | class oeSDKExtSelfTest(oeSelfTest): | 9 | class oeSDKExtSelfTest(OESelftestTestCase): |
| 14 | """ | 10 | """ |
| 15 | # Bugzilla Test Plan: 6033 | 11 | # Bugzilla Test Plan: 6033 |
| 16 | # This code is planned to be part of the automation for eSDK containig | 12 | # This code is planned to be part of the automation for eSDK containig |
| @@ -73,6 +69,7 @@ CORE_IMAGE_EXTRA_INSTALL = "perl" | |||
| 73 | 69 | ||
| 74 | @classmethod | 70 | @classmethod |
| 75 | def setUpClass(cls): | 71 | def setUpClass(cls): |
| 72 | super(oeSDKExtSelfTest, cls).setUpClass() | ||
| 76 | cls.tmpdir_eSDKQA = tempfile.mkdtemp(prefix='eSDKQA') | 73 | cls.tmpdir_eSDKQA = tempfile.mkdtemp(prefix='eSDKQA') |
| 77 | 74 | ||
| 78 | sstate_dir = get_bb_var('SSTATE_DIR') | 75 | sstate_dir = get_bb_var('SSTATE_DIR') |
| @@ -97,19 +94,18 @@ SSTATE_MIRRORS = "file://.* file://%s/PATH" | |||
| 97 | @classmethod | 94 | @classmethod |
| 98 | def tearDownClass(cls): | 95 | def tearDownClass(cls): |
| 99 | shutil.rmtree(cls.tmpdir_eSDKQA) | 96 | shutil.rmtree(cls.tmpdir_eSDKQA) |
| 97 | super(oeSDKExtSelfTest, cls).tearDownClass() | ||
| 100 | 98 | ||
| 101 | @testcase (1602) | 99 | @OETestID(1602) |
| 102 | def test_install_libraries_headers(self): | 100 | def test_install_libraries_headers(self): |
| 103 | pn_sstate = 'bc' | 101 | pn_sstate = 'bc' |
| 104 | bitbake(pn_sstate) | 102 | bitbake(pn_sstate) |
| 105 | cmd = "devtool sdk-install %s " % pn_sstate | 103 | cmd = "devtool sdk-install %s " % pn_sstate |
| 106 | oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) | 104 | oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) |
| 107 | 105 | ||
| 108 | @testcase(1603) | 106 | @OETestID(1603) |
| 109 | def test_image_generation_binary_feeds(self): | 107 | def test_image_generation_binary_feeds(self): |
| 110 | image = 'core-image-minimal' | 108 | image = 'core-image-minimal' |
| 111 | cmd = "devtool build-image %s" % image | 109 | cmd = "devtool build-image %s" % image |
| 112 | oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) | 110 | oeSDKExtSelfTest.run_esdk_cmd(self.env_eSDK, self.tmpdir_eSDKQA, cmd) |
| 113 | 111 | ||
| 114 | if __name__ == '__main__': | ||
| 115 | unittest.main() | ||
diff --git a/meta/lib/oeqa/selftest/image_typedep.py b/meta/lib/oeqa/selftest/cases/image_typedep.py index 256142d255..0614c765b4 100644 --- a/meta/lib/oeqa/selftest/image_typedep.py +++ b/meta/lib/oeqa/selftest/cases/image_typedep.py | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | import os | 1 | import os |
| 2 | 2 | ||
| 3 | from oeqa.selftest.base import oeSelfTest | 3 | from oeqa.selftest.case import OESelftestTestCase |
| 4 | from oeqa.utils.commands import bitbake | 4 | from oeqa.utils.commands import bitbake |
| 5 | 5 | ||
| 6 | class ImageTypeDepTests(oeSelfTest): | 6 | class ImageTypeDepTests(OESelftestTestCase): |
| 7 | 7 | ||
| 8 | # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that | 8 | # Verify that when specifying a IMAGE_TYPEDEP_ of the form "foo.bar" that |
| 9 | # the conversion type bar gets added as a dep as well | 9 | # the conversion type bar gets added as a dep as well |
diff --git a/meta/lib/oeqa/selftest/imagefeatures.py b/meta/lib/oeqa/selftest/cases/imagefeatures.py index 76896c7981..45a06feaf3 100644 --- a/meta/lib/oeqa/selftest/imagefeatures.py +++ b/meta/lib/oeqa/selftest/cases/imagefeatures.py | |||
| @@ -1,17 +1,15 @@ | |||
| 1 | from oeqa.selftest.base import oeSelfTest | 1 | from oeqa.selftest.case import OESelftestTestCase |
| 2 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu | 2 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, runqemu |
| 3 | from oeqa.utils.decorators import testcase | 3 | from oeqa.core.decorator.oeid import OETestID |
| 4 | from oeqa.utils.sshcontrol import SSHControl | 4 | from oeqa.utils.sshcontrol import SSHControl |
| 5 | import os | 5 | import os |
| 6 | import sys | ||
| 7 | import logging | ||
| 8 | 6 | ||
| 9 | class ImageFeatures(oeSelfTest): | 7 | class ImageFeatures(OESelftestTestCase): |
| 10 | 8 | ||
| 11 | test_user = 'tester' | 9 | test_user = 'tester' |
| 12 | root_user = 'root' | 10 | root_user = 'root' |
| 13 | 11 | ||
| 14 | @testcase(1107) | 12 | @OETestID(1107) |
| 15 | def test_non_root_user_can_connect_via_ssh_without_password(self): | 13 | def test_non_root_user_can_connect_via_ssh_without_password(self): |
| 16 | """ | 14 | """ |
| 17 | Summary: Check if non root user can connect via ssh without password | 15 | Summary: Check if non root user can connect via ssh without password |
| @@ -37,7 +35,7 @@ class ImageFeatures(oeSelfTest): | |||
| 37 | status, output = ssh.run("true") | 35 | status, output = ssh.run("true") |
| 38 | self.assertEqual(status, 0, 'ssh to user %s failed with %s' % (user, output)) | 36 | self.assertEqual(status, 0, 'ssh to user %s failed with %s' % (user, output)) |
| 39 | 37 | ||
| 40 | @testcase(1115) | 38 | @OETestID(1115) |
| 41 | def test_all_users_can_connect_via_ssh_without_password(self): | 39 | def test_all_users_can_connect_via_ssh_without_password(self): |
| 42 | """ | 40 | """ |
| 43 | Summary: Check if all users can connect via ssh without password | 41 | Summary: Check if all users can connect via ssh without password |
| @@ -67,7 +65,7 @@ class ImageFeatures(oeSelfTest): | |||
| 67 | self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output) | 65 | self.assertEqual(status, 0, 'ssh to user tester failed with %s' % output) |
| 68 | 66 | ||
| 69 | 67 | ||
| 70 | @testcase(1116) | 68 | @OETestID(1116) |
| 71 | def test_clutter_image_can_be_built(self): | 69 | def test_clutter_image_can_be_built(self): |
| 72 | """ | 70 | """ |
| 73 | Summary: Check if clutter image can be built | 71 | Summary: Check if clutter image can be built |
| @@ -80,7 +78,7 @@ class ImageFeatures(oeSelfTest): | |||
| 80 | # Build a core-image-clutter | 78 | # Build a core-image-clutter |
| 81 | bitbake('core-image-clutter') | 79 | bitbake('core-image-clutter') |
| 82 | 80 | ||
| 83 | @testcase(1117) | 81 | @OETestID(1117) |
| 84 | def test_wayland_support_in_image(self): | 82 | def test_wayland_support_in_image(self): |
| 85 | """ | 83 | """ |
| 86 | Summary: Check Wayland support in image | 84 | Summary: Check Wayland support in image |
diff --git a/meta/lib/oeqa/selftest/layerappend.py b/meta/lib/oeqa/selftest/cases/layerappend.py index 37bb32cd1d..9562116309 100644 --- a/meta/lib/oeqa/selftest/layerappend.py +++ b/meta/lib/oeqa/selftest/cases/layerappend.py | |||
| @@ -1,15 +1,11 @@ | |||
| 1 | import unittest | ||
| 2 | import os | 1 | import os |
| 3 | import logging | ||
| 4 | import re | ||
| 5 | 2 | ||
| 6 | from oeqa.selftest.base import oeSelfTest | 3 | from oeqa.selftest.case import OESelftestTestCase |
| 7 | from oeqa.selftest.buildhistory import BuildhistoryBase | ||
| 8 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var | 4 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var |
| 9 | import oeqa.utils.ftools as ftools | 5 | import oeqa.utils.ftools as ftools |
| 10 | from oeqa.utils.decorators import testcase | 6 | from oeqa.core.decorator.oeid import OETestID |
| 11 | 7 | ||
| 12 | class LayerAppendTests(oeSelfTest): | 8 | class LayerAppendTests(OESelftestTestCase): |
| 13 | layerconf = """ | 9 | layerconf = """ |
| 14 | # We have a conf and classes directory, append to BBPATH | 10 | # We have a conf and classes directory, append to BBPATH |
| 15 | BBPATH .= ":${LAYERDIR}" | 11 | BBPATH .= ":${LAYERDIR}" |
| @@ -51,8 +47,9 @@ SRC_URI_append += "file://appendtest.txt" | |||
| 51 | def tearDownLocal(self): | 47 | def tearDownLocal(self): |
| 52 | if self.layerappend: | 48 | if self.layerappend: |
| 53 | ftools.remove_from_file(self.builddir + "/conf/bblayers.conf", self.layerappend) | 49 | ftools.remove_from_file(self.builddir + "/conf/bblayers.conf", self.layerappend) |
| 50 | super(LayerAppendTests, self).tearDownLocal() | ||
| 54 | 51 | ||
| 55 | @testcase(1196) | 52 | @OETestID(1196) |
| 56 | def test_layer_appends(self): | 53 | def test_layer_appends(self): |
| 57 | corebase = get_bb_var("COREBASE") | 54 | corebase = get_bb_var("COREBASE") |
| 58 | 55 | ||
| @@ -96,5 +93,3 @@ SRC_URI_append += "file://appendtest.txt" | |||
| 96 | bitbake("layerappendtest") | 93 | bitbake("layerappendtest") |
| 97 | data = ftools.read_file(stagingdir + "/appendtest.txt") | 94 | data = ftools.read_file(stagingdir + "/appendtest.txt") |
| 98 | self.assertEqual(data, "Layer 2 test") | 95 | self.assertEqual(data, "Layer 2 test") |
| 99 | |||
| 100 | |||
diff --git a/meta/lib/oeqa/selftest/liboe.py b/meta/lib/oeqa/selftest/cases/liboe.py index 0b0301def6..01b2cab7aa 100644 --- a/meta/lib/oeqa/selftest/liboe.py +++ b/meta/lib/oeqa/selftest/cases/liboe.py | |||
| @@ -1,14 +1,13 @@ | |||
| 1 | from oeqa.selftest.base import oeSelfTest | 1 | from oeqa.selftest.case import OESelftestTestCase |
| 2 | from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake, runCmd | 2 | from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake, runCmd |
| 3 | import oe.path | 3 | import oe.path |
| 4 | import glob | ||
| 5 | import os | 4 | import os |
| 6 | import os.path | ||
| 7 | 5 | ||
| 8 | class LibOE(oeSelfTest): | 6 | class LibOE(OESelftestTestCase): |
| 9 | 7 | ||
| 10 | @classmethod | 8 | @classmethod |
| 11 | def setUpClass(cls): | 9 | def setUpClass(cls): |
| 10 | super(LibOE, cls).setUpClass() | ||
| 12 | cls.tmp_dir = get_bb_var('TMPDIR') | 11 | cls.tmp_dir = get_bb_var('TMPDIR') |
| 13 | 12 | ||
| 14 | def test_copy_tree_special(self): | 13 | def test_copy_tree_special(self): |
diff --git a/meta/lib/oeqa/selftest/lic-checksum.py b/meta/lib/oeqa/selftest/cases/lic_checksum.py index 2e81373ae4..37407157c1 100644 --- a/meta/lib/oeqa/selftest/lic-checksum.py +++ b/meta/lib/oeqa/selftest/cases/lic_checksum.py | |||
| @@ -1,16 +1,16 @@ | |||
| 1 | import os | 1 | import os |
| 2 | import tempfile | 2 | import tempfile |
| 3 | 3 | ||
| 4 | from oeqa.selftest.base import oeSelfTest | 4 | from oeqa.selftest.case import OESelftestTestCase |
| 5 | from oeqa.utils.commands import bitbake | 5 | from oeqa.utils.commands import bitbake |
| 6 | from oeqa.utils import CommandError | 6 | from oeqa.utils import CommandError |
| 7 | from oeqa.utils.decorators import testcase | 7 | from oeqa.core.decorator.oeid import OETestID |
| 8 | 8 | ||
| 9 | class LicenseTests(oeSelfTest): | 9 | class LicenseTests(OESelftestTestCase): |
| 10 | 10 | ||
| 11 | # Verify that changing a license file that has an absolute path causes | 11 | # Verify that changing a license file that has an absolute path causes |
| 12 | # the license qa to fail due to a mismatched md5sum. | 12 | # the license qa to fail due to a mismatched md5sum. |
| 13 | @testcase(1197) | 13 | @OETestID(1197) |
| 14 | def test_nonmatching_checksum(self): | 14 | def test_nonmatching_checksum(self): |
| 15 | bitbake_cmd = '-c populate_lic emptytest' | 15 | bitbake_cmd = '-c populate_lic emptytest' |
| 16 | error_msg = 'emptytest: The new md5 checksum is 8d777f385d3dfec8815d20f7496026dc' | 16 | error_msg = 'emptytest: The new md5 checksum is 8d777f385d3dfec8815d20f7496026dc' |
diff --git a/meta/lib/oeqa/selftest/manifest.py b/meta/lib/oeqa/selftest/cases/manifest.py index fe6f949644..146071934d 100644 --- a/meta/lib/oeqa/selftest/manifest.py +++ b/meta/lib/oeqa/selftest/cases/manifest.py | |||
| @@ -1,9 +1,8 @@ | |||
| 1 | import unittest | ||
| 2 | import os | 1 | import os |
| 3 | 2 | ||
| 4 | from oeqa.selftest.base import oeSelfTest | 3 | from oeqa.selftest.case import OESelftestTestCase |
| 5 | from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake | 4 | from oeqa.utils.commands import get_bb_var, get_bb_vars, bitbake |
| 6 | from oeqa.utils.decorators import testcase | 5 | from oeqa.core.decorator.oeid import OETestID |
| 7 | 6 | ||
| 8 | class ManifestEntry: | 7 | class ManifestEntry: |
| 9 | '''A manifest item of a collection able to list missing packages''' | 8 | '''A manifest item of a collection able to list missing packages''' |
| @@ -11,7 +10,7 @@ class ManifestEntry: | |||
| 11 | self.file = entry | 10 | self.file = entry |
| 12 | self.missing = [] | 11 | self.missing = [] |
| 13 | 12 | ||
| 14 | class VerifyManifest(oeSelfTest): | 13 | class VerifyManifest(OESelftestTestCase): |
| 15 | '''Tests for the manifest files and contents of an image''' | 14 | '''Tests for the manifest files and contents of an image''' |
| 16 | 15 | ||
| 17 | @classmethod | 16 | @classmethod |
| @@ -21,14 +20,14 @@ class VerifyManifest(oeSelfTest): | |||
| 21 | with open(manifest, "r") as mfile: | 20 | with open(manifest, "r") as mfile: |
| 22 | for line in mfile: | 21 | for line in mfile: |
| 23 | manifest_entry = os.path.join(path, line.split()[0]) | 22 | manifest_entry = os.path.join(path, line.split()[0]) |
| 24 | self.log.debug("{}: looking for {}"\ | 23 | self.logger.debug("{}: looking for {}"\ |
| 25 | .format(self.classname, manifest_entry)) | 24 | .format(self.classname, manifest_entry)) |
| 26 | if not os.path.isfile(manifest_entry): | 25 | if not os.path.isfile(manifest_entry): |
| 27 | manifest_errors.append(manifest_entry) | 26 | manifest_errors.append(manifest_entry) |
| 28 | self.log.debug("{}: {} not found"\ | 27 | self.logger.debug("{}: {} not found"\ |
| 29 | .format(self.classname, manifest_entry)) | 28 | .format(self.classname, manifest_entry)) |
| 30 | except OSError as e: | 29 | except OSError as e: |
| 31 | self.log.debug("{}: checking of {} failed"\ | 30 | self.logger.debug("{}: checking of {} failed"\ |
| 32 | .format(self.classname, manifest)) | 31 | .format(self.classname, manifest)) |
| 33 | raise e | 32 | raise e |
| 34 | 33 | ||
| @@ -40,7 +39,7 @@ class VerifyManifest(oeSelfTest): | |||
| 40 | target == self.buildtarget if target == None else target | 39 | target == self.buildtarget if target == None else target |
| 41 | directory = get_bb_var(bb_var, target); | 40 | directory = get_bb_var(bb_var, target); |
| 42 | if not directory or not os.path.isdir(directory): | 41 | if not directory or not os.path.isdir(directory): |
| 43 | self.log.debug("{}: {} points to {} when target = {}"\ | 42 | self.logger.debug("{}: {} points to {} when target = {}"\ |
| 44 | .format(self.classname, bb_var, directory, target)) | 43 | .format(self.classname, bb_var, directory, target)) |
| 45 | raise OSError | 44 | raise OSError |
| 46 | return directory | 45 | return directory |
| @@ -48,18 +47,19 @@ class VerifyManifest(oeSelfTest): | |||
| 48 | @classmethod | 47 | @classmethod |
| 49 | def setUpClass(self): | 48 | def setUpClass(self): |
| 50 | 49 | ||
| 50 | super(VerifyManifest, self).setUpClass() | ||
| 51 | self.buildtarget = 'core-image-minimal' | 51 | self.buildtarget = 'core-image-minimal' |
| 52 | self.classname = 'VerifyManifest' | 52 | self.classname = 'VerifyManifest' |
| 53 | 53 | ||
| 54 | self.log.info("{}: doing bitbake {} as a prerequisite of the test"\ | 54 | self.logger.info("{}: doing bitbake {} as a prerequisite of the test"\ |
| 55 | .format(self.classname, self.buildtarget)) | 55 | .format(self.classname, self.buildtarget)) |
| 56 | if bitbake(self.buildtarget).status: | 56 | if bitbake(self.buildtarget).status: |
| 57 | self.log.debug("{} Failed to setup {}"\ | 57 | self.logger.debug("{} Failed to setup {}"\ |
| 58 | .format(self.classname, self.buildtarget)) | 58 | .format(self.classname, self.buildtarget)) |
| 59 | unittest.SkipTest("{}: Cannot setup testing scenario"\ | 59 | self.skipTest("{}: Cannot setup testing scenario"\ |
| 60 | .format(self.classname)) | 60 | .format(self.classname)) |
| 61 | 61 | ||
| 62 | @testcase(1380) | 62 | @OETestID(1380) |
| 63 | def test_SDK_manifest_entries(self): | 63 | def test_SDK_manifest_entries(self): |
| 64 | '''Verifying the SDK manifest entries exist, this may take a build''' | 64 | '''Verifying the SDK manifest entries exist, this may take a build''' |
| 65 | 65 | ||
| @@ -67,12 +67,12 @@ class VerifyManifest(oeSelfTest): | |||
| 67 | # to do an additional setup for the sdk | 67 | # to do an additional setup for the sdk |
| 68 | sdktask = '-c populate_sdk' | 68 | sdktask = '-c populate_sdk' |
| 69 | bbargs = sdktask + ' ' + self.buildtarget | 69 | bbargs = sdktask + ' ' + self.buildtarget |
| 70 | self.log.debug("{}: doing bitbake {} as a prerequisite of the test"\ | 70 | self.logger.debug("{}: doing bitbake {} as a prerequisite of the test"\ |
| 71 | .format(self.classname, bbargs)) | 71 | .format(self.classname, bbargs)) |
| 72 | if bitbake(bbargs).status: | 72 | if bitbake(bbargs).status: |
| 73 | self.log.debug("{} Failed to bitbake {}"\ | 73 | self.logger.debug("{} Failed to bitbake {}"\ |
| 74 | .format(self.classname, bbargs)) | 74 | .format(self.classname, bbargs)) |
| 75 | unittest.SkipTest("{}: Cannot setup testing scenario"\ | 75 | self.skipTest("{}: Cannot setup testing scenario"\ |
| 76 | .format(self.classname)) | 76 | .format(self.classname)) |
| 77 | 77 | ||
| 78 | 78 | ||
| @@ -91,7 +91,7 @@ class VerifyManifest(oeSelfTest): | |||
| 91 | k) | 91 | k) |
| 92 | mpath[k] = os.path.join(mdir, mfilename[k]) | 92 | mpath[k] = os.path.join(mdir, mfilename[k]) |
| 93 | if not os.path.isfile(mpath[k]): | 93 | if not os.path.isfile(mpath[k]): |
| 94 | self.log.debug("{}: {} does not exist".format( | 94 | self.logger.debug("{}: {} does not exist".format( |
| 95 | self.classname, mpath[k])) | 95 | self.classname, mpath[k])) |
| 96 | raise IOError | 96 | raise IOError |
| 97 | m_entry[k] = ManifestEntry(mpath[k]) | 97 | m_entry[k] = ManifestEntry(mpath[k]) |
| @@ -101,11 +101,11 @@ class VerifyManifest(oeSelfTest): | |||
| 101 | reverse_dir[k] = os.path.join(pkgdata_dir[k], | 101 | reverse_dir[k] = os.path.join(pkgdata_dir[k], |
| 102 | 'runtime-reverse') | 102 | 'runtime-reverse') |
| 103 | if not os.path.exists(reverse_dir[k]): | 103 | if not os.path.exists(reverse_dir[k]): |
| 104 | self.log.debug("{}: {} does not exist".format( | 104 | self.logger.debug("{}: {} does not exist".format( |
| 105 | self.classname, reverse_dir[k])) | 105 | self.classname, reverse_dir[k])) |
| 106 | raise IOError | 106 | raise IOError |
| 107 | except OSError: | 107 | except OSError: |
| 108 | raise unittest.SkipTest("{}: Error in obtaining manifest dirs"\ | 108 | raise self.skipTest("{}: Error in obtaining manifest dirs"\ |
| 109 | .format(self.classname)) | 109 | .format(self.classname)) |
| 110 | except IOError: | 110 | except IOError: |
| 111 | msg = "{}: Error cannot find manifests in the specified dir:\n{}"\ | 111 | msg = "{}: Error cannot find manifests in the specified dir:\n{}"\ |
| @@ -113,7 +113,7 @@ class VerifyManifest(oeSelfTest): | |||
| 113 | self.fail(msg) | 113 | self.fail(msg) |
| 114 | 114 | ||
| 115 | for k in d_target.keys(): | 115 | for k in d_target.keys(): |
| 116 | self.log.debug("{}: Check manifest {}".format( | 116 | self.logger.debug("{}: Check manifest {}".format( |
| 117 | self.classname, m_entry[k].file)) | 117 | self.classname, m_entry[k].file)) |
| 118 | 118 | ||
| 119 | m_entry[k].missing = self.check_manifest_entries(\ | 119 | m_entry[k].missing = self.check_manifest_entries(\ |
| @@ -122,11 +122,11 @@ class VerifyManifest(oeSelfTest): | |||
| 122 | msg = '{}: {} Error has the following missing entries'\ | 122 | msg = '{}: {} Error has the following missing entries'\ |
| 123 | .format(self.classname, m_entry[k].file) | 123 | .format(self.classname, m_entry[k].file) |
| 124 | logmsg = msg+':\n'+'\n'.join(m_entry[k].missing) | 124 | logmsg = msg+':\n'+'\n'.join(m_entry[k].missing) |
| 125 | self.log.debug(logmsg) | 125 | self.logger.debug(logmsg) |
| 126 | self.log.info(msg) | 126 | self.logger.info(msg) |
| 127 | self.fail(logmsg) | 127 | self.fail(logmsg) |
| 128 | 128 | ||
| 129 | @testcase(1381) | 129 | @OETestID(1381) |
| 130 | def test_image_manifest_entries(self): | 130 | def test_image_manifest_entries(self): |
| 131 | '''Verifying the image manifest entries exist''' | 131 | '''Verifying the image manifest entries exist''' |
| 132 | 132 | ||
| @@ -146,14 +146,14 @@ class VerifyManifest(oeSelfTest): | |||
| 146 | revdir = os.path.join(pkgdata_dir, 'runtime-reverse') | 146 | revdir = os.path.join(pkgdata_dir, 'runtime-reverse') |
| 147 | if not os.path.exists(revdir): raise IOError | 147 | if not os.path.exists(revdir): raise IOError |
| 148 | except OSError: | 148 | except OSError: |
| 149 | raise unittest.SkipTest("{}: Error in obtaining manifest dirs"\ | 149 | raise self.skipTest("{}: Error in obtaining manifest dirs"\ |
| 150 | .format(self.classname)) | 150 | .format(self.classname)) |
| 151 | except IOError: | 151 | except IOError: |
| 152 | msg = "{}: Error cannot find manifests in dir:\n{}"\ | 152 | msg = "{}: Error cannot find manifests in dir:\n{}"\ |
| 153 | .format(self.classname, mdir) | 153 | .format(self.classname, mdir) |
| 154 | self.fail(msg) | 154 | self.fail(msg) |
| 155 | 155 | ||
| 156 | self.log.debug("{}: Check manifest {}"\ | 156 | self.logger.debug("{}: Check manifest {}"\ |
| 157 | .format(self.classname, m_entry.file)) | 157 | .format(self.classname, m_entry.file)) |
| 158 | m_entry.missing = self.check_manifest_entries(\ | 158 | m_entry.missing = self.check_manifest_entries(\ |
| 159 | m_entry.file, revdir) | 159 | m_entry.file, revdir) |
| @@ -161,6 +161,6 @@ class VerifyManifest(oeSelfTest): | |||
| 161 | msg = '{}: {} Error has the following missing entries'\ | 161 | msg = '{}: {} Error has the following missing entries'\ |
| 162 | .format(self.classname, m_entry.file) | 162 | .format(self.classname, m_entry.file) |
| 163 | logmsg = msg+':\n'+'\n'.join(m_entry.missing) | 163 | logmsg = msg+':\n'+'\n'.join(m_entry.missing) |
| 164 | self.log.debug(logmsg) | 164 | self.logger.debug(logmsg) |
| 165 | self.log.info(msg) | 165 | self.logger.info(msg) |
| 166 | self.fail(logmsg) | 166 | self.fail(logmsg) |
diff --git a/meta/lib/oeqa/selftest/oelib/__init__.py b/meta/lib/oeqa/selftest/cases/oelib/__init__.py index e69de29bb2..e69de29bb2 100644 --- a/meta/lib/oeqa/selftest/oelib/__init__.py +++ b/meta/lib/oeqa/selftest/cases/oelib/__init__.py | |||
diff --git a/meta/lib/oeqa/selftest/oelib/buildhistory.py b/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py index 5ed4b026fe..4e877517c1 100644 --- a/meta/lib/oeqa/selftest/oelib/buildhistory.py +++ b/meta/lib/oeqa/selftest/cases/oelib/buildhistory.py | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | import os | 1 | import os |
| 2 | import unittest | 2 | from oeqa.selftest.case import OESelftestTestCase |
| 3 | import tempfile | 3 | import tempfile |
| 4 | from git import Repo | 4 | from git import Repo |
| 5 | from oeqa.utils.commands import get_bb_var | 5 | from oeqa.utils.commands import get_bb_var |
| 6 | from oe.buildhistory_analysis import blob_to_dict, compare_dict_blobs | 6 | from oe.buildhistory_analysis import blob_to_dict, compare_dict_blobs |
| 7 | 7 | ||
| 8 | class TestBlobParsing(unittest.TestCase): | 8 | class TestBlobParsing(OESelftestTestCase): |
| 9 | 9 | ||
| 10 | def setUp(self): | 10 | def setUp(self): |
| 11 | import time | 11 | import time |
diff --git a/meta/lib/oeqa/selftest/oelib/elf.py b/meta/lib/oeqa/selftest/cases/oelib/elf.py index 1f59037ed9..0451ebaffb 100644 --- a/meta/lib/oeqa/selftest/oelib/elf.py +++ b/meta/lib/oeqa/selftest/cases/oelib/elf.py | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | import unittest | 1 | from oeqa.selftest.case import OESelftestTestCase |
| 2 | import oe.qa | 2 | import oe.qa |
| 3 | 3 | ||
| 4 | class TestElf(unittest.TestCase): | 4 | class TestElf(OESelftestTestCase): |
| 5 | def test_machine_name(self): | 5 | def test_machine_name(self): |
| 6 | """ | 6 | """ |
| 7 | Test elf_machine_to_string() | 7 | Test elf_machine_to_string() |
diff --git a/meta/lib/oeqa/selftest/oelib/license.py b/meta/lib/oeqa/selftest/cases/oelib/license.py index c388886184..a6d9c9ac7a 100644 --- a/meta/lib/oeqa/selftest/oelib/license.py +++ b/meta/lib/oeqa/selftest/cases/oelib/license.py | |||
| @@ -1,4 +1,4 @@ | |||
| 1 | import unittest | 1 | from oeqa.selftest.case import OESelftestTestCase |
| 2 | import oe.license | 2 | import oe.license |
| 3 | 3 | ||
| 4 | class SeenVisitor(oe.license.LicenseVisitor): | 4 | class SeenVisitor(oe.license.LicenseVisitor): |
| @@ -9,7 +9,7 @@ class SeenVisitor(oe.license.LicenseVisitor): | |||
| 9 | def visit_Str(self, node): | 9 | def visit_Str(self, node): |
| 10 | self.seen.append(node.s) | 10 | self.seen.append(node.s) |
| 11 | 11 | ||
| 12 | class TestSingleLicense(unittest.TestCase): | 12 | class TestSingleLicense(OESelftestTestCase): |
| 13 | licenses = [ | 13 | licenses = [ |
| 14 | "GPLv2", | 14 | "GPLv2", |
| 15 | "LGPL-2.0", | 15 | "LGPL-2.0", |
| @@ -37,7 +37,7 @@ class TestSingleLicense(unittest.TestCase): | |||
| 37 | self.parse(license) | 37 | self.parse(license) |
| 38 | self.assertEqual(cm.exception.license, license) | 38 | self.assertEqual(cm.exception.license, license) |
| 39 | 39 | ||
| 40 | class TestSimpleCombinations(unittest.TestCase): | 40 | class TestSimpleCombinations(OESelftestTestCase): |
| 41 | tests = { | 41 | tests = { |
| 42 | "FOO&BAR": ["FOO", "BAR"], | 42 | "FOO&BAR": ["FOO", "BAR"], |
| 43 | "BAZ & MOO": ["BAZ", "MOO"], | 43 | "BAZ & MOO": ["BAZ", "MOO"], |
diff --git a/meta/lib/oeqa/selftest/oelib/path.py b/meta/lib/oeqa/selftest/cases/oelib/path.py index 44d068143e..2ae5eaf89e 100644 --- a/meta/lib/oeqa/selftest/oelib/path.py +++ b/meta/lib/oeqa/selftest/cases/oelib/path.py | |||
| @@ -1,11 +1,11 @@ | |||
| 1 | import unittest | 1 | from oeqa.selftest.case import OESelftestTestCase |
| 2 | import oe, oe.path | 2 | import oe, oe.path |
| 3 | import tempfile | 3 | import tempfile |
| 4 | import os | 4 | import os |
| 5 | import errno | 5 | import errno |
| 6 | import shutil | 6 | import shutil |
| 7 | 7 | ||
| 8 | class TestRealPath(unittest.TestCase): | 8 | class TestRealPath(OESelftestTestCase): |
| 9 | DIRS = [ "a", "b", "etc", "sbin", "usr", "usr/bin", "usr/binX", "usr/sbin", "usr/include", "usr/include/gdbm" ] | 9 | DIRS = [ "a", "b", "etc", "sbin", "usr", "usr/bin", "usr/binX", "usr/sbin", "usr/include", "usr/include/gdbm" ] |
| 10 | FILES = [ "etc/passwd", "b/file" ] | 10 | FILES = [ "etc/passwd", "b/file" ] |
| 11 | LINKS = [ | 11 | LINKS = [ |
diff --git a/meta/lib/oeqa/selftest/oelib/types.py b/meta/lib/oeqa/selftest/cases/oelib/types.py index 4fe2746a3b..99c84044be 100644 --- a/meta/lib/oeqa/selftest/oelib/types.py +++ b/meta/lib/oeqa/selftest/cases/oelib/types.py | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | import unittest | 1 | from oeqa.selftest.case import OESelftestTestCase |
| 2 | from oe.maketype import create | 2 | from oe.maketype import create |
| 3 | 3 | ||
| 4 | class TestBooleanType(unittest.TestCase): | 4 | class TestBooleanType(OESelftestTestCase): |
| 5 | def test_invalid(self): | 5 | def test_invalid(self): |
| 6 | self.assertRaises(ValueError, create, '', 'boolean') | 6 | self.assertRaises(ValueError, create, '', 'boolean') |
| 7 | self.assertRaises(ValueError, create, 'foo', 'boolean') | 7 | self.assertRaises(ValueError, create, 'foo', 'boolean') |
| @@ -31,7 +31,7 @@ class TestBooleanType(unittest.TestCase): | |||
| 31 | self.assertEqual(create('y', 'boolean'), True) | 31 | self.assertEqual(create('y', 'boolean'), True) |
| 32 | self.assertNotEqual(create('y', 'boolean'), False) | 32 | self.assertNotEqual(create('y', 'boolean'), False) |
| 33 | 33 | ||
| 34 | class TestList(unittest.TestCase): | 34 | class TestList(OESelftestTestCase): |
| 35 | def assertListEqual(self, value, valid, sep=None): | 35 | def assertListEqual(self, value, valid, sep=None): |
| 36 | obj = create(value, 'list', separator=sep) | 36 | obj = create(value, 'list', separator=sep) |
| 37 | self.assertEqual(obj, valid) | 37 | self.assertEqual(obj, valid) |
diff --git a/meta/lib/oeqa/selftest/oelib/utils.py b/meta/lib/oeqa/selftest/cases/oelib/utils.py index 7deb10f3c8..5bc5fffae7 100644 --- a/meta/lib/oeqa/selftest/oelib/utils.py +++ b/meta/lib/oeqa/selftest/cases/oelib/utils.py | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | import unittest | 1 | from oeqa.selftest.case import OESelftestTestCase |
| 2 | from oe.utils import packages_filter_out_system, trim_version | 2 | from oe.utils import packages_filter_out_system, trim_version |
| 3 | 3 | ||
| 4 | class TestPackagesFilterOutSystem(unittest.TestCase): | 4 | class TestPackagesFilterOutSystem(OESelftestTestCase): |
| 5 | def test_filter(self): | 5 | def test_filter(self): |
| 6 | """ | 6 | """ |
| 7 | Test that oe.utils.packages_filter_out_system works. | 7 | Test that oe.utils.packages_filter_out_system works. |
| @@ -31,7 +31,7 @@ class TestPackagesFilterOutSystem(unittest.TestCase): | |||
| 31 | self.assertEqual(pkgs, ["foo-data"]) | 31 | self.assertEqual(pkgs, ["foo-data"]) |
| 32 | 32 | ||
| 33 | 33 | ||
| 34 | class TestTrimVersion(unittest.TestCase): | 34 | class TestTrimVersion(OESelftestTestCase): |
| 35 | def test_version_exception(self): | 35 | def test_version_exception(self): |
| 36 | with self.assertRaises(TypeError): | 36 | with self.assertRaises(TypeError): |
| 37 | trim_version(None, 2) | 37 | trim_version(None, 2) |
diff --git a/meta/lib/oeqa/selftest/oescripts.py b/meta/lib/oeqa/selftest/cases/oescripts.py index 29547f56a9..1ee753763e 100644 --- a/meta/lib/oeqa/selftest/oescripts.py +++ b/meta/lib/oeqa/selftest/cases/oescripts.py | |||
| @@ -1,18 +1,11 @@ | |||
| 1 | import datetime | 1 | from oeqa.selftest.case import OESelftestTestCase |
| 2 | import unittest | 2 | from oeqa.selftest.cases.buildhistory import BuildhistoryBase |
| 3 | import os | ||
| 4 | import re | ||
| 5 | import shutil | ||
| 6 | |||
| 7 | import oeqa.utils.ftools as ftools | ||
| 8 | from oeqa.selftest.base import oeSelfTest | ||
| 9 | from oeqa.selftest.buildhistory import BuildhistoryBase | ||
| 10 | from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer | 3 | from oeqa.utils.commands import Command, runCmd, bitbake, get_bb_var, get_test_layer |
| 11 | from oeqa.utils.decorators import testcase | 4 | from oeqa.core.decorator.oeid import OETestID |
| 12 | 5 | ||
| 13 | class BuildhistoryDiffTests(BuildhistoryBase): | 6 | class BuildhistoryDiffTests(BuildhistoryBase): |
| 14 | 7 | ||
| 15 | @testcase(295) | 8 | @OETestID(295) |
| 16 | def test_buildhistory_diff(self): | 9 | def test_buildhistory_diff(self): |
| 17 | target = 'xcursor-transparent-theme' | 10 | target = 'xcursor-transparent-theme' |
| 18 | self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) | 11 | self.run_buildhistory_operation(target, target_config="PR = \"r1\"", change_bh_location=True) |
diff --git a/meta/lib/oeqa/selftest/package.py b/meta/lib/oeqa/selftest/cases/package.py index 95125f220d..6a8bc9283f 100644 --- a/meta/lib/oeqa/selftest/package.py +++ b/meta/lib/oeqa/selftest/cases/package.py | |||
| @@ -1,9 +1,9 @@ | |||
| 1 | from oeqa.selftest.base import oeSelfTest | 1 | from oeqa.selftest.case import OESelftestTestCase |
| 2 | from oeqa.utils.commands import bitbake, get_bb_vars | 2 | from oeqa.utils.commands import bitbake, get_bb_vars |
| 3 | import subprocess, os | 3 | import subprocess, os |
| 4 | import oe.path | 4 | import oe.path |
| 5 | 5 | ||
| 6 | class VersionOrdering(oeSelfTest): | 6 | class VersionOrdering(OESelftestTestCase): |
| 7 | # version1, version2, sort order | 7 | # version1, version2, sort order |
| 8 | tests = ( | 8 | tests = ( |
| 9 | ("1.0", "1.0", 0), | 9 | ("1.0", "1.0", 0), |
diff --git a/meta/lib/oeqa/selftest/pkgdata.py b/meta/lib/oeqa/selftest/cases/pkgdata.py index d69c3c800a..0b4caf1b2c 100644 --- a/meta/lib/oeqa/selftest/pkgdata.py +++ b/meta/lib/oeqa/selftest/cases/pkgdata.py | |||
| @@ -1,24 +1,21 @@ | |||
| 1 | import unittest | ||
| 2 | import os | 1 | import os |
| 3 | import tempfile | 2 | import tempfile |
| 4 | import logging | ||
| 5 | import fnmatch | 3 | import fnmatch |
| 6 | 4 | ||
| 7 | import oeqa.utils.ftools as ftools | 5 | from oeqa.selftest.case import OESelftestTestCase |
| 8 | from oeqa.selftest.base import oeSelfTest | ||
| 9 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars | 6 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars |
| 10 | from oeqa.utils.decorators import testcase | 7 | from oeqa.core.decorator.oeid import OETestID |
| 11 | 8 | ||
| 12 | class OePkgdataUtilTests(oeSelfTest): | 9 | class OePkgdataUtilTests(OESelftestTestCase): |
| 13 | 10 | ||
| 14 | @classmethod | 11 | @classmethod |
| 15 | def setUpClass(cls): | 12 | def setUpClass(cls): |
| 13 | super(OePkgdataUtilTests, cls).setUpClass() | ||
| 16 | # Ensure we have the right data in pkgdata | 14 | # Ensure we have the right data in pkgdata |
| 17 | logger = logging.getLogger("selftest") | 15 | cls.logger.info('Running bitbake to generate pkgdata') |
| 18 | logger.info('Running bitbake to generate pkgdata') | ||
| 19 | bitbake('busybox zlib m4') | 16 | bitbake('busybox zlib m4') |
| 20 | 17 | ||
| 21 | @testcase(1203) | 18 | @OETestID(1203) |
| 22 | def test_lookup_pkg(self): | 19 | def test_lookup_pkg(self): |
| 23 | # Forward tests | 20 | # Forward tests |
| 24 | result = runCmd('oe-pkgdata-util lookup-pkg "zlib busybox"') | 21 | result = runCmd('oe-pkgdata-util lookup-pkg "zlib busybox"') |
| @@ -37,7 +34,7 @@ class OePkgdataUtilTests(oeSelfTest): | |||
| 37 | self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) | 34 | self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) |
| 38 | self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') | 35 | self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') |
| 39 | 36 | ||
| 40 | @testcase(1205) | 37 | @OETestID(1205) |
| 41 | def test_read_value(self): | 38 | def test_read_value(self): |
| 42 | result = runCmd('oe-pkgdata-util read-value PN libz1') | 39 | result = runCmd('oe-pkgdata-util read-value PN libz1') |
| 43 | self.assertEqual(result.output, 'zlib') | 40 | self.assertEqual(result.output, 'zlib') |
| @@ -47,7 +44,7 @@ class OePkgdataUtilTests(oeSelfTest): | |||
| 47 | pkgsize = int(result.output.strip()) | 44 | pkgsize = int(result.output.strip()) |
| 48 | self.assertGreater(pkgsize, 1, "Size should be greater than 1. %s" % result.output) | 45 | self.assertGreater(pkgsize, 1, "Size should be greater than 1. %s" % result.output) |
| 49 | 46 | ||
| 50 | @testcase(1198) | 47 | @OETestID(1198) |
| 51 | def test_find_path(self): | 48 | def test_find_path(self): |
| 52 | result = runCmd('oe-pkgdata-util find-path /lib/libz.so.1') | 49 | result = runCmd('oe-pkgdata-util find-path /lib/libz.so.1') |
| 53 | self.assertEqual(result.output, 'zlib: /lib/libz.so.1') | 50 | self.assertEqual(result.output, 'zlib: /lib/libz.so.1') |
| @@ -57,7 +54,7 @@ class OePkgdataUtilTests(oeSelfTest): | |||
| 57 | self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) | 54 | self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) |
| 58 | self.assertEqual(result.output, 'ERROR: Unable to find any package producing path /not/exist') | 55 | self.assertEqual(result.output, 'ERROR: Unable to find any package producing path /not/exist') |
| 59 | 56 | ||
| 60 | @testcase(1204) | 57 | @OETestID(1204) |
| 61 | def test_lookup_recipe(self): | 58 | def test_lookup_recipe(self): |
| 62 | result = runCmd('oe-pkgdata-util lookup-recipe "libz-staticdev busybox"') | 59 | result = runCmd('oe-pkgdata-util lookup-recipe "libz-staticdev busybox"') |
| 63 | self.assertEqual(result.output, 'zlib\nbusybox') | 60 | self.assertEqual(result.output, 'zlib\nbusybox') |
| @@ -67,7 +64,7 @@ class OePkgdataUtilTests(oeSelfTest): | |||
| 67 | self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) | 64 | self.assertEqual(result.status, 1, "Status different than 1. output: %s" % result.output) |
| 68 | self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') | 65 | self.assertEqual(result.output, 'ERROR: The following packages could not be found: nonexistentpkg') |
| 69 | 66 | ||
| 70 | @testcase(1202) | 67 | @OETestID(1202) |
| 71 | def test_list_pkgs(self): | 68 | def test_list_pkgs(self): |
| 72 | # No arguments | 69 | # No arguments |
| 73 | result = runCmd('oe-pkgdata-util list-pkgs') | 70 | result = runCmd('oe-pkgdata-util list-pkgs') |
| @@ -111,7 +108,7 @@ class OePkgdataUtilTests(oeSelfTest): | |||
| 111 | pkglist = sorted(result.output.split()) | 108 | pkglist = sorted(result.output.split()) |
| 112 | self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc'], "Packages listed: %s" % result.output) | 109 | self.assertEqual(pkglist, ['libz-dbg', 'libz-dev', 'libz-doc'], "Packages listed: %s" % result.output) |
| 113 | 110 | ||
| 114 | @testcase(1201) | 111 | @OETestID(1201) |
| 115 | def test_list_pkg_files(self): | 112 | def test_list_pkg_files(self): |
| 116 | def splitoutput(output): | 113 | def splitoutput(output): |
| 117 | files = {} | 114 | files = {} |
| @@ -201,7 +198,7 @@ class OePkgdataUtilTests(oeSelfTest): | |||
| 201 | self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['libz-doc']) | 198 | self.assertIn(os.path.join(mandir, 'man3/zlib.3'), files['libz-doc']) |
| 202 | self.assertIn(os.path.join(libdir, 'libz.a'), files['libz-staticdev']) | 199 | self.assertIn(os.path.join(libdir, 'libz.a'), files['libz-staticdev']) |
| 203 | 200 | ||
| 204 | @testcase(1200) | 201 | @OETestID(1200) |
| 205 | def test_glob(self): | 202 | def test_glob(self): |
| 206 | tempdir = tempfile.mkdtemp(prefix='pkgdataqa') | 203 | tempdir = tempfile.mkdtemp(prefix='pkgdataqa') |
| 207 | self.track_for_cleanup(tempdir) | 204 | self.track_for_cleanup(tempdir) |
| @@ -221,7 +218,7 @@ class OePkgdataUtilTests(oeSelfTest): | |||
| 221 | self.assertNotIn('libz-dev', resultlist) | 218 | self.assertNotIn('libz-dev', resultlist) |
| 222 | self.assertNotIn('libz-dbg', resultlist) | 219 | self.assertNotIn('libz-dbg', resultlist) |
| 223 | 220 | ||
| 224 | @testcase(1206) | 221 | @OETestID(1206) |
| 225 | def test_specify_pkgdatadir(self): | 222 | def test_specify_pkgdatadir(self): |
| 226 | result = runCmd('oe-pkgdata-util -p %s lookup-pkg zlib' % get_bb_var('PKGDATA_DIR')) | 223 | result = runCmd('oe-pkgdata-util -p %s lookup-pkg zlib' % get_bb_var('PKGDATA_DIR')) |
| 227 | self.assertEqual(result.output, 'libz1') | 224 | self.assertEqual(result.output, 'libz1') |
diff --git a/meta/lib/oeqa/selftest/prservice.py b/meta/lib/oeqa/selftest/cases/prservice.py index 34d419762c..ed36f0fed7 100644 --- a/meta/lib/oeqa/selftest/prservice.py +++ b/meta/lib/oeqa/selftest/cases/prservice.py | |||
| @@ -1,20 +1,19 @@ | |||
| 1 | import unittest | ||
| 2 | import os | 1 | import os |
| 3 | import logging | ||
| 4 | import re | 2 | import re |
| 5 | import shutil | 3 | import shutil |
| 6 | import datetime | 4 | import datetime |
| 7 | 5 | ||
| 8 | import oeqa.utils.ftools as ftools | 6 | import oeqa.utils.ftools as ftools |
| 9 | from oeqa.selftest.base import oeSelfTest | 7 | from oeqa.selftest.case import OESelftestTestCase |
| 10 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var | 8 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var |
| 11 | from oeqa.utils.decorators import testcase | 9 | from oeqa.core.decorator.oeid import OETestID |
| 12 | from oeqa.utils.network import get_free_port | 10 | from oeqa.utils.network import get_free_port |
| 13 | 11 | ||
| 14 | class BitbakePrTests(oeSelfTest): | 12 | class BitbakePrTests(OESelftestTestCase): |
| 15 | 13 | ||
| 16 | @classmethod | 14 | @classmethod |
| 17 | def setUpClass(cls): | 15 | def setUpClass(cls): |
| 16 | super(BitbakePrTests, cls).setUpClass() | ||
| 18 | cls.pkgdata_dir = get_bb_var('PKGDATA_DIR') | 17 | cls.pkgdata_dir = get_bb_var('PKGDATA_DIR') |
| 19 | 18 | ||
| 20 | def get_pr_version(self, package_name): | 19 | def get_pr_version(self, package_name): |
| @@ -89,39 +88,39 @@ class BitbakePrTests(oeSelfTest): | |||
| 89 | 88 | ||
| 90 | self.assertTrue(pr_2 - pr_1 == 1, "Step between same pkg. revision is greater than 1") | 89 | self.assertTrue(pr_2 - pr_1 == 1, "Step between same pkg. revision is greater than 1") |
| 91 | 90 | ||
| 92 | @testcase(930) | 91 | @OETestID(930) |
| 93 | def test_import_export_replace_db(self): | 92 | def test_import_export_replace_db(self): |
| 94 | self.run_test_pr_export_import('m4') | 93 | self.run_test_pr_export_import('m4') |
| 95 | 94 | ||
| 96 | @testcase(931) | 95 | @OETestID(931) |
| 97 | def test_import_export_override_db(self): | 96 | def test_import_export_override_db(self): |
| 98 | self.run_test_pr_export_import('m4', replace_current_db=False) | 97 | self.run_test_pr_export_import('m4', replace_current_db=False) |
| 99 | 98 | ||
| 100 | @testcase(932) | 99 | @OETestID(932) |
| 101 | def test_pr_service_rpm_arch_dep(self): | 100 | def test_pr_service_rpm_arch_dep(self): |
| 102 | self.run_test_pr_service('m4', 'rpm', 'do_package') | 101 | self.run_test_pr_service('m4', 'rpm', 'do_package') |
| 103 | 102 | ||
| 104 | @testcase(934) | 103 | @OETestID(934) |
| 105 | def test_pr_service_deb_arch_dep(self): | 104 | def test_pr_service_deb_arch_dep(self): |
| 106 | self.run_test_pr_service('m4', 'deb', 'do_package') | 105 | self.run_test_pr_service('m4', 'deb', 'do_package') |
| 107 | 106 | ||
| 108 | @testcase(933) | 107 | @OETestID(933) |
| 109 | def test_pr_service_ipk_arch_dep(self): | 108 | def test_pr_service_ipk_arch_dep(self): |
| 110 | self.run_test_pr_service('m4', 'ipk', 'do_package') | 109 | self.run_test_pr_service('m4', 'ipk', 'do_package') |
| 111 | 110 | ||
| 112 | @testcase(935) | 111 | @OETestID(935) |
| 113 | def test_pr_service_rpm_arch_indep(self): | 112 | def test_pr_service_rpm_arch_indep(self): |
| 114 | self.run_test_pr_service('xcursor-transparent-theme', 'rpm', 'do_package') | 113 | self.run_test_pr_service('xcursor-transparent-theme', 'rpm', 'do_package') |
| 115 | 114 | ||
| 116 | @testcase(937) | 115 | @OETestID(937) |
| 117 | def test_pr_service_deb_arch_indep(self): | 116 | def test_pr_service_deb_arch_indep(self): |
| 118 | self.run_test_pr_service('xcursor-transparent-theme', 'deb', 'do_package') | 117 | self.run_test_pr_service('xcursor-transparent-theme', 'deb', 'do_package') |
| 119 | 118 | ||
| 120 | @testcase(936) | 119 | @OETestID(936) |
| 121 | def test_pr_service_ipk_arch_indep(self): | 120 | def test_pr_service_ipk_arch_indep(self): |
| 122 | self.run_test_pr_service('xcursor-transparent-theme', 'ipk', 'do_package') | 121 | self.run_test_pr_service('xcursor-transparent-theme', 'ipk', 'do_package') |
| 123 | 122 | ||
| 124 | @testcase(1419) | 123 | @OETestID(1419) |
| 125 | def test_stopping_prservice_message(self): | 124 | def test_stopping_prservice_message(self): |
| 126 | port = get_free_port() | 125 | port = get_free_port() |
| 127 | 126 | ||
diff --git a/meta/lib/oeqa/selftest/recipetool.py b/meta/lib/oeqa/selftest/cases/recipetool.py index 4344f9fdeb..46f0a7206b 100644 --- a/meta/lib/oeqa/selftest/recipetool.py +++ b/meta/lib/oeqa/selftest/cases/recipetool.py | |||
| @@ -1,18 +1,15 @@ | |||
| 1 | import os | 1 | import os |
| 2 | import logging | ||
| 3 | import shutil | 2 | import shutil |
| 4 | import tempfile | 3 | import tempfile |
| 5 | import urllib.parse | 4 | import urllib.parse |
| 6 | 5 | ||
| 7 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var | 6 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var |
| 8 | from oeqa.utils.commands import get_bb_vars, create_temp_layer | 7 | from oeqa.utils.commands import get_bb_vars, create_temp_layer |
| 9 | from oeqa.utils.decorators import testcase | 8 | from oeqa.core.decorator.oeid import OETestID |
| 10 | from oeqa.selftest import devtool | 9 | from oeqa.selftest.cases import devtool |
| 11 | |||
| 12 | 10 | ||
| 13 | templayerdir = None | 11 | templayerdir = None |
| 14 | 12 | ||
| 15 | |||
| 16 | def setUpModule(): | 13 | def setUpModule(): |
| 17 | global templayerdir | 14 | global templayerdir |
| 18 | templayerdir = tempfile.mkdtemp(prefix='recipetoolqa') | 15 | templayerdir = tempfile.mkdtemp(prefix='recipetoolqa') |
| @@ -28,6 +25,7 @@ def tearDownModule(): | |||
| 28 | class RecipetoolBase(devtool.DevtoolBase): | 25 | class RecipetoolBase(devtool.DevtoolBase): |
| 29 | 26 | ||
| 30 | def setUpLocal(self): | 27 | def setUpLocal(self): |
| 28 | super(RecipetoolBase, self).setUpLocal() | ||
| 31 | self.templayerdir = templayerdir | 29 | self.templayerdir = templayerdir |
| 32 | self.tempdir = tempfile.mkdtemp(prefix='recipetoolqa') | 30 | self.tempdir = tempfile.mkdtemp(prefix='recipetoolqa') |
| 33 | self.track_for_cleanup(self.tempdir) | 31 | self.track_for_cleanup(self.tempdir) |
| @@ -37,6 +35,7 @@ class RecipetoolBase(devtool.DevtoolBase): | |||
| 37 | 35 | ||
| 38 | def tearDownLocal(self): | 36 | def tearDownLocal(self): |
| 39 | runCmd('rm -rf %s/recipes-*' % self.templayerdir) | 37 | runCmd('rm -rf %s/recipes-*' % self.templayerdir) |
| 38 | super(RecipetoolBase, self).tearDownLocal() | ||
| 40 | 39 | ||
| 41 | def _try_recipetool_appendcmd(self, cmd, testrecipe, expectedfiles, expectedlines=None): | 40 | def _try_recipetool_appendcmd(self, cmd, testrecipe, expectedfiles, expectedlines=None): |
| 42 | result = runCmd(cmd) | 41 | result = runCmd(cmd) |
| @@ -70,9 +69,9 @@ class RecipetoolTests(RecipetoolBase): | |||
| 70 | 69 | ||
| 71 | @classmethod | 70 | @classmethod |
| 72 | def setUpClass(cls): | 71 | def setUpClass(cls): |
| 72 | super(RecipetoolTests, cls).setUpClass() | ||
| 73 | # Ensure we have the right data in shlibs/pkgdata | 73 | # Ensure we have the right data in shlibs/pkgdata |
| 74 | logger = logging.getLogger("selftest") | 74 | cls.logger.info('Running bitbake to generate pkgdata') |
| 75 | logger.info('Running bitbake to generate pkgdata') | ||
| 76 | bitbake('-c packagedata base-files coreutils busybox selftest-recipetool-appendfile') | 75 | bitbake('-c packagedata base-files coreutils busybox selftest-recipetool-appendfile') |
| 77 | bb_vars = get_bb_vars(['COREBASE', 'BBPATH']) | 76 | bb_vars = get_bb_vars(['COREBASE', 'BBPATH']) |
| 78 | cls.corebase = bb_vars['COREBASE'] | 77 | cls.corebase = bb_vars['COREBASE'] |
| @@ -90,7 +89,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 90 | for errorstr in checkerror: | 89 | for errorstr in checkerror: |
| 91 | self.assertIn(errorstr, result.output) | 90 | self.assertIn(errorstr, result.output) |
| 92 | 91 | ||
| 93 | @testcase(1177) | 92 | @OETestID(1177) |
| 94 | def test_recipetool_appendfile_basic(self): | 93 | def test_recipetool_appendfile_basic(self): |
| 95 | # Basic test | 94 | # Basic test |
| 96 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 95 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -98,14 +97,14 @@ class RecipetoolTests(RecipetoolBase): | |||
| 98 | _, output = self._try_recipetool_appendfile('base-files', '/etc/motd', self.testfile, '', expectedlines, ['motd']) | 97 | _, output = self._try_recipetool_appendfile('base-files', '/etc/motd', self.testfile, '', expectedlines, ['motd']) |
| 99 | self.assertNotIn('WARNING: ', output) | 98 | self.assertNotIn('WARNING: ', output) |
| 100 | 99 | ||
| 101 | @testcase(1183) | 100 | @OETestID(1183) |
| 102 | def test_recipetool_appendfile_invalid(self): | 101 | def test_recipetool_appendfile_invalid(self): |
| 103 | # Test some commands that should error | 102 | # Test some commands that should error |
| 104 | self._try_recipetool_appendfile_fail('/etc/passwd', self.testfile, ['ERROR: /etc/passwd cannot be handled by this tool', 'useradd', 'extrausers']) | 103 | self._try_recipetool_appendfile_fail('/etc/passwd', self.testfile, ['ERROR: /etc/passwd cannot be handled by this tool', 'useradd', 'extrausers']) |
| 105 | self._try_recipetool_appendfile_fail('/etc/timestamp', self.testfile, ['ERROR: /etc/timestamp cannot be handled by this tool']) | 104 | self._try_recipetool_appendfile_fail('/etc/timestamp', self.testfile, ['ERROR: /etc/timestamp cannot be handled by this tool']) |
| 106 | self._try_recipetool_appendfile_fail('/dev/console', self.testfile, ['ERROR: /dev/console cannot be handled by this tool']) | 105 | self._try_recipetool_appendfile_fail('/dev/console', self.testfile, ['ERROR: /dev/console cannot be handled by this tool']) |
| 107 | 106 | ||
| 108 | @testcase(1176) | 107 | @OETestID(1176) |
| 109 | def test_recipetool_appendfile_alternatives(self): | 108 | def test_recipetool_appendfile_alternatives(self): |
| 110 | # Now try with a file we know should be an alternative | 109 | # Now try with a file we know should be an alternative |
| 111 | # (this is very much a fake example, but one we know is reliably an alternative) | 110 | # (this is very much a fake example, but one we know is reliably an alternative) |
| @@ -129,7 +128,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 129 | result = runCmd('diff -q %s %s' % (testfile2, copiedfile), ignore_status=True) | 128 | result = runCmd('diff -q %s %s' % (testfile2, copiedfile), ignore_status=True) |
| 130 | self.assertNotEqual(result.status, 0, 'New file should have been copied but was not %s' % result.output) | 129 | self.assertNotEqual(result.status, 0, 'New file should have been copied but was not %s' % result.output) |
| 131 | 130 | ||
| 132 | @testcase(1178) | 131 | @OETestID(1178) |
| 133 | def test_recipetool_appendfile_binary(self): | 132 | def test_recipetool_appendfile_binary(self): |
| 134 | # Try appending a binary file | 133 | # Try appending a binary file |
| 135 | # /bin/ls can be a symlink to /usr/bin/ls | 134 | # /bin/ls can be a symlink to /usr/bin/ls |
| @@ -138,7 +137,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 138 | self.assertIn('WARNING: ', result.output) | 137 | self.assertIn('WARNING: ', result.output) |
| 139 | self.assertIn('is a binary', result.output) | 138 | self.assertIn('is a binary', result.output) |
| 140 | 139 | ||
| 141 | @testcase(1173) | 140 | @OETestID(1173) |
| 142 | def test_recipetool_appendfile_add(self): | 141 | def test_recipetool_appendfile_add(self): |
| 143 | # Try arbitrary file add to a recipe | 142 | # Try arbitrary file add to a recipe |
| 144 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 143 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -167,7 +166,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 167 | '}\n'] | 166 | '}\n'] |
| 168 | self._try_recipetool_appendfile('netbase', '/usr/share/scriptname', testfile2, '-r netbase', expectedlines, ['testfile', testfile2name]) | 167 | self._try_recipetool_appendfile('netbase', '/usr/share/scriptname', testfile2, '-r netbase', expectedlines, ['testfile', testfile2name]) |
| 169 | 168 | ||
| 170 | @testcase(1174) | 169 | @OETestID(1174) |
| 171 | def test_recipetool_appendfile_add_bindir(self): | 170 | def test_recipetool_appendfile_add_bindir(self): |
| 172 | # Try arbitrary file add to a recipe, this time to a location such that should be installed as executable | 171 | # Try arbitrary file add to a recipe, this time to a location such that should be installed as executable |
| 173 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 172 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -181,7 +180,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 181 | _, output = self._try_recipetool_appendfile('netbase', '/usr/bin/selftest-recipetool-testbin', self.testfile, '-r netbase', expectedlines, ['testfile']) | 180 | _, output = self._try_recipetool_appendfile('netbase', '/usr/bin/selftest-recipetool-testbin', self.testfile, '-r netbase', expectedlines, ['testfile']) |
| 182 | self.assertNotIn('WARNING: ', output) | 181 | self.assertNotIn('WARNING: ', output) |
| 183 | 182 | ||
| 184 | @testcase(1175) | 183 | @OETestID(1175) |
| 185 | def test_recipetool_appendfile_add_machine(self): | 184 | def test_recipetool_appendfile_add_machine(self): |
| 186 | # Try arbitrary file add to a recipe, this time to a location such that should be installed as executable | 185 | # Try arbitrary file add to a recipe, this time to a location such that should be installed as executable |
| 187 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 186 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -197,7 +196,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 197 | _, output = self._try_recipetool_appendfile('netbase', '/usr/share/something', self.testfile, '-r netbase -m mymachine', expectedlines, ['mymachine/testfile']) | 196 | _, output = self._try_recipetool_appendfile('netbase', '/usr/share/something', self.testfile, '-r netbase -m mymachine', expectedlines, ['mymachine/testfile']) |
| 198 | self.assertNotIn('WARNING: ', output) | 197 | self.assertNotIn('WARNING: ', output) |
| 199 | 198 | ||
| 200 | @testcase(1184) | 199 | @OETestID(1184) |
| 201 | def test_recipetool_appendfile_orig(self): | 200 | def test_recipetool_appendfile_orig(self): |
| 202 | # A file that's in SRC_URI and in do_install with the same name | 201 | # A file that's in SRC_URI and in do_install with the same name |
| 203 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 202 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -205,7 +204,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 205 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-orig', self.testfile, '', expectedlines, ['selftest-replaceme-orig']) | 204 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-orig', self.testfile, '', expectedlines, ['selftest-replaceme-orig']) |
| 206 | self.assertNotIn('WARNING: ', output) | 205 | self.assertNotIn('WARNING: ', output) |
| 207 | 206 | ||
| 208 | @testcase(1191) | 207 | @OETestID(1191) |
| 209 | def test_recipetool_appendfile_todir(self): | 208 | def test_recipetool_appendfile_todir(self): |
| 210 | # A file that's in SRC_URI and in do_install with destination directory rather than file | 209 | # A file that's in SRC_URI and in do_install with destination directory rather than file |
| 211 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 210 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -213,7 +212,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 213 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-todir', self.testfile, '', expectedlines, ['selftest-replaceme-todir']) | 212 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-todir', self.testfile, '', expectedlines, ['selftest-replaceme-todir']) |
| 214 | self.assertNotIn('WARNING: ', output) | 213 | self.assertNotIn('WARNING: ', output) |
| 215 | 214 | ||
| 216 | @testcase(1187) | 215 | @OETestID(1187) |
| 217 | def test_recipetool_appendfile_renamed(self): | 216 | def test_recipetool_appendfile_renamed(self): |
| 218 | # A file that's in SRC_URI with a different name to the destination file | 217 | # A file that's in SRC_URI with a different name to the destination file |
| 219 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 218 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -221,7 +220,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 221 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-renamed', self.testfile, '', expectedlines, ['file1']) | 220 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-renamed', self.testfile, '', expectedlines, ['file1']) |
| 222 | self.assertNotIn('WARNING: ', output) | 221 | self.assertNotIn('WARNING: ', output) |
| 223 | 222 | ||
| 224 | @testcase(1190) | 223 | @OETestID(1190) |
| 225 | def test_recipetool_appendfile_subdir(self): | 224 | def test_recipetool_appendfile_subdir(self): |
| 226 | # A file that's in SRC_URI in a subdir | 225 | # A file that's in SRC_URI in a subdir |
| 227 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 226 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -235,7 +234,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 235 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-subdir', self.testfile, '', expectedlines, ['testfile']) | 234 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-subdir', self.testfile, '', expectedlines, ['testfile']) |
| 236 | self.assertNotIn('WARNING: ', output) | 235 | self.assertNotIn('WARNING: ', output) |
| 237 | 236 | ||
| 238 | @testcase(1189) | 237 | @OETestID(1189) |
| 239 | def test_recipetool_appendfile_src_glob(self): | 238 | def test_recipetool_appendfile_src_glob(self): |
| 240 | # A file that's in SRC_URI as a glob | 239 | # A file that's in SRC_URI as a glob |
| 241 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 240 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -249,7 +248,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 249 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-src-globfile', self.testfile, '', expectedlines, ['testfile']) | 248 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-src-globfile', self.testfile, '', expectedlines, ['testfile']) |
| 250 | self.assertNotIn('WARNING: ', output) | 249 | self.assertNotIn('WARNING: ', output) |
| 251 | 250 | ||
| 252 | @testcase(1181) | 251 | @OETestID(1181) |
| 253 | def test_recipetool_appendfile_inst_glob(self): | 252 | def test_recipetool_appendfile_inst_glob(self): |
| 254 | # A file that's in do_install as a glob | 253 | # A file that's in do_install as a glob |
| 255 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 254 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -257,7 +256,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 257 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-globfile']) | 256 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-globfile']) |
| 258 | self.assertNotIn('WARNING: ', output) | 257 | self.assertNotIn('WARNING: ', output) |
| 259 | 258 | ||
| 260 | @testcase(1182) | 259 | @OETestID(1182) |
| 261 | def test_recipetool_appendfile_inst_todir_glob(self): | 260 | def test_recipetool_appendfile_inst_todir_glob(self): |
| 262 | # A file that's in do_install as a glob with destination as a directory | 261 | # A file that's in do_install as a glob with destination as a directory |
| 263 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 262 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -265,7 +264,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 265 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-todir-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-todir-globfile']) | 264 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-todir-globfile', self.testfile, '', expectedlines, ['selftest-replaceme-inst-todir-globfile']) |
| 266 | self.assertNotIn('WARNING: ', output) | 265 | self.assertNotIn('WARNING: ', output) |
| 267 | 266 | ||
| 268 | @testcase(1185) | 267 | @OETestID(1185) |
| 269 | def test_recipetool_appendfile_patch(self): | 268 | def test_recipetool_appendfile_patch(self): |
| 270 | # A file that's added by a patch in SRC_URI | 269 | # A file that's added by a patch in SRC_URI |
| 271 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 270 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -284,7 +283,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 284 | else: | 283 | else: |
| 285 | self.fail('Patch warning not found in output:\n%s' % output) | 284 | self.fail('Patch warning not found in output:\n%s' % output) |
| 286 | 285 | ||
| 287 | @testcase(1188) | 286 | @OETestID(1188) |
| 288 | def test_recipetool_appendfile_script(self): | 287 | def test_recipetool_appendfile_script(self): |
| 289 | # Now, a file that's in SRC_URI but installed by a script (so no mention in do_install) | 288 | # Now, a file that's in SRC_URI but installed by a script (so no mention in do_install) |
| 290 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 289 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -298,7 +297,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 298 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-scripted', self.testfile, '', expectedlines, ['testfile']) | 297 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-scripted', self.testfile, '', expectedlines, ['testfile']) |
| 299 | self.assertNotIn('WARNING: ', output) | 298 | self.assertNotIn('WARNING: ', output) |
| 300 | 299 | ||
| 301 | @testcase(1180) | 300 | @OETestID(1180) |
| 302 | def test_recipetool_appendfile_inst_func(self): | 301 | def test_recipetool_appendfile_inst_func(self): |
| 303 | # A file that's installed from a function called by do_install | 302 | # A file that's installed from a function called by do_install |
| 304 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', | 303 | expectedlines = ['FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"\n', |
| @@ -306,7 +305,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 306 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-func', self.testfile, '', expectedlines, ['selftest-replaceme-inst-func']) | 305 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-inst-func', self.testfile, '', expectedlines, ['selftest-replaceme-inst-func']) |
| 307 | self.assertNotIn('WARNING: ', output) | 306 | self.assertNotIn('WARNING: ', output) |
| 308 | 307 | ||
| 309 | @testcase(1186) | 308 | @OETestID(1186) |
| 310 | def test_recipetool_appendfile_postinstall(self): | 309 | def test_recipetool_appendfile_postinstall(self): |
| 311 | # A file that's created by a postinstall script (and explicitly mentioned in it) | 310 | # A file that's created by a postinstall script (and explicitly mentioned in it) |
| 312 | # First try without specifying recipe | 311 | # First try without specifying recipe |
| @@ -322,7 +321,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 322 | '}\n'] | 321 | '}\n'] |
| 323 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-postinst', self.testfile, '-r selftest-recipetool-appendfile', expectedlines, ['testfile']) | 322 | _, output = self._try_recipetool_appendfile('selftest-recipetool-appendfile', '/usr/share/selftest-replaceme-postinst', self.testfile, '-r selftest-recipetool-appendfile', expectedlines, ['testfile']) |
| 324 | 323 | ||
| 325 | @testcase(1179) | 324 | @OETestID(1179) |
| 326 | def test_recipetool_appendfile_extlayer(self): | 325 | def test_recipetool_appendfile_extlayer(self): |
| 327 | # Try creating a bbappend in a layer that's not in bblayers.conf and has a different structure | 326 | # Try creating a bbappend in a layer that's not in bblayers.conf and has a different structure |
| 328 | exttemplayerdir = os.path.join(self.tempdir, 'extlayer') | 327 | exttemplayerdir = os.path.join(self.tempdir, 'extlayer') |
| @@ -338,7 +337,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 338 | 'metadata/recipes/recipes-test/selftest-recipetool-appendfile/selftest-recipetool-appendfile/selftest-replaceme-orig'] | 337 | 'metadata/recipes/recipes-test/selftest-recipetool-appendfile/selftest-recipetool-appendfile/selftest-replaceme-orig'] |
| 339 | self.assertEqual(sorted(createdfiles), sorted(expectedfiles)) | 338 | self.assertEqual(sorted(createdfiles), sorted(expectedfiles)) |
| 340 | 339 | ||
| 341 | @testcase(1192) | 340 | @OETestID(1192) |
| 342 | def test_recipetool_appendfile_wildcard(self): | 341 | def test_recipetool_appendfile_wildcard(self): |
| 343 | 342 | ||
| 344 | def try_appendfile_wc(options): | 343 | def try_appendfile_wc(options): |
| @@ -363,7 +362,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 363 | filename = try_appendfile_wc('-w') | 362 | filename = try_appendfile_wc('-w') |
| 364 | self.assertEqual(filename, recipefn.split('_')[0] + '_%.bbappend') | 363 | self.assertEqual(filename, recipefn.split('_')[0] + '_%.bbappend') |
| 365 | 364 | ||
| 366 | @testcase(1193) | 365 | @OETestID(1193) |
| 367 | def test_recipetool_create(self): | 366 | def test_recipetool_create(self): |
| 368 | # Try adding a recipe | 367 | # Try adding a recipe |
| 369 | tempsrc = os.path.join(self.tempdir, 'srctree') | 368 | tempsrc = os.path.join(self.tempdir, 'srctree') |
| @@ -380,7 +379,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 380 | checkvars['SRC_URI[sha256sum]'] = 'dece4bfeb9d8374a0ecafa34be139b5a697db5c926dcc69a9b8715431a22e733' | 379 | checkvars['SRC_URI[sha256sum]'] = 'dece4bfeb9d8374a0ecafa34be139b5a697db5c926dcc69a9b8715431a22e733' |
| 381 | self._test_recipe_contents(recipefile, checkvars, []) | 380 | self._test_recipe_contents(recipefile, checkvars, []) |
| 382 | 381 | ||
| 383 | @testcase(1194) | 382 | @OETestID(1194) |
| 384 | def test_recipetool_create_git(self): | 383 | def test_recipetool_create_git(self): |
| 385 | if 'x11' not in get_bb_var('DISTRO_FEATURES'): | 384 | if 'x11' not in get_bb_var('DISTRO_FEATURES'): |
| 386 | self.skipTest('Test requires x11 as distro feature') | 385 | self.skipTest('Test requires x11 as distro feature') |
| @@ -403,7 +402,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 403 | inherits = ['autotools', 'pkgconfig'] | 402 | inherits = ['autotools', 'pkgconfig'] |
| 404 | self._test_recipe_contents(recipefile, checkvars, inherits) | 403 | self._test_recipe_contents(recipefile, checkvars, inherits) |
| 405 | 404 | ||
| 406 | @testcase(1392) | 405 | @OETestID(1392) |
| 407 | def test_recipetool_create_simple(self): | 406 | def test_recipetool_create_simple(self): |
| 408 | # Try adding a recipe | 407 | # Try adding a recipe |
| 409 | temprecipe = os.path.join(self.tempdir, 'recipe') | 408 | temprecipe = os.path.join(self.tempdir, 'recipe') |
| @@ -426,7 +425,7 @@ class RecipetoolTests(RecipetoolBase): | |||
| 426 | inherits = ['autotools'] | 425 | inherits = ['autotools'] |
| 427 | self._test_recipe_contents(os.path.join(temprecipe, dirlist[0]), checkvars, inherits) | 426 | self._test_recipe_contents(os.path.join(temprecipe, dirlist[0]), checkvars, inherits) |
| 428 | 427 | ||
| 429 | @testcase(1418) | 428 | @OETestID(1418) |
| 430 | def test_recipetool_create_cmake(self): | 429 | def test_recipetool_create_cmake(self): |
| 431 | # Try adding a recipe | 430 | # Try adding a recipe |
| 432 | temprecipe = os.path.join(self.tempdir, 'recipe') | 431 | temprecipe = os.path.join(self.tempdir, 'recipe') |
| @@ -621,11 +620,11 @@ class RecipetoolAppendsrcBase(RecipetoolBase): | |||
| 621 | 620 | ||
| 622 | class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): | 621 | class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): |
| 623 | 622 | ||
| 624 | @testcase(1273) | 623 | @OETestID(1273) |
| 625 | def test_recipetool_appendsrcfile_basic(self): | 624 | def test_recipetool_appendsrcfile_basic(self): |
| 626 | self._test_appendsrcfile('base-files', 'a-file') | 625 | self._test_appendsrcfile('base-files', 'a-file') |
| 627 | 626 | ||
| 628 | @testcase(1274) | 627 | @OETestID(1274) |
| 629 | def test_recipetool_appendsrcfile_basic_wildcard(self): | 628 | def test_recipetool_appendsrcfile_basic_wildcard(self): |
| 630 | testrecipe = 'base-files' | 629 | testrecipe = 'base-files' |
| 631 | self._test_appendsrcfile(testrecipe, 'a-file', options='-w') | 630 | self._test_appendsrcfile(testrecipe, 'a-file', options='-w') |
| @@ -633,15 +632,15 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): | |||
| 633 | bbappendfile = self._check_bbappend(testrecipe, recipefile, self.templayerdir) | 632 | bbappendfile = self._check_bbappend(testrecipe, recipefile, self.templayerdir) |
| 634 | self.assertEqual(os.path.basename(bbappendfile), '%s_%%.bbappend' % testrecipe) | 633 | self.assertEqual(os.path.basename(bbappendfile), '%s_%%.bbappend' % testrecipe) |
| 635 | 634 | ||
| 636 | @testcase(1281) | 635 | @OETestID(1281) |
| 637 | def test_recipetool_appendsrcfile_subdir_basic(self): | 636 | def test_recipetool_appendsrcfile_subdir_basic(self): |
| 638 | self._test_appendsrcfile('base-files', 'a-file', 'tmp') | 637 | self._test_appendsrcfile('base-files', 'a-file', 'tmp') |
| 639 | 638 | ||
| 640 | @testcase(1282) | 639 | @OETestID(1282) |
| 641 | def test_recipetool_appendsrcfile_subdir_basic_dirdest(self): | 640 | def test_recipetool_appendsrcfile_subdir_basic_dirdest(self): |
| 642 | self._test_appendsrcfile('base-files', destdir='tmp') | 641 | self._test_appendsrcfile('base-files', destdir='tmp') |
| 643 | 642 | ||
| 644 | @testcase(1280) | 643 | @OETestID(1280) |
| 645 | def test_recipetool_appendsrcfile_srcdir_basic(self): | 644 | def test_recipetool_appendsrcfile_srcdir_basic(self): |
| 646 | testrecipe = 'bash' | 645 | testrecipe = 'bash' |
| 647 | bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe) | 646 | bb_vars = get_bb_vars(['S', 'WORKDIR'], testrecipe) |
| @@ -650,14 +649,14 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): | |||
| 650 | subdir = os.path.relpath(srcdir, workdir) | 649 | subdir = os.path.relpath(srcdir, workdir) |
| 651 | self._test_appendsrcfile(testrecipe, 'a-file', srcdir=subdir) | 650 | self._test_appendsrcfile(testrecipe, 'a-file', srcdir=subdir) |
| 652 | 651 | ||
| 653 | @testcase(1275) | 652 | @OETestID(1275) |
| 654 | def test_recipetool_appendsrcfile_existing_in_src_uri(self): | 653 | def test_recipetool_appendsrcfile_existing_in_src_uri(self): |
| 655 | testrecipe = 'base-files' | 654 | testrecipe = 'base-files' |
| 656 | filepath = self._get_first_file_uri(testrecipe) | 655 | filepath = self._get_first_file_uri(testrecipe) |
| 657 | self.assertTrue(filepath, 'Unable to test, no file:// uri found in SRC_URI for %s' % testrecipe) | 656 | self.assertTrue(filepath, 'Unable to test, no file:// uri found in SRC_URI for %s' % testrecipe) |
| 658 | self._test_appendsrcfile(testrecipe, filepath, has_src_uri=False) | 657 | self._test_appendsrcfile(testrecipe, filepath, has_src_uri=False) |
| 659 | 658 | ||
| 660 | @testcase(1276) | 659 | @OETestID(1276) |
| 661 | def test_recipetool_appendsrcfile_existing_in_src_uri_diff_params(self): | 660 | def test_recipetool_appendsrcfile_existing_in_src_uri_diff_params(self): |
| 662 | testrecipe = 'base-files' | 661 | testrecipe = 'base-files' |
| 663 | subdir = 'tmp' | 662 | subdir = 'tmp' |
| @@ -667,7 +666,7 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): | |||
| 667 | output = self._test_appendsrcfile(testrecipe, filepath, subdir, has_src_uri=False) | 666 | output = self._test_appendsrcfile(testrecipe, filepath, subdir, has_src_uri=False) |
| 668 | self.assertTrue(any('with different parameters' in l for l in output)) | 667 | self.assertTrue(any('with different parameters' in l for l in output)) |
| 669 | 668 | ||
| 670 | @testcase(1277) | 669 | @OETestID(1277) |
| 671 | def test_recipetool_appendsrcfile_replace_file_srcdir(self): | 670 | def test_recipetool_appendsrcfile_replace_file_srcdir(self): |
| 672 | testrecipe = 'bash' | 671 | testrecipe = 'bash' |
| 673 | filepath = 'Makefile.in' | 672 | filepath = 'Makefile.in' |
| @@ -680,7 +679,7 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): | |||
| 680 | bitbake('%s:do_unpack' % testrecipe) | 679 | bitbake('%s:do_unpack' % testrecipe) |
| 681 | self.assertEqual(open(self.testfile, 'r').read(), open(os.path.join(srcdir, filepath), 'r').read()) | 680 | self.assertEqual(open(self.testfile, 'r').read(), open(os.path.join(srcdir, filepath), 'r').read()) |
| 682 | 681 | ||
| 683 | @testcase(1278) | 682 | @OETestID(1278) |
| 684 | def test_recipetool_appendsrcfiles_basic(self, destdir=None): | 683 | def test_recipetool_appendsrcfiles_basic(self, destdir=None): |
| 685 | newfiles = [self.testfile] | 684 | newfiles = [self.testfile] |
| 686 | for i in range(1, 5): | 685 | for i in range(1, 5): |
| @@ -690,6 +689,6 @@ class RecipetoolAppendsrcTests(RecipetoolAppendsrcBase): | |||
| 690 | newfiles.append(testfile) | 689 | newfiles.append(testfile) |
| 691 | self._test_appendsrcfiles('gcc', newfiles, destdir=destdir, options='-W') | 690 | self._test_appendsrcfiles('gcc', newfiles, destdir=destdir, options='-W') |
| 692 | 691 | ||
| 693 | @testcase(1279) | 692 | @OETestID(1279) |
| 694 | def test_recipetool_appendsrcfiles_basic_subdir(self): | 693 | def test_recipetool_appendsrcfiles_basic_subdir(self): |
| 695 | self.test_recipetool_appendsrcfiles_basic(destdir='testdir') | 694 | self.test_recipetool_appendsrcfiles_basic(destdir='testdir') |
diff --git a/meta/lib/oeqa/selftest/runqemu.py b/meta/lib/oeqa/selftest/cases/runqemu.py index 58c6f96f98..4050a4123b 100644 --- a/meta/lib/oeqa/selftest/runqemu.py +++ b/meta/lib/oeqa/selftest/cases/runqemu.py | |||
| @@ -5,17 +5,18 @@ | |||
| 5 | import re | 5 | import re |
| 6 | import logging | 6 | import logging |
| 7 | 7 | ||
| 8 | from oeqa.selftest.base import oeSelfTest | 8 | from oeqa.selftest.case import OESelftestTestCase |
| 9 | from oeqa.utils.commands import bitbake, runqemu, get_bb_var | 9 | from oeqa.utils.commands import bitbake, runqemu, get_bb_var |
| 10 | from oeqa.utils.decorators import testcase | 10 | from oeqa.core.decorator.oeid import OETestID |
| 11 | 11 | ||
| 12 | class RunqemuTests(oeSelfTest): | 12 | class RunqemuTests(OESelftestTestCase): |
| 13 | """Runqemu test class""" | 13 | """Runqemu test class""" |
| 14 | 14 | ||
| 15 | image_is_ready = False | 15 | image_is_ready = False |
| 16 | deploy_dir_image = '' | 16 | deploy_dir_image = '' |
| 17 | 17 | ||
| 18 | def setUpLocal(self): | 18 | def setUpLocal(self): |
| 19 | super(RunqemuTests, self).setUpLocal() | ||
| 19 | self.recipe = 'core-image-minimal' | 20 | self.recipe = 'core-image-minimal' |
| 20 | self.machine = 'qemux86-64' | 21 | self.machine = 'qemux86-64' |
| 21 | self.fstypes = "ext4 iso hddimg vmdk qcow2 vdi" | 22 | self.fstypes = "ext4 iso hddimg vmdk qcow2 vdi" |
| @@ -40,14 +41,14 @@ SYSLINUX_TIMEOUT = "10" | |||
| 40 | bitbake(self.recipe) | 41 | bitbake(self.recipe) |
| 41 | RunqemuTests.image_is_ready = True | 42 | RunqemuTests.image_is_ready = True |
| 42 | 43 | ||
| 43 | @testcase(2001) | 44 | @OETestID(2001) |
| 44 | def test_boot_machine(self): | 45 | def test_boot_machine(self): |
| 45 | """Test runqemu machine""" | 46 | """Test runqemu machine""" |
| 46 | cmd = "%s %s" % (self.cmd_common, self.machine) | 47 | cmd = "%s %s" % (self.cmd_common, self.machine) |
| 47 | with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: | 48 | with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: |
| 48 | self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) | 49 | self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) |
| 49 | 50 | ||
| 50 | @testcase(2002) | 51 | @OETestID(2002) |
| 51 | def test_boot_machine_ext4(self): | 52 | def test_boot_machine_ext4(self): |
| 52 | """Test runqemu machine ext4""" | 53 | """Test runqemu machine ext4""" |
| 53 | cmd = "%s %s ext4" % (self.cmd_common, self.machine) | 54 | cmd = "%s %s ext4" % (self.cmd_common, self.machine) |
| @@ -55,7 +56,7 @@ SYSLINUX_TIMEOUT = "10" | |||
| 55 | with open(qemu.qemurunnerlog) as f: | 56 | with open(qemu.qemurunnerlog) as f: |
| 56 | self.assertTrue('rootfs.ext4' in f.read(), "Failed: %s" % cmd) | 57 | self.assertTrue('rootfs.ext4' in f.read(), "Failed: %s" % cmd) |
| 57 | 58 | ||
| 58 | @testcase(2003) | 59 | @OETestID(2003) |
| 59 | def test_boot_machine_iso(self): | 60 | def test_boot_machine_iso(self): |
| 60 | """Test runqemu machine iso""" | 61 | """Test runqemu machine iso""" |
| 61 | cmd = "%s %s iso" % (self.cmd_common, self.machine) | 62 | cmd = "%s %s iso" % (self.cmd_common, self.machine) |
| @@ -63,14 +64,14 @@ SYSLINUX_TIMEOUT = "10" | |||
| 63 | with open(qemu.qemurunnerlog) as f: | 64 | with open(qemu.qemurunnerlog) as f: |
| 64 | self.assertTrue(' -cdrom ' in f.read(), "Failed: %s" % cmd) | 65 | self.assertTrue(' -cdrom ' in f.read(), "Failed: %s" % cmd) |
| 65 | 66 | ||
| 66 | @testcase(2004) | 67 | @OETestID(2004) |
| 67 | def test_boot_recipe_image(self): | 68 | def test_boot_recipe_image(self): |
| 68 | """Test runqemu recipe-image""" | 69 | """Test runqemu recipe-image""" |
| 69 | cmd = "%s %s" % (self.cmd_common, self.recipe) | 70 | cmd = "%s %s" % (self.cmd_common, self.recipe) |
| 70 | with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: | 71 | with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: |
| 71 | self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) | 72 | self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) |
| 72 | 73 | ||
| 73 | @testcase(2005) | 74 | @OETestID(2005) |
| 74 | def test_boot_recipe_image_vmdk(self): | 75 | def test_boot_recipe_image_vmdk(self): |
| 75 | """Test runqemu recipe-image vmdk""" | 76 | """Test runqemu recipe-image vmdk""" |
| 76 | cmd = "%s %s vmdk" % (self.cmd_common, self.recipe) | 77 | cmd = "%s %s vmdk" % (self.cmd_common, self.recipe) |
| @@ -78,7 +79,7 @@ SYSLINUX_TIMEOUT = "10" | |||
| 78 | with open(qemu.qemurunnerlog) as f: | 79 | with open(qemu.qemurunnerlog) as f: |
| 79 | self.assertTrue('format=vmdk' in f.read(), "Failed: %s" % cmd) | 80 | self.assertTrue('format=vmdk' in f.read(), "Failed: %s" % cmd) |
| 80 | 81 | ||
| 81 | @testcase(2006) | 82 | @OETestID(2006) |
| 82 | def test_boot_recipe_image_vdi(self): | 83 | def test_boot_recipe_image_vdi(self): |
| 83 | """Test runqemu recipe-image vdi""" | 84 | """Test runqemu recipe-image vdi""" |
| 84 | cmd = "%s %s vdi" % (self.cmd_common, self.recipe) | 85 | cmd = "%s %s vdi" % (self.cmd_common, self.recipe) |
| @@ -86,14 +87,14 @@ SYSLINUX_TIMEOUT = "10" | |||
| 86 | with open(qemu.qemurunnerlog) as f: | 87 | with open(qemu.qemurunnerlog) as f: |
| 87 | self.assertTrue('format=vdi' in f.read(), "Failed: %s" % cmd) | 88 | self.assertTrue('format=vdi' in f.read(), "Failed: %s" % cmd) |
| 88 | 89 | ||
| 89 | @testcase(2007) | 90 | @OETestID(2007) |
| 90 | def test_boot_deploy(self): | 91 | def test_boot_deploy(self): |
| 91 | """Test runqemu deploy_dir_image""" | 92 | """Test runqemu deploy_dir_image""" |
| 92 | cmd = "%s %s" % (self.cmd_common, self.deploy_dir_image) | 93 | cmd = "%s %s" % (self.cmd_common, self.deploy_dir_image) |
| 93 | with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: | 94 | with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: |
| 94 | self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) | 95 | self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) |
| 95 | 96 | ||
| 96 | @testcase(2008) | 97 | @OETestID(2008) |
| 97 | def test_boot_deploy_hddimg(self): | 98 | def test_boot_deploy_hddimg(self): |
| 98 | """Test runqemu deploy_dir_image hddimg""" | 99 | """Test runqemu deploy_dir_image hddimg""" |
| 99 | cmd = "%s %s hddimg" % (self.cmd_common, self.deploy_dir_image) | 100 | cmd = "%s %s hddimg" % (self.cmd_common, self.deploy_dir_image) |
| @@ -101,7 +102,7 @@ SYSLINUX_TIMEOUT = "10" | |||
| 101 | with open(qemu.qemurunnerlog) as f: | 102 | with open(qemu.qemurunnerlog) as f: |
| 102 | self.assertTrue(re.search('file=.*.hddimg', f.read()), "Failed: %s" % cmd) | 103 | self.assertTrue(re.search('file=.*.hddimg', f.read()), "Failed: %s" % cmd) |
| 103 | 104 | ||
| 104 | @testcase(2009) | 105 | @OETestID(2009) |
| 105 | def test_boot_machine_slirp(self): | 106 | def test_boot_machine_slirp(self): |
| 106 | """Test runqemu machine slirp""" | 107 | """Test runqemu machine slirp""" |
| 107 | cmd = "%s slirp %s" % (self.cmd_common, self.machine) | 108 | cmd = "%s slirp %s" % (self.cmd_common, self.machine) |
| @@ -109,7 +110,7 @@ SYSLINUX_TIMEOUT = "10" | |||
| 109 | with open(qemu.qemurunnerlog) as f: | 110 | with open(qemu.qemurunnerlog) as f: |
| 110 | self.assertTrue(' -netdev user' in f.read(), "Failed: %s" % cmd) | 111 | self.assertTrue(' -netdev user' in f.read(), "Failed: %s" % cmd) |
| 111 | 112 | ||
| 112 | @testcase(2009) | 113 | @OETestID(2009) |
| 113 | def test_boot_machine_slirp_qcow2(self): | 114 | def test_boot_machine_slirp_qcow2(self): |
| 114 | """Test runqemu machine slirp qcow2""" | 115 | """Test runqemu machine slirp qcow2""" |
| 115 | cmd = "%s slirp qcow2 %s" % (self.cmd_common, self.machine) | 116 | cmd = "%s slirp qcow2 %s" % (self.cmd_common, self.machine) |
| @@ -117,7 +118,7 @@ SYSLINUX_TIMEOUT = "10" | |||
| 117 | with open(qemu.qemurunnerlog) as f: | 118 | with open(qemu.qemurunnerlog) as f: |
| 118 | self.assertTrue('format=qcow2' in f.read(), "Failed: %s" % cmd) | 119 | self.assertTrue('format=qcow2' in f.read(), "Failed: %s" % cmd) |
| 119 | 120 | ||
| 120 | @testcase(2010) | 121 | @OETestID(2010) |
| 121 | def test_boot_qemu_boot(self): | 122 | def test_boot_qemu_boot(self): |
| 122 | """Test runqemu /path/to/image.qemuboot.conf""" | 123 | """Test runqemu /path/to/image.qemuboot.conf""" |
| 123 | qemuboot_conf = "%s-%s.qemuboot.conf" % (self.recipe, self.machine) | 124 | qemuboot_conf = "%s-%s.qemuboot.conf" % (self.recipe, self.machine) |
| @@ -128,7 +129,7 @@ SYSLINUX_TIMEOUT = "10" | |||
| 128 | with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: | 129 | with runqemu(self.recipe, ssh=False, launch_cmd=cmd) as qemu: |
| 129 | self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) | 130 | self.assertTrue(qemu.runner.logged, "Failed: %s" % cmd) |
| 130 | 131 | ||
| 131 | @testcase(2011) | 132 | @OETestID(2011) |
| 132 | def test_boot_rootfs(self): | 133 | def test_boot_rootfs(self): |
| 133 | """Test runqemu /path/to/rootfs.ext4""" | 134 | """Test runqemu /path/to/rootfs.ext4""" |
| 134 | rootfs = "%s-%s.ext4" % (self.recipe, self.machine) | 135 | rootfs = "%s-%s.ext4" % (self.recipe, self.machine) |
diff --git a/meta/lib/oeqa/selftest/runtime-test.py b/meta/lib/oeqa/selftest/cases/runtime_test.py index 13a4c03a15..9fec4d869b 100644 --- a/meta/lib/oeqa/selftest/runtime-test.py +++ b/meta/lib/oeqa/selftest/cases/runtime_test.py | |||
| @@ -1,14 +1,15 @@ | |||
| 1 | from oeqa.selftest.base import oeSelfTest | 1 | from oeqa.selftest.case import OESelftestTestCase |
| 2 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu | 2 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu |
| 3 | from oeqa.utils.decorators import testcase | 3 | from oeqa.core.decorator.oeid import OETestID |
| 4 | import os | 4 | import os |
| 5 | import re | 5 | import re |
| 6 | 6 | ||
| 7 | class TestExport(oeSelfTest): | 7 | class TestExport(OESelftestTestCase): |
| 8 | 8 | ||
| 9 | @classmethod | 9 | @classmethod |
| 10 | def tearDownClass(cls): | 10 | def tearDownClass(cls): |
| 11 | runCmd("rm -rf /tmp/sdk") | 11 | runCmd("rm -rf /tmp/sdk") |
| 12 | super(TestExport, cls).tearDownClass() | ||
| 12 | 13 | ||
| 13 | def test_testexport_basic(self): | 14 | def test_testexport_basic(self): |
| 14 | """ | 15 | """ |
| @@ -101,7 +102,7 @@ class TestExport(oeSelfTest): | |||
| 101 | self.assertEqual(0, result.status, "Couldn't run tar from SDK") | 102 | self.assertEqual(0, result.status, "Couldn't run tar from SDK") |
| 102 | 103 | ||
| 103 | 104 | ||
| 104 | class TestImage(oeSelfTest): | 105 | class TestImage(OESelftestTestCase): |
| 105 | 106 | ||
| 106 | def test_testimage_install(self): | 107 | def test_testimage_install(self): |
| 107 | """ | 108 | """ |
| @@ -129,8 +130,8 @@ class TestImage(oeSelfTest): | |||
| 129 | bitbake('core-image-full-cmdline socat') | 130 | bitbake('core-image-full-cmdline socat') |
| 130 | bitbake('-c testimage core-image-full-cmdline') | 131 | bitbake('-c testimage core-image-full-cmdline') |
| 131 | 132 | ||
| 132 | class Postinst(oeSelfTest): | 133 | class Postinst(OESelftestTestCase): |
| 133 | @testcase(1540) | 134 | @OETestID(1540) |
| 134 | def test_verify_postinst(self): | 135 | def test_verify_postinst(self): |
| 135 | """ | 136 | """ |
| 136 | Summary: The purpose of this test is to verify the execution order of postinst Bugzilla ID: [5319] | 137 | Summary: The purpose of this test is to verify the execution order of postinst Bugzilla ID: [5319] |
| @@ -180,7 +181,7 @@ postinst-delayed-t \ | |||
| 180 | self.assertEqual(idx, len(postinst_list), "Not found all postinsts") | 181 | self.assertEqual(idx, len(postinst_list), "Not found all postinsts") |
| 181 | break | 182 | break |
| 182 | 183 | ||
| 183 | @testcase(1545) | 184 | @OETestID(1545) |
| 184 | def test_postinst_rootfs_and_boot(self): | 185 | def test_postinst_rootfs_and_boot(self): |
| 185 | """ | 186 | """ |
| 186 | Summary: The purpose of this test case is to verify Post-installation | 187 | Summary: The purpose of this test case is to verify Post-installation |
diff --git a/meta/lib/oeqa/selftest/signing.py b/meta/lib/oeqa/selftest/cases/signing.py index 0ac3d1fac9..edb5f653f2 100644 --- a/meta/lib/oeqa/selftest/signing.py +++ b/meta/lib/oeqa/selftest/cases/signing.py | |||
| @@ -1,15 +1,15 @@ | |||
| 1 | from oeqa.selftest.base import oeSelfTest | 1 | from oeqa.selftest.case import OESelftestTestCase |
| 2 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars | 2 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars |
| 3 | import os | 3 | import os |
| 4 | import glob | 4 | import glob |
| 5 | import re | 5 | import re |
| 6 | import shutil | 6 | import shutil |
| 7 | import tempfile | 7 | import tempfile |
| 8 | from oeqa.utils.decorators import testcase | 8 | from oeqa.core.decorator.oeid import OETestID |
| 9 | from oeqa.utils.ftools import write_file | 9 | from oeqa.utils.ftools import write_file |
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | class Signing(oeSelfTest): | 12 | class Signing(OESelftestTestCase): |
| 13 | 13 | ||
| 14 | gpg_dir = "" | 14 | gpg_dir = "" |
| 15 | pub_key_path = "" | 15 | pub_key_path = "" |
| @@ -17,6 +17,7 @@ class Signing(oeSelfTest): | |||
| 17 | 17 | ||
| 18 | @classmethod | 18 | @classmethod |
| 19 | def setUpClass(cls): | 19 | def setUpClass(cls): |
| 20 | super(Signing, cls).setUpClass() | ||
| 20 | # Check that we can find the gpg binary and fail early if we can't | 21 | # Check that we can find the gpg binary and fail early if we can't |
| 21 | if not shutil.which("gpg"): | 22 | if not shutil.which("gpg"): |
| 22 | raise AssertionError("This test needs GnuPG") | 23 | raise AssertionError("This test needs GnuPG") |
| @@ -29,7 +30,7 @@ class Signing(oeSelfTest): | |||
| 29 | 30 | ||
| 30 | runCmd('gpg --batch --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path)) | 31 | runCmd('gpg --batch --homedir %s --import %s %s' % (cls.gpg_dir, cls.pub_key_path, cls.secret_key_path)) |
| 31 | 32 | ||
| 32 | @testcase(1362) | 33 | @OETestID(1362) |
| 33 | def test_signing_packages(self): | 34 | def test_signing_packages(self): |
| 34 | """ | 35 | """ |
| 35 | Summary: Test that packages can be signed in the package feed | 36 | Summary: Test that packages can be signed in the package feed |
| @@ -92,7 +93,7 @@ class Signing(oeSelfTest): | |||
| 92 | bitbake('core-image-minimal') | 93 | bitbake('core-image-minimal') |
| 93 | 94 | ||
| 94 | 95 | ||
| 95 | @testcase(1382) | 96 | @OETestID(1382) |
| 96 | def test_signing_sstate_archive(self): | 97 | def test_signing_sstate_archive(self): |
| 97 | """ | 98 | """ |
| 98 | Summary: Test that sstate archives can be signed | 99 | Summary: Test that sstate archives can be signed |
| @@ -135,9 +136,9 @@ class Signing(oeSelfTest): | |||
| 135 | self.assertIn('gpg: Good signature from', ret.output, 'Package signed incorrectly.') | 136 | self.assertIn('gpg: Good signature from', ret.output, 'Package signed incorrectly.') |
| 136 | 137 | ||
| 137 | 138 | ||
| 138 | class LockedSignatures(oeSelfTest): | 139 | class LockedSignatures(OESelftestTestCase): |
| 139 | 140 | ||
| 140 | @testcase(1420) | 141 | @OETestID(1420) |
| 141 | def test_locked_signatures(self): | 142 | def test_locked_signatures(self): |
| 142 | """ | 143 | """ |
| 143 | Summary: Test locked signature mechanism | 144 | Summary: Test locked signature mechanism |
diff --git a/meta/lib/oeqa/selftest/sstate.py b/meta/lib/oeqa/selftest/cases/sstate.py index f54bc41465..bc2fdbd8cc 100644 --- a/meta/lib/oeqa/selftest/sstate.py +++ b/meta/lib/oeqa/selftest/cases/sstate.py | |||
| @@ -5,13 +5,14 @@ import re | |||
| 5 | import shutil | 5 | import shutil |
| 6 | 6 | ||
| 7 | import oeqa.utils.ftools as ftools | 7 | import oeqa.utils.ftools as ftools |
| 8 | from oeqa.selftest.base import oeSelfTest | 8 | from oeqa.selftest.case import OESelftestTestCase |
| 9 | from oeqa.utils.commands import runCmd, bitbake, get_bb_vars, get_test_layer | 9 | from oeqa.utils.commands import runCmd, bitbake, get_bb_vars, get_test_layer |
| 10 | 10 | ||
| 11 | 11 | ||
| 12 | class SStateBase(oeSelfTest): | 12 | class SStateBase(OESelftestTestCase): |
| 13 | 13 | ||
| 14 | def setUpLocal(self): | 14 | def setUpLocal(self): |
| 15 | super(SStateBase, self).setUpLocal() | ||
| 15 | self.temp_sstate_location = None | 16 | self.temp_sstate_location = None |
| 16 | needed_vars = ['SSTATE_DIR', 'NATIVELSBSTRING', 'TCLIBC', 'TUNE_ARCH', | 17 | needed_vars = ['SSTATE_DIR', 'NATIVELSBSTRING', 'TCLIBC', 'TUNE_ARCH', |
| 17 | 'TOPDIR', 'TARGET_VENDOR', 'TARGET_OS'] | 18 | 'TOPDIR', 'TARGET_VENDOR', 'TARGET_OS'] |
diff --git a/meta/lib/oeqa/selftest/sstatetests.py b/meta/lib/oeqa/selftest/cases/sstatetests.py index e35ddfff5f..8d05e30423 100644 --- a/meta/lib/oeqa/selftest/sstatetests.py +++ b/meta/lib/oeqa/selftest/cases/sstatetests.py | |||
| @@ -1,16 +1,12 @@ | |||
| 1 | import datetime | ||
| 2 | import unittest | ||
| 3 | import os | 1 | import os |
| 4 | import re | ||
| 5 | import shutil | 2 | import shutil |
| 6 | import glob | 3 | import glob |
| 7 | import subprocess | 4 | import subprocess |
| 8 | 5 | ||
| 9 | import oeqa.utils.ftools as ftools | 6 | from oeqa.selftest.case import OESelftestTestCase |
| 10 | from oeqa.selftest.base import oeSelfTest | ||
| 11 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer | 7 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_test_layer |
| 12 | from oeqa.selftest.sstate import SStateBase | 8 | from oeqa.selftest.cases.sstate import SStateBase |
| 13 | from oeqa.utils.decorators import testcase | 9 | from oeqa.core.decorator.oeid import OETestID |
| 14 | 10 | ||
| 15 | class SStateTests(SStateBase): | 11 | class SStateTests(SStateBase): |
| 16 | 12 | ||
| @@ -39,19 +35,19 @@ class SStateTests(SStateBase): | |||
| 39 | else: | 35 | else: |
| 40 | self.assertTrue(not file_tracker , msg="Found sstate files in the wrong place for: %s (found %s)" % (', '.join(map(str, targets)), str(file_tracker))) | 36 | self.assertTrue(not file_tracker , msg="Found sstate files in the wrong place for: %s (found %s)" % (', '.join(map(str, targets)), str(file_tracker))) |
| 41 | 37 | ||
| 42 | @testcase(975) | 38 | @OETestID(975) |
| 43 | def test_sstate_creation_distro_specific_pass(self): | 39 | def test_sstate_creation_distro_specific_pass(self): |
| 44 | self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True) | 40 | self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True) |
| 45 | 41 | ||
| 46 | @testcase(1374) | 42 | @OETestID(1374) |
| 47 | def test_sstate_creation_distro_specific_fail(self): | 43 | def test_sstate_creation_distro_specific_fail(self): |
| 48 | self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True, should_pass=False) | 44 | self.run_test_sstate_creation(['binutils-cross-'+ self.tune_arch, 'binutils-native'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True, should_pass=False) |
| 49 | 45 | ||
| 50 | @testcase(976) | 46 | @OETestID(976) |
| 51 | def test_sstate_creation_distro_nonspecific_pass(self): | 47 | def test_sstate_creation_distro_nonspecific_pass(self): |
| 52 | self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True) | 48 | self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True) |
| 53 | 49 | ||
| 54 | @testcase(1375) | 50 | @OETestID(1375) |
| 55 | def test_sstate_creation_distro_nonspecific_fail(self): | 51 | def test_sstate_creation_distro_nonspecific_fail(self): |
| 56 | self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True, should_pass=False) | 52 | self.run_test_sstate_creation(['linux-libc-headers'], distro_specific=True, distro_nonspecific=False, temp_sstate_location=True, should_pass=False) |
| 57 | 53 | ||
| @@ -72,17 +68,17 @@ class SStateTests(SStateBase): | |||
| 72 | tgz_removed = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific) | 68 | tgz_removed = self.search_sstate('|'.join(map(str, [s + '.*?\.tgz$' for s in targets])), distro_specific, distro_nonspecific) |
| 73 | self.assertTrue(not tgz_removed, msg="do_cleansstate didn't remove .tgz sstate files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_removed))) | 69 | self.assertTrue(not tgz_removed, msg="do_cleansstate didn't remove .tgz sstate files for: %s (%s)" % (', '.join(map(str, targets)), str(tgz_removed))) |
| 74 | 70 | ||
| 75 | @testcase(977) | 71 | @OETestID(977) |
| 76 | def test_cleansstate_task_distro_specific_nonspecific(self): | 72 | def test_cleansstate_task_distro_specific_nonspecific(self): |
| 77 | targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native'] | 73 | targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native'] |
| 78 | targets.append('linux-libc-headers') | 74 | targets.append('linux-libc-headers') |
| 79 | self.run_test_cleansstate_task(targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True) | 75 | self.run_test_cleansstate_task(targets, distro_specific=True, distro_nonspecific=True, temp_sstate_location=True) |
| 80 | 76 | ||
| 81 | @testcase(1376) | 77 | @OETestID(1376) |
| 82 | def test_cleansstate_task_distro_nonspecific(self): | 78 | def test_cleansstate_task_distro_nonspecific(self): |
| 83 | self.run_test_cleansstate_task(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True) | 79 | self.run_test_cleansstate_task(['linux-libc-headers'], distro_specific=False, distro_nonspecific=True, temp_sstate_location=True) |
| 84 | 80 | ||
| 85 | @testcase(1377) | 81 | @OETestID(1377) |
| 86 | def test_cleansstate_task_distro_specific(self): | 82 | def test_cleansstate_task_distro_specific(self): |
| 87 | targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native'] | 83 | targets = ['binutils-cross-'+ self.tune_arch, 'binutils-native'] |
| 88 | targets.append('linux-libc-headers') | 84 | targets.append('linux-libc-headers') |
| @@ -121,15 +117,15 @@ class SStateTests(SStateBase): | |||
| 121 | created_once = [x for x in file_tracker_2 if x not in file_tracker_1] | 117 | created_once = [x for x in file_tracker_2 if x not in file_tracker_1] |
| 122 | self.assertTrue(created_once == [], msg="The following sstate files ware created only in the second run: %s" % ', '.join(map(str, created_once))) | 118 | self.assertTrue(created_once == [], msg="The following sstate files ware created only in the second run: %s" % ', '.join(map(str, created_once))) |
| 123 | 119 | ||
| 124 | @testcase(175) | 120 | @OETestID(175) |
| 125 | def test_rebuild_distro_specific_sstate_cross_native_targets(self): | 121 | def test_rebuild_distro_specific_sstate_cross_native_targets(self): |
| 126 | self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch, 'binutils-native'], temp_sstate_location=True) | 122 | self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch, 'binutils-native'], temp_sstate_location=True) |
| 127 | 123 | ||
| 128 | @testcase(1372) | 124 | @OETestID(1372) |
| 129 | def test_rebuild_distro_specific_sstate_cross_target(self): | 125 | def test_rebuild_distro_specific_sstate_cross_target(self): |
| 130 | self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch], temp_sstate_location=True) | 126 | self.run_test_rebuild_distro_specific_sstate(['binutils-cross-' + self.tune_arch], temp_sstate_location=True) |
| 131 | 127 | ||
| 132 | @testcase(1373) | 128 | @OETestID(1373) |
| 133 | def test_rebuild_distro_specific_sstate_native_target(self): | 129 | def test_rebuild_distro_specific_sstate_native_target(self): |
| 134 | self.run_test_rebuild_distro_specific_sstate(['binutils-native'], temp_sstate_location=True) | 130 | self.run_test_rebuild_distro_specific_sstate(['binutils-native'], temp_sstate_location=True) |
| 135 | 131 | ||
| @@ -176,7 +172,7 @@ class SStateTests(SStateBase): | |||
| 176 | expected_not_actual = [x for x in expected_remaining_sstate if x not in actual_remaining_sstate] | 172 | expected_not_actual = [x for x in expected_remaining_sstate if x not in actual_remaining_sstate] |
| 177 | self.assertFalse(expected_not_actual, msg="Extra files ware removed: %s" ', '.join(map(str, expected_not_actual))) | 173 | self.assertFalse(expected_not_actual, msg="Extra files ware removed: %s" ', '.join(map(str, expected_not_actual))) |
| 178 | 174 | ||
| 179 | @testcase(973) | 175 | @OETestID(973) |
| 180 | def test_sstate_cache_management_script_using_pr_1(self): | 176 | def test_sstate_cache_management_script_using_pr_1(self): |
| 181 | global_config = [] | 177 | global_config = [] |
| 182 | target_config = [] | 178 | target_config = [] |
| @@ -184,7 +180,7 @@ class SStateTests(SStateBase): | |||
| 184 | target_config.append('PR = "0"') | 180 | target_config.append('PR = "0"') |
| 185 | self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) | 181 | self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) |
| 186 | 182 | ||
| 187 | @testcase(978) | 183 | @OETestID(978) |
| 188 | def test_sstate_cache_management_script_using_pr_2(self): | 184 | def test_sstate_cache_management_script_using_pr_2(self): |
| 189 | global_config = [] | 185 | global_config = [] |
| 190 | target_config = [] | 186 | target_config = [] |
| @@ -194,7 +190,7 @@ class SStateTests(SStateBase): | |||
| 194 | target_config.append('PR = "1"') | 190 | target_config.append('PR = "1"') |
| 195 | self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) | 191 | self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) |
| 196 | 192 | ||
| 197 | @testcase(979) | 193 | @OETestID(979) |
| 198 | def test_sstate_cache_management_script_using_pr_3(self): | 194 | def test_sstate_cache_management_script_using_pr_3(self): |
| 199 | global_config = [] | 195 | global_config = [] |
| 200 | target_config = [] | 196 | target_config = [] |
| @@ -206,7 +202,7 @@ class SStateTests(SStateBase): | |||
| 206 | target_config.append('PR = "1"') | 202 | target_config.append('PR = "1"') |
| 207 | self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) | 203 | self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) |
| 208 | 204 | ||
| 209 | @testcase(974) | 205 | @OETestID(974) |
| 210 | def test_sstate_cache_management_script_using_machine(self): | 206 | def test_sstate_cache_management_script_using_machine(self): |
| 211 | global_config = [] | 207 | global_config = [] |
| 212 | target_config = [] | 208 | target_config = [] |
| @@ -216,7 +212,7 @@ class SStateTests(SStateBase): | |||
| 216 | target_config.append('') | 212 | target_config.append('') |
| 217 | self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) | 213 | self.run_test_sstate_cache_management_script('m4', global_config, target_config, ignore_patterns=['populate_lic']) |
| 218 | 214 | ||
| 219 | @testcase(1270) | 215 | @OETestID(1270) |
| 220 | def test_sstate_32_64_same_hash(self): | 216 | def test_sstate_32_64_same_hash(self): |
| 221 | """ | 217 | """ |
| 222 | The sstate checksums for both native and target should not vary whether | 218 | The sstate checksums for both native and target should not vary whether |
| @@ -263,7 +259,7 @@ PACKAGE_CLASSES = "package_rpm package_ipk package_deb" | |||
| 263 | self.assertCountEqual(files1, files2) | 259 | self.assertCountEqual(files1, files2) |
| 264 | 260 | ||
| 265 | 261 | ||
| 266 | @testcase(1271) | 262 | @OETestID(1271) |
| 267 | def test_sstate_nativelsbstring_same_hash(self): | 263 | def test_sstate_nativelsbstring_same_hash(self): |
| 268 | """ | 264 | """ |
| 269 | The sstate checksums should be independent of whichever NATIVELSBSTRING is | 265 | The sstate checksums should be independent of whichever NATIVELSBSTRING is |
| @@ -295,7 +291,7 @@ NATIVELSBSTRING = \"DistroB\" | |||
| 295 | self.maxDiff = None | 291 | self.maxDiff = None |
| 296 | self.assertCountEqual(files1, files2) | 292 | self.assertCountEqual(files1, files2) |
| 297 | 293 | ||
| 298 | @testcase(1368) | 294 | @OETestID(1368) |
| 299 | def test_sstate_allarch_samesigs(self): | 295 | def test_sstate_allarch_samesigs(self): |
| 300 | """ | 296 | """ |
| 301 | The sstate checksums of allarch packages should be independent of whichever | 297 | The sstate checksums of allarch packages should be independent of whichever |
| @@ -369,7 +365,7 @@ MULTILIBS = \"\" | |||
| 369 | self.maxDiff = None | 365 | self.maxDiff = None |
| 370 | self.assertEqual(files1, files2) | 366 | self.assertEqual(files1, files2) |
| 371 | 367 | ||
| 372 | @testcase(1369) | 368 | @OETestID(1369) |
| 373 | def test_sstate_sametune_samesigs(self): | 369 | def test_sstate_sametune_samesigs(self): |
| 374 | """ | 370 | """ |
| 375 | The sstate checksums of two identical machines (using the same tune) should be the | 371 | The sstate checksums of two identical machines (using the same tune) should be the |
diff --git a/meta/lib/oeqa/selftest/tinfoil.py b/meta/lib/oeqa/selftest/cases/tinfoil.py index 73a0c3bac0..1394d426e7 100644 --- a/meta/lib/oeqa/selftest/tinfoil.py +++ b/meta/lib/oeqa/selftest/cases/tinfoil.py | |||
| @@ -1,16 +1,15 @@ | |||
| 1 | import unittest | ||
| 2 | import os | 1 | import os |
| 3 | import re | 2 | import re |
| 4 | import bb.tinfoil | 3 | import bb.tinfoil |
| 5 | 4 | ||
| 6 | from oeqa.selftest.base import oeSelfTest | 5 | from oeqa.selftest.case import OESelftestTestCase |
| 7 | from oeqa.utils.commands import runCmd | 6 | from oeqa.utils.commands import runCmd |
| 8 | from oeqa.utils.decorators import testcase | 7 | from oeqa.core.decorator.oeid import OETestID |
| 9 | 8 | ||
| 10 | class TinfoilTests(oeSelfTest): | 9 | class TinfoilTests(OESelftestTestCase): |
| 11 | """ Basic tests for the tinfoil API """ | 10 | """ Basic tests for the tinfoil API """ |
| 12 | 11 | ||
| 13 | @testcase(1568) | 12 | @OETestID(1568) |
| 14 | def test_getvar(self): | 13 | def test_getvar(self): |
| 15 | with bb.tinfoil.Tinfoil() as tinfoil: | 14 | with bb.tinfoil.Tinfoil() as tinfoil: |
| 16 | tinfoil.prepare(True) | 15 | tinfoil.prepare(True) |
| @@ -18,7 +17,7 @@ class TinfoilTests(oeSelfTest): | |||
| 18 | if not machine: | 17 | if not machine: |
| 19 | self.fail('Unable to get MACHINE value - returned %s' % machine) | 18 | self.fail('Unable to get MACHINE value - returned %s' % machine) |
| 20 | 19 | ||
| 21 | @testcase(1569) | 20 | @OETestID(1569) |
| 22 | def test_expand(self): | 21 | def test_expand(self): |
| 23 | with bb.tinfoil.Tinfoil() as tinfoil: | 22 | with bb.tinfoil.Tinfoil() as tinfoil: |
| 24 | tinfoil.prepare(True) | 23 | tinfoil.prepare(True) |
| @@ -27,7 +26,7 @@ class TinfoilTests(oeSelfTest): | |||
| 27 | if not pid: | 26 | if not pid: |
| 28 | self.fail('Unable to expand "%s" - returned %s' % (expr, pid)) | 27 | self.fail('Unable to expand "%s" - returned %s' % (expr, pid)) |
| 29 | 28 | ||
| 30 | @testcase(1570) | 29 | @OETestID(1570) |
| 31 | def test_getvar_bb_origenv(self): | 30 | def test_getvar_bb_origenv(self): |
| 32 | with bb.tinfoil.Tinfoil() as tinfoil: | 31 | with bb.tinfoil.Tinfoil() as tinfoil: |
| 33 | tinfoil.prepare(True) | 32 | tinfoil.prepare(True) |
| @@ -36,7 +35,7 @@ class TinfoilTests(oeSelfTest): | |||
| 36 | self.fail('Unable to get BB_ORIGENV value - returned %s' % origenv) | 35 | self.fail('Unable to get BB_ORIGENV value - returned %s' % origenv) |
| 37 | self.assertEqual(origenv.getVar('HOME', False), os.environ['HOME']) | 36 | self.assertEqual(origenv.getVar('HOME', False), os.environ['HOME']) |
| 38 | 37 | ||
| 39 | @testcase(1571) | 38 | @OETestID(1571) |
| 40 | def test_parse_recipe(self): | 39 | def test_parse_recipe(self): |
| 41 | with bb.tinfoil.Tinfoil() as tinfoil: | 40 | with bb.tinfoil.Tinfoil() as tinfoil: |
| 42 | tinfoil.prepare(config_only=False, quiet=2) | 41 | tinfoil.prepare(config_only=False, quiet=2) |
| @@ -47,7 +46,7 @@ class TinfoilTests(oeSelfTest): | |||
| 47 | rd = tinfoil.parse_recipe_file(best[3]) | 46 | rd = tinfoil.parse_recipe_file(best[3]) |
| 48 | self.assertEqual(testrecipe, rd.getVar('PN')) | 47 | self.assertEqual(testrecipe, rd.getVar('PN')) |
| 49 | 48 | ||
| 50 | @testcase(1572) | 49 | @OETestID(1572) |
| 51 | def test_parse_recipe_copy_expand(self): | 50 | def test_parse_recipe_copy_expand(self): |
| 52 | with bb.tinfoil.Tinfoil() as tinfoil: | 51 | with bb.tinfoil.Tinfoil() as tinfoil: |
| 53 | tinfoil.prepare(config_only=False, quiet=2) | 52 | tinfoil.prepare(config_only=False, quiet=2) |
| @@ -66,7 +65,7 @@ class TinfoilTests(oeSelfTest): | |||
| 66 | localdata.setVar('PN', 'hello') | 65 | localdata.setVar('PN', 'hello') |
| 67 | self.assertEqual('hello', localdata.getVar('BPN')) | 66 | self.assertEqual('hello', localdata.getVar('BPN')) |
| 68 | 67 | ||
| 69 | @testcase(1573) | 68 | @OETestID(1573) |
| 70 | def test_parse_recipe_initial_datastore(self): | 69 | def test_parse_recipe_initial_datastore(self): |
| 71 | with bb.tinfoil.Tinfoil() as tinfoil: | 70 | with bb.tinfoil.Tinfoil() as tinfoil: |
| 72 | tinfoil.prepare(config_only=False, quiet=2) | 71 | tinfoil.prepare(config_only=False, quiet=2) |
| @@ -80,7 +79,7 @@ class TinfoilTests(oeSelfTest): | |||
| 80 | # Check we can get variable values | 79 | # Check we can get variable values |
| 81 | self.assertEqual('somevalue', rd.getVar('MYVARIABLE')) | 80 | self.assertEqual('somevalue', rd.getVar('MYVARIABLE')) |
| 82 | 81 | ||
| 83 | @testcase(1574) | 82 | @OETestID(1574) |
| 84 | def test_list_recipes(self): | 83 | def test_list_recipes(self): |
| 85 | with bb.tinfoil.Tinfoil() as tinfoil: | 84 | with bb.tinfoil.Tinfoil() as tinfoil: |
| 86 | tinfoil.prepare(config_only=False, quiet=2) | 85 | tinfoil.prepare(config_only=False, quiet=2) |
| @@ -99,7 +98,7 @@ class TinfoilTests(oeSelfTest): | |||
| 99 | if checkpns: | 98 | if checkpns: |
| 100 | self.fail('Unable to find pkg_fn entries for: %s' % ', '.join(checkpns)) | 99 | self.fail('Unable to find pkg_fn entries for: %s' % ', '.join(checkpns)) |
| 101 | 100 | ||
| 102 | @testcase(1575) | 101 | @OETestID(1575) |
| 103 | def test_wait_event(self): | 102 | def test_wait_event(self): |
| 104 | with bb.tinfoil.Tinfoil() as tinfoil: | 103 | with bb.tinfoil.Tinfoil() as tinfoil: |
| 105 | tinfoil.prepare(config_only=True) | 104 | tinfoil.prepare(config_only=True) |
| @@ -130,7 +129,7 @@ class TinfoilTests(oeSelfTest): | |||
| 130 | self.assertNotEqual(waitcount, 0, 'Timed out waiting for CommandCompleted event from bitbake server') | 129 | self.assertNotEqual(waitcount, 0, 'Timed out waiting for CommandCompleted event from bitbake server') |
| 131 | self.assertTrue(eventreceived, 'Did not receive FilesMatchingFound event from bitbake server') | 130 | self.assertTrue(eventreceived, 'Did not receive FilesMatchingFound event from bitbake server') |
| 132 | 131 | ||
| 133 | @testcase(1576) | 132 | @OETestID(1576) |
| 134 | def test_setvariable_clean(self): | 133 | def test_setvariable_clean(self): |
| 135 | # First check that setVariable affects the datastore | 134 | # First check that setVariable affects the datastore |
| 136 | with bb.tinfoil.Tinfoil() as tinfoil: | 135 | with bb.tinfoil.Tinfoil() as tinfoil: |
diff --git a/meta/lib/oeqa/selftest/wic.py b/meta/lib/oeqa/selftest/cases/wic.py index cdec80c076..4040cf7246 100644 --- a/meta/lib/oeqa/selftest/wic.py +++ b/meta/lib/oeqa/selftest/cases/wic.py | |||
| @@ -32,9 +32,9 @@ from shutil import rmtree | |||
| 32 | from functools import wraps, lru_cache | 32 | from functools import wraps, lru_cache |
| 33 | from tempfile import NamedTemporaryFile | 33 | from tempfile import NamedTemporaryFile |
| 34 | 34 | ||
| 35 | from oeqa.selftest.base import oeSelfTest | 35 | from oeqa.selftest.case import OESelftestTestCase |
| 36 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu | 36 | from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu |
| 37 | from oeqa.utils.decorators import testcase | 37 | from oeqa.core.decorator.oeid import OETestID |
| 38 | 38 | ||
| 39 | 39 | ||
| 40 | @lru_cache(maxsize=32) | 40 | @lru_cache(maxsize=32) |
| @@ -61,7 +61,7 @@ def only_for_arch(archs, image='core-image-minimal'): | |||
| 61 | return wrapper | 61 | return wrapper |
| 62 | 62 | ||
| 63 | 63 | ||
| 64 | class Wic(oeSelfTest): | 64 | class Wic(OESelftestTestCase): |
| 65 | """Wic test class.""" | 65 | """Wic test class.""" |
| 66 | 66 | ||
| 67 | resultdir = "/var/tmp/wic.oe-selftest/" | 67 | resultdir = "/var/tmp/wic.oe-selftest/" |
| @@ -71,6 +71,7 @@ class Wic(oeSelfTest): | |||
| 71 | 71 | ||
| 72 | def setUpLocal(self): | 72 | def setUpLocal(self): |
| 73 | """This code is executed before each test method.""" | 73 | """This code is executed before each test method.""" |
| 74 | super(Wic, self).setUpLocal() | ||
| 74 | if not self.native_sysroot: | 75 | if not self.native_sysroot: |
| 75 | Wic.native_sysroot = get_bb_var('STAGING_DIR_NATIVE', 'wic-tools') | 76 | Wic.native_sysroot = get_bb_var('STAGING_DIR_NATIVE', 'wic-tools') |
| 76 | 77 | ||
| @@ -91,64 +92,65 @@ class Wic(oeSelfTest): | |||
| 91 | def tearDownLocal(self): | 92 | def tearDownLocal(self): |
| 92 | """Remove resultdir as it may contain images.""" | 93 | """Remove resultdir as it may contain images.""" |
| 93 | rmtree(self.resultdir, ignore_errors=True) | 94 | rmtree(self.resultdir, ignore_errors=True) |
| 95 | super(Wic, self).tearDownLocal() | ||
| 94 | 96 | ||
| 95 | @testcase(1552) | 97 | @OETestID(1552) |
| 96 | def test_version(self): | 98 | def test_version(self): |
| 97 | """Test wic --version""" | 99 | """Test wic --version""" |
| 98 | self.assertEqual(0, runCmd('wic --version').status) | 100 | self.assertEqual(0, runCmd('wic --version').status) |
| 99 | 101 | ||
| 100 | @testcase(1208) | 102 | @OETestID(1208) |
| 101 | def test_help(self): | 103 | def test_help(self): |
| 102 | """Test wic --help and wic -h""" | 104 | """Test wic --help and wic -h""" |
| 103 | self.assertEqual(0, runCmd('wic --help').status) | 105 | self.assertEqual(0, runCmd('wic --help').status) |
| 104 | self.assertEqual(0, runCmd('wic -h').status) | 106 | self.assertEqual(0, runCmd('wic -h').status) |
| 105 | 107 | ||
| 106 | @testcase(1209) | 108 | @OETestID(1209) |
| 107 | def test_createhelp(self): | 109 | def test_createhelp(self): |
| 108 | """Test wic create --help""" | 110 | """Test wic create --help""" |
| 109 | self.assertEqual(0, runCmd('wic create --help').status) | 111 | self.assertEqual(0, runCmd('wic create --help').status) |
| 110 | 112 | ||
| 111 | @testcase(1210) | 113 | @OETestID(1210) |
| 112 | def test_listhelp(self): | 114 | def test_listhelp(self): |
| 113 | """Test wic list --help""" | 115 | """Test wic list --help""" |
| 114 | self.assertEqual(0, runCmd('wic list --help').status) | 116 | self.assertEqual(0, runCmd('wic list --help').status) |
| 115 | 117 | ||
| 116 | @testcase(1553) | 118 | @OETestID(1553) |
| 117 | def test_help_create(self): | 119 | def test_help_create(self): |
| 118 | """Test wic help create""" | 120 | """Test wic help create""" |
| 119 | self.assertEqual(0, runCmd('wic help create').status) | 121 | self.assertEqual(0, runCmd('wic help create').status) |
| 120 | 122 | ||
| 121 | @testcase(1554) | 123 | @OETestID(1554) |
| 122 | def test_help_list(self): | 124 | def test_help_list(self): |
| 123 | """Test wic help list""" | 125 | """Test wic help list""" |
| 124 | self.assertEqual(0, runCmd('wic help list').status) | 126 | self.assertEqual(0, runCmd('wic help list').status) |
| 125 | 127 | ||
| 126 | @testcase(1215) | 128 | @OETestID(1215) |
| 127 | def test_help_overview(self): | 129 | def test_help_overview(self): |
| 128 | """Test wic help overview""" | 130 | """Test wic help overview""" |
| 129 | self.assertEqual(0, runCmd('wic help overview').status) | 131 | self.assertEqual(0, runCmd('wic help overview').status) |
| 130 | 132 | ||
| 131 | @testcase(1216) | 133 | @OETestID(1216) |
| 132 | def test_help_plugins(self): | 134 | def test_help_plugins(self): |
| 133 | """Test wic help plugins""" | 135 | """Test wic help plugins""" |
| 134 | self.assertEqual(0, runCmd('wic help plugins').status) | 136 | self.assertEqual(0, runCmd('wic help plugins').status) |
| 135 | 137 | ||
| 136 | @testcase(1217) | 138 | @OETestID(1217) |
| 137 | def test_help_kickstart(self): | 139 | def test_help_kickstart(self): |
| 138 | """Test wic help kickstart""" | 140 | """Test wic help kickstart""" |
| 139 | self.assertEqual(0, runCmd('wic help kickstart').status) | 141 | self.assertEqual(0, runCmd('wic help kickstart').status) |
| 140 | 142 | ||
| 141 | @testcase(1555) | 143 | @OETestID(1555) |
| 142 | def test_list_images(self): | 144 | def test_list_images(self): |
| 143 | """Test wic list images""" | 145 | """Test wic list images""" |
| 144 | self.assertEqual(0, runCmd('wic list images').status) | 146 | self.assertEqual(0, runCmd('wic list images').status) |
| 145 | 147 | ||
| 146 | @testcase(1556) | 148 | @OETestID(1556) |
| 147 | def test_list_source_plugins(self): | 149 | def test_list_source_plugins(self): |
| 148 | """Test wic list source-plugins""" | 150 | """Test wic list source-plugins""" |
| 149 | self.assertEqual(0, runCmd('wic list source-plugins').status) | 151 | self.assertEqual(0, runCmd('wic list source-plugins').status) |
| 150 | 152 | ||
| 151 | @testcase(1557) | 153 | @OETestID(1557) |
| 152 | def test_listed_images_help(self): | 154 | def test_listed_images_help(self): |
| 153 | """Test wic listed images help""" | 155 | """Test wic listed images help""" |
| 154 | output = runCmd('wic list images').output | 156 | output = runCmd('wic list images').output |
| @@ -156,24 +158,24 @@ class Wic(oeSelfTest): | |||
| 156 | for image in imagelist: | 158 | for image in imagelist: |
| 157 | self.assertEqual(0, runCmd('wic list %s help' % image).status) | 159 | self.assertEqual(0, runCmd('wic list %s help' % image).status) |
| 158 | 160 | ||
| 159 | @testcase(1213) | 161 | @OETestID(1213) |
| 160 | def test_unsupported_subcommand(self): | 162 | def test_unsupported_subcommand(self): |
| 161 | """Test unsupported subcommand""" | 163 | """Test unsupported subcommand""" |
| 162 | self.assertNotEqual(0, runCmd('wic unsupported', ignore_status=True).status) | 164 | self.assertNotEqual(0, runCmd('wic unsupported', ignore_status=True).status) |
| 163 | 165 | ||
| 164 | @testcase(1214) | 166 | @OETestID(1214) |
| 165 | def test_no_command(self): | 167 | def test_no_command(self): |
| 166 | """Test wic without command""" | 168 | """Test wic without command""" |
| 167 | self.assertEqual(1, runCmd('wic', ignore_status=True).status) | 169 | self.assertEqual(1, runCmd('wic', ignore_status=True).status) |
| 168 | 170 | ||
| 169 | @testcase(1211) | 171 | @OETestID(1211) |
| 170 | def test_build_image_name(self): | 172 | def test_build_image_name(self): |
| 171 | """Test wic create wictestdisk --image-name=core-image-minimal""" | 173 | """Test wic create wictestdisk --image-name=core-image-minimal""" |
| 172 | cmd = "wic create wictestdisk --image-name=core-image-minimal -o %s" % self.resultdir | 174 | cmd = "wic create wictestdisk --image-name=core-image-minimal -o %s" % self.resultdir |
| 173 | self.assertEqual(0, runCmd(cmd).status) | 175 | self.assertEqual(0, runCmd(cmd).status) |
| 174 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) | 176 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) |
| 175 | 177 | ||
| 176 | @testcase(1157) | 178 | @OETestID(1157) |
| 177 | @only_for_arch(['i586', 'i686', 'x86_64']) | 179 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 178 | def test_gpt_image(self): | 180 | def test_gpt_image(self): |
| 179 | """Test creation of core-image-minimal with gpt table and UUID boot""" | 181 | """Test creation of core-image-minimal with gpt table and UUID boot""" |
| @@ -181,7 +183,7 @@ class Wic(oeSelfTest): | |||
| 181 | self.assertEqual(0, runCmd(cmd).status) | 183 | self.assertEqual(0, runCmd(cmd).status) |
| 182 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) | 184 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) |
| 183 | 185 | ||
| 184 | @testcase(1346) | 186 | @OETestID(1346) |
| 185 | @only_for_arch(['i586', 'i686', 'x86_64']) | 187 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 186 | def test_iso_image(self): | 188 | def test_iso_image(self): |
| 187 | """Test creation of hybrid iso image with legacy and EFI boot""" | 189 | """Test creation of hybrid iso image with legacy and EFI boot""" |
| @@ -195,7 +197,7 @@ class Wic(oeSelfTest): | |||
| 195 | self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.direct"))) | 197 | self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.direct"))) |
| 196 | self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.iso"))) | 198 | self.assertEqual(1, len(glob(self.resultdir + "HYBRID_ISO_IMG-*.iso"))) |
| 197 | 199 | ||
| 198 | @testcase(1348) | 200 | @OETestID(1348) |
| 199 | @only_for_arch(['i586', 'i686', 'x86_64']) | 201 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 200 | def test_qemux86_directdisk(self): | 202 | def test_qemux86_directdisk(self): |
| 201 | """Test creation of qemux-86-directdisk image""" | 203 | """Test creation of qemux-86-directdisk image""" |
| @@ -203,7 +205,7 @@ class Wic(oeSelfTest): | |||
| 203 | self.assertEqual(0, runCmd(cmd).status) | 205 | self.assertEqual(0, runCmd(cmd).status) |
| 204 | self.assertEqual(1, len(glob(self.resultdir + "qemux86-directdisk-*direct"))) | 206 | self.assertEqual(1, len(glob(self.resultdir + "qemux86-directdisk-*direct"))) |
| 205 | 207 | ||
| 206 | @testcase(1350) | 208 | @OETestID(1350) |
| 207 | @only_for_arch(['i586', 'i686', 'x86_64']) | 209 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 208 | def test_mkefidisk(self): | 210 | def test_mkefidisk(self): |
| 209 | """Test creation of mkefidisk image""" | 211 | """Test creation of mkefidisk image""" |
| @@ -211,7 +213,7 @@ class Wic(oeSelfTest): | |||
| 211 | self.assertEqual(0, runCmd(cmd).status) | 213 | self.assertEqual(0, runCmd(cmd).status) |
| 212 | self.assertEqual(1, len(glob(self.resultdir + "mkefidisk-*direct"))) | 214 | self.assertEqual(1, len(glob(self.resultdir + "mkefidisk-*direct"))) |
| 213 | 215 | ||
| 214 | @testcase(1385) | 216 | @OETestID(1385) |
| 215 | @only_for_arch(['i586', 'i686', 'x86_64']) | 217 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 216 | def test_bootloader_config(self): | 218 | def test_bootloader_config(self): |
| 217 | """Test creation of directdisk-bootloader-config image""" | 219 | """Test creation of directdisk-bootloader-config image""" |
| @@ -219,7 +221,7 @@ class Wic(oeSelfTest): | |||
| 219 | self.assertEqual(0, runCmd(cmd).status) | 221 | self.assertEqual(0, runCmd(cmd).status) |
| 220 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-bootloader-config-*direct"))) | 222 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-bootloader-config-*direct"))) |
| 221 | 223 | ||
| 222 | @testcase(1560) | 224 | @OETestID(1560) |
| 223 | @only_for_arch(['i586', 'i686', 'x86_64']) | 225 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 224 | def test_systemd_bootdisk(self): | 226 | def test_systemd_bootdisk(self): |
| 225 | """Test creation of systemd-bootdisk image""" | 227 | """Test creation of systemd-bootdisk image""" |
| @@ -231,7 +233,7 @@ class Wic(oeSelfTest): | |||
| 231 | self.assertEqual(0, runCmd(cmd).status) | 233 | self.assertEqual(0, runCmd(cmd).status) |
| 232 | self.assertEqual(1, len(glob(self.resultdir + "systemd-bootdisk-*direct"))) | 234 | self.assertEqual(1, len(glob(self.resultdir + "systemd-bootdisk-*direct"))) |
| 233 | 235 | ||
| 234 | @testcase(1561) | 236 | @OETestID(1561) |
| 235 | def test_sdimage_bootpart(self): | 237 | def test_sdimage_bootpart(self): |
| 236 | """Test creation of sdimage-bootpart image""" | 238 | """Test creation of sdimage-bootpart image""" |
| 237 | cmd = "wic create sdimage-bootpart -e core-image-minimal -o %s" % self.resultdir | 239 | cmd = "wic create sdimage-bootpart -e core-image-minimal -o %s" % self.resultdir |
| @@ -240,7 +242,7 @@ class Wic(oeSelfTest): | |||
| 240 | self.assertEqual(0, runCmd(cmd).status) | 242 | self.assertEqual(0, runCmd(cmd).status) |
| 241 | self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct"))) | 243 | self.assertEqual(1, len(glob(self.resultdir + "sdimage-bootpart-*direct"))) |
| 242 | 244 | ||
| 243 | @testcase(1562) | 245 | @OETestID(1562) |
| 244 | @only_for_arch(['i586', 'i686', 'x86_64']) | 246 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 245 | def test_default_output_dir(self): | 247 | def test_default_output_dir(self): |
| 246 | """Test default output location""" | 248 | """Test default output location""" |
| @@ -250,7 +252,7 @@ class Wic(oeSelfTest): | |||
| 250 | self.assertEqual(0, runCmd(cmd).status) | 252 | self.assertEqual(0, runCmd(cmd).status) |
| 251 | self.assertEqual(1, len(glob("directdisk-*.direct"))) | 253 | self.assertEqual(1, len(glob("directdisk-*.direct"))) |
| 252 | 254 | ||
| 253 | @testcase(1212) | 255 | @OETestID(1212) |
| 254 | @only_for_arch(['i586', 'i686', 'x86_64']) | 256 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 255 | def test_build_artifacts(self): | 257 | def test_build_artifacts(self): |
| 256 | """Test wic create directdisk providing all artifacts.""" | 258 | """Test wic create directdisk providing all artifacts.""" |
| @@ -269,7 +271,7 @@ class Wic(oeSelfTest): | |||
| 269 | self.assertEqual(0, status) | 271 | self.assertEqual(0, status) |
| 270 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) | 272 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-*.direct"))) |
| 271 | 273 | ||
| 272 | @testcase(1264) | 274 | @OETestID(1264) |
| 273 | def test_compress_gzip(self): | 275 | def test_compress_gzip(self): |
| 274 | """Test compressing an image with gzip""" | 276 | """Test compressing an image with gzip""" |
| 275 | self.assertEqual(0, runCmd("wic create wictestdisk " | 277 | self.assertEqual(0, runCmd("wic create wictestdisk " |
| @@ -277,7 +279,7 @@ class Wic(oeSelfTest): | |||
| 277 | "-c gzip -o %s" % self.resultdir).status) | 279 | "-c gzip -o %s" % self.resultdir).status) |
| 278 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.gz"))) | 280 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.gz"))) |
| 279 | 281 | ||
| 280 | @testcase(1265) | 282 | @OETestID(1265) |
| 281 | def test_compress_bzip2(self): | 283 | def test_compress_bzip2(self): |
| 282 | """Test compressing an image with bzip2""" | 284 | """Test compressing an image with bzip2""" |
| 283 | self.assertEqual(0, runCmd("wic create wictestdisk " | 285 | self.assertEqual(0, runCmd("wic create wictestdisk " |
| @@ -285,7 +287,7 @@ class Wic(oeSelfTest): | |||
| 285 | "-c bzip2 -o %s" % self.resultdir).status) | 287 | "-c bzip2 -o %s" % self.resultdir).status) |
| 286 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.bz2"))) | 288 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.bz2"))) |
| 287 | 289 | ||
| 288 | @testcase(1266) | 290 | @OETestID(1266) |
| 289 | def test_compress_xz(self): | 291 | def test_compress_xz(self): |
| 290 | """Test compressing an image with xz""" | 292 | """Test compressing an image with xz""" |
| 291 | self.assertEqual(0, runCmd("wic create wictestdisk " | 293 | self.assertEqual(0, runCmd("wic create wictestdisk " |
| @@ -293,7 +295,7 @@ class Wic(oeSelfTest): | |||
| 293 | "--compress-with=xz -o %s" % self.resultdir).status) | 295 | "--compress-with=xz -o %s" % self.resultdir).status) |
| 294 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.xz"))) | 296 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct.xz"))) |
| 295 | 297 | ||
| 296 | @testcase(1267) | 298 | @OETestID(1267) |
| 297 | def test_wrong_compressor(self): | 299 | def test_wrong_compressor(self): |
| 298 | """Test how wic breaks if wrong compressor is provided""" | 300 | """Test how wic breaks if wrong compressor is provided""" |
| 299 | self.assertEqual(2, runCmd("wic create wictestdisk " | 301 | self.assertEqual(2, runCmd("wic create wictestdisk " |
| @@ -301,7 +303,7 @@ class Wic(oeSelfTest): | |||
| 301 | "-c wrong -o %s" % self.resultdir, | 303 | "-c wrong -o %s" % self.resultdir, |
| 302 | ignore_status=True).status) | 304 | ignore_status=True).status) |
| 303 | 305 | ||
| 304 | @testcase(1558) | 306 | @OETestID(1558) |
| 305 | def test_debug_short(self): | 307 | def test_debug_short(self): |
| 306 | """Test -D option""" | 308 | """Test -D option""" |
| 307 | self.assertEqual(0, runCmd("wic create wictestdisk " | 309 | self.assertEqual(0, runCmd("wic create wictestdisk " |
| @@ -316,7 +318,7 @@ class Wic(oeSelfTest): | |||
| 316 | "--debug -o %s" % self.resultdir).status) | 318 | "--debug -o %s" % self.resultdir).status) |
| 317 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) | 319 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) |
| 318 | 320 | ||
| 319 | @testcase(1563) | 321 | @OETestID(1563) |
| 320 | def test_skip_build_check_short(self): | 322 | def test_skip_build_check_short(self): |
| 321 | """Test -s option""" | 323 | """Test -s option""" |
| 322 | self.assertEqual(0, runCmd("wic create wictestdisk " | 324 | self.assertEqual(0, runCmd("wic create wictestdisk " |
| @@ -332,7 +334,7 @@ class Wic(oeSelfTest): | |||
| 332 | "--outdir %s" % self.resultdir).status) | 334 | "--outdir %s" % self.resultdir).status) |
| 333 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) | 335 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) |
| 334 | 336 | ||
| 335 | @testcase(1564) | 337 | @OETestID(1564) |
| 336 | def test_build_rootfs_short(self): | 338 | def test_build_rootfs_short(self): |
| 337 | """Test -f option""" | 339 | """Test -f option""" |
| 338 | self.assertEqual(0, runCmd("wic create wictestdisk " | 340 | self.assertEqual(0, runCmd("wic create wictestdisk " |
| @@ -348,7 +350,7 @@ class Wic(oeSelfTest): | |||
| 348 | "--outdir %s" % self.resultdir).status) | 350 | "--outdir %s" % self.resultdir).status) |
| 349 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) | 351 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*.direct"))) |
| 350 | 352 | ||
| 351 | @testcase(1268) | 353 | @OETestID(1268) |
| 352 | @only_for_arch(['i586', 'i686', 'x86_64']) | 354 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 353 | def test_rootfs_indirect_recipes(self): | 355 | def test_rootfs_indirect_recipes(self): |
| 354 | """Test usage of rootfs plugin with rootfs recipes""" | 356 | """Test usage of rootfs plugin with rootfs recipes""" |
| @@ -360,7 +362,7 @@ class Wic(oeSelfTest): | |||
| 360 | self.assertEqual(0, status) | 362 | self.assertEqual(0, status) |
| 361 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-multi-rootfs*.direct"))) | 363 | self.assertEqual(1, len(glob(self.resultdir + "directdisk-multi-rootfs*.direct"))) |
| 362 | 364 | ||
| 363 | @testcase(1269) | 365 | @OETestID(1269) |
| 364 | @only_for_arch(['i586', 'i686', 'x86_64']) | 366 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 365 | def test_rootfs_artifacts(self): | 367 | def test_rootfs_artifacts(self): |
| 366 | """Test usage of rootfs plugin with rootfs paths""" | 368 | """Test usage of rootfs plugin with rootfs paths""" |
| @@ -506,7 +508,7 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r | |||
| 506 | % (wks_file, self.resultdir), ignore_status=True).status) | 508 | % (wks_file, self.resultdir), ignore_status=True).status) |
| 507 | os.remove(wks_file) | 509 | os.remove(wks_file) |
| 508 | 510 | ||
| 509 | @testcase(1496) | 511 | @OETestID(1496) |
| 510 | def test_bmap_short(self): | 512 | def test_bmap_short(self): |
| 511 | """Test generation of .bmap file -m option""" | 513 | """Test generation of .bmap file -m option""" |
| 512 | cmd = "wic create wictestdisk -e core-image-minimal -m -o %s" % self.resultdir | 514 | cmd = "wic create wictestdisk -e core-image-minimal -m -o %s" % self.resultdir |
| @@ -533,7 +535,7 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r | |||
| 533 | self.wicenv_cache[image] = os.path.join(stdir, machine, 'imgdata') | 535 | self.wicenv_cache[image] = os.path.join(stdir, machine, 'imgdata') |
| 534 | return self.wicenv_cache[image] | 536 | return self.wicenv_cache[image] |
| 535 | 537 | ||
| 536 | @testcase(1347) | 538 | @OETestID(1347) |
| 537 | def test_image_env(self): | 539 | def test_image_env(self): |
| 538 | """Test generation of <image>.env files.""" | 540 | """Test generation of <image>.env files.""" |
| 539 | image = 'core-image-minimal' | 541 | image = 'core-image-minimal' |
| @@ -556,7 +558,7 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r | |||
| 556 | self.assertTrue(var in content, "%s is not in .env file" % var) | 558 | self.assertTrue(var in content, "%s is not in .env file" % var) |
| 557 | self.assertTrue(content[var]) | 559 | self.assertTrue(content[var]) |
| 558 | 560 | ||
| 559 | @testcase(1559) | 561 | @OETestID(1559) |
| 560 | def test_image_vars_dir_short(self): | 562 | def test_image_vars_dir_short(self): |
| 561 | """Test image vars directory selection -v option""" | 563 | """Test image vars directory selection -v option""" |
| 562 | image = 'core-image-minimal' | 564 | image = 'core-image-minimal' |
| @@ -578,7 +580,7 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r | |||
| 578 | % (image, imgenvdir, self.resultdir)).status) | 580 | % (image, imgenvdir, self.resultdir)).status) |
| 579 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct"))) | 581 | self.assertEqual(1, len(glob(self.resultdir + "wictestdisk-*direct"))) |
| 580 | 582 | ||
| 581 | @testcase(1351) | 583 | @OETestID(1351) |
| 582 | @only_for_arch(['i586', 'i686', 'x86_64']) | 584 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 583 | def test_wic_image_type(self): | 585 | def test_wic_image_type(self): |
| 584 | """Test building wic images by bitbake""" | 586 | """Test building wic images by bitbake""" |
| @@ -599,7 +601,7 @@ part /etc --source rootfs --ondisk mmcblk0 --fstype=ext4 --exclude-path bin/ --r | |||
| 599 | self.assertTrue(os.path.islink(path)) | 601 | self.assertTrue(os.path.islink(path)) |
| 600 | self.assertTrue(os.path.isfile(os.path.realpath(path))) | 602 | self.assertTrue(os.path.isfile(os.path.realpath(path))) |
| 601 | 603 | ||
| 602 | @testcase(1422) | 604 | @OETestID(1422) |
| 603 | @only_for_arch(['i586', 'i686', 'x86_64']) | 605 | @only_for_arch(['i586', 'i686', 'x86_64']) |
| 604 | def test_qemu(self): | 606 | def test_qemu(self): |
| 605 | """Test wic-image-minimal under qemu""" | 607 | """Test wic-image-minimal under qemu""" |
