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""" |